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

#include <itkIterationReporter.h>

+ Collaboration diagram for itk::IterationReporter:

Detailed Description

Implements iterations tracking for a filter.

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

This class is intended to be used in iterative filter for which a progress cannot be stablished. These filters run until an stopping criterion is reached and it is not possible to anticipate how long it will take to get to the stopping point.

This class is constructed before entering the iteration loop in the filter. The CompletedStep() method should be called at every iteration. The reporter will count the number of calls and will invoke an IterationEvent every certain number of calls. The default period is 100.

Example usage:

IterationReporter iteration(this, threadId, 100);

for( each pixel ) { ... iteration.CompletedStep(); }

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

Definition at line 55 of file itkIterationReporter.h.

Public Member Functions

 IterationReporter (ProcessObject *filter, ThreadIdType threadId, unsigned long stepsPerUpdate=100)
 
 ~IterationReporter ()=default
 
void CompletedStep ()
 

Protected Attributes

ProcessObjectm_Filter
 
unsigned long m_StepsBeforeUpdate
 
unsigned long m_StepsPerUpdate
 
ThreadIdType m_ThreadId
 

Constructor & Destructor Documentation

itk::IterationReporter::IterationReporter ( ProcessObject filter,
ThreadIdType  threadId,
unsigned long  stepsPerUpdate = 100 
)

Constructor sets progress to 0 because the filter is starting.

itk::IterationReporter::~IterationReporter ( )
default

Destructor

Member Function Documentation

void itk::IterationReporter::CompletedStep ( )
inline

Called by a filter once per iteration.

Definition at line 66 of file itkIterationReporter.h.

Member Data Documentation

ProcessObject* itk::IterationReporter::m_Filter
protected

Definition at line 81 of file itkIterationReporter.h.

unsigned long itk::IterationReporter::m_StepsBeforeUpdate
protected

Definition at line 84 of file itkIterationReporter.h.

unsigned long itk::IterationReporter::m_StepsPerUpdate
protected

Definition at line 83 of file itkIterationReporter.h.

ThreadIdType itk::IterationReporter::m_ThreadId
protected

Definition at line 82 of file itkIterationReporter.h.


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