ITK  4.9.0
Insight Segmentation and Registration Toolkit
Public Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::ProgressReporter Class Reference

#include <itkProgressReporter.h>

+ Collaboration diagram for itk::ProgressReporter:

Detailed Description

Implements progress tracking for a filter.

This is a utility class for use by filter implementations in GenerateData() and ThreadedGenerateData().

The class constructor sets the progress to 0, and the destructor sets it to 1. In between, there should be one call to CompletedPixel() per pixel. The reporter will automatically update the filter's progress at an interval resulting in the specified number of updates. The default number of updates is 100.

Example usage:

* ProgressReporter progress(this, threadId,
* threadRegion.GetNumberOfPixels(), 100);
* for( each pixel )
* {
* ...
* progress.CompletedPixel();
* }
*

When used in a non-threaded filter, the threadId argument should be 0.

See Also
This class is a tool for filter implementers to equip a filter to report on its progress. For information on how to acquire this progress information, see:

Definition at line 60 of file itkProgressReporter.h.

Public Member Functions

 ProgressReporter (ProcessObject *filter, ThreadIdType threadId, SizeValueType numberOfPixels, SizeValueType numberOfUpdates=100, float initialProgress=0.0f, float progressWeight=1.0f)
 
 ~ProgressReporter ()
 
void CompletedPixel ()
 

Protected Attributes

SizeValueType m_CurrentPixel
 
ProcessObjectm_Filter
 
float m_InitialProgress
 
float m_InverseNumberOfPixels
 
SizeValueType m_PixelsBeforeUpdate
 
SizeValueType m_PixelsPerUpdate
 
float m_ProgressWeight
 
ThreadIdType m_ThreadId
 

Private Member Functions

 ProgressReporter () ITK_DELETE_FUNCTION
 

Constructor & Destructor Documentation

itk::ProgressReporter::ProgressReporter ( ProcessObject filter,
ThreadIdType  threadId,
SizeValueType  numberOfPixels,
SizeValueType  numberOfUpdates = 100,
float  initialProgress = 0.0f,
float  progressWeight = 1.0f 
)

Constructor sets progress to 0 because the filter is starting.

itk::ProgressReporter::~ProgressReporter ( )

Destructor sets progress to 1 because the filter has finished.

itk::ProgressReporter::ProgressReporter ( )
private

Member Function Documentation

void itk::ProgressReporter::CompletedPixel ( )
inline

Member Data Documentation

SizeValueType itk::ProgressReporter::m_CurrentPixel
protected

Definition at line 104 of file itkProgressReporter.h.

ProcessObject* itk::ProgressReporter::m_Filter
protected

Definition at line 101 of file itkProgressReporter.h.

float itk::ProgressReporter::m_InitialProgress
protected

Definition at line 107 of file itkProgressReporter.h.

float itk::ProgressReporter::m_InverseNumberOfPixels
protected

Definition at line 103 of file itkProgressReporter.h.

SizeValueType itk::ProgressReporter::m_PixelsBeforeUpdate
protected

Definition at line 106 of file itkProgressReporter.h.

SizeValueType itk::ProgressReporter::m_PixelsPerUpdate
protected

Definition at line 105 of file itkProgressReporter.h.

float itk::ProgressReporter::m_ProgressWeight
protected

Definition at line 108 of file itkProgressReporter.h.

ThreadIdType itk::ProgressReporter::m_ThreadId
protected

Definition at line 102 of file itkProgressReporter.h.


The documentation for this class was generated from the following file: