Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::IterationReporter Class Reference

Implements iterations tracking for a filter. More...

#include <itkIterationReporter.h>

Collaboration diagram for itk::IterationReporter:

Collaboration graph
[legend]
List of all members.

Public Methods

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

Protected Attributes

ProcessObjectm_Filter
int m_ThreadId
unsigned long m_StepsPerUpdate
unsigned long m_StepsBeforeUpdate

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 54 of file itkIterationReporter.h.


Constructor & Destructor Documentation

itk::IterationReporter::IterationReporter ProcessObject   filter,
int    threadId,
unsigned long    stepsPerUpdate = 100
 

Constructor sets progress to 0 because the filter is starting.

itk::IterationReporter::~IterationReporter   [inline]
 

Destructor

Definition at line 62 of file itkIterationReporter.h.


Member Function Documentation

void itk::IterationReporter::CompletedStep   [inline]
 

Called by a filter once per iteration.

Definition at line 65 of file itkIterationReporter.h.

References itk::Object::InvokeEvent(), m_Filter, m_StepsBeforeUpdate, and m_StepsPerUpdate.


Member Data Documentation

ProcessObject* itk::IterationReporter::m_Filter [protected]
 

Definition at line 78 of file itkIterationReporter.h.

Referenced by CompletedStep().

unsigned long itk::IterationReporter::m_StepsBeforeUpdate [protected]
 

Definition at line 81 of file itkIterationReporter.h.

Referenced by CompletedStep().

unsigned long itk::IterationReporter::m_StepsPerUpdate [protected]
 

Definition at line 80 of file itkIterationReporter.h.

Referenced by CompletedStep().

int itk::IterationReporter::m_ThreadId [protected]
 

Definition at line 79 of file itkIterationReporter.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:18:24 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000