ITK  5.4.0
Insight Toolkit
Public Member Functions | Protected Attributes | List of all members
itk::IterationReporter Class Reference

#include <itkIterationReporter.h>

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 established. 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.

+ Collaboration diagram for itk::IterationReporter:

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

◆ IterationReporter()

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

Constructor sets progress to 0 because the filter is starting.

◆ ~IterationReporter()

itk::IterationReporter::~IterationReporter ( )
default

Destructor

Member Function Documentation

◆ CompletedStep()

void itk::IterationReporter::CompletedStep ( )
inline

Called by a filter once per iteration.

Definition at line 66 of file itkIterationReporter.h.

Member Data Documentation

◆ m_Filter

ProcessObject* itk::IterationReporter::m_Filter
protected

Definition at line 81 of file itkIterationReporter.h.

◆ m_StepsBeforeUpdate

unsigned long itk::IterationReporter::m_StepsBeforeUpdate
protected

Definition at line 84 of file itkIterationReporter.h.

◆ m_StepsPerUpdate

unsigned long itk::IterationReporter::m_StepsPerUpdate
protected

Definition at line 83 of file itkIterationReporter.h.

◆ m_ThreadId

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: