Orfeo Toolbox  3.16
Public Member Functions | Protected Attributes | Private Member Functions
itk::ProgressReporter Class Reference

Implements progress tracking for a filter. More...

#include <itkProgressReporter.h>

+ Collaboration diagram for itk::ProgressReporter:

List of all members.

Public Member Functions

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

Protected Attributes

unsigned long m_CurrentPixel
ProcessObjectm_Filter
float m_InitialProgress
float m_InverseNumberOfPixels
unsigned long m_PixelsBeforeUpdate
unsigned long m_PixelsPerUpdate
float m_ProgressWeight
int m_ThreadId

Private Member Functions

 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 58 of file itkProgressReporter.h.


Constructor & Destructor Documentation

itk::ProgressReporter::ProgressReporter ( ProcessObject filter,
int  threadId,
unsigned long  numberOfPixels,
unsigned long  numberOfUpdates = 100,
float  initialProgress = 0.0f,
float  progressWeight = 1.0f 
)

Constructor sets progress to 0 because the filter is starting.

Definition at line 24 of file itkProgressReporter.cxx.

References m_Filter, m_InitialProgress, m_InverseNumberOfPixels, m_PixelsBeforeUpdate, m_PixelsPerUpdate, m_ThreadId, and itk::ProcessObject::UpdateProgress().

itk::ProgressReporter::~ProgressReporter ( )

Destructor sets progress to 1 because the filter has finished.

Definition at line 67 of file itkProgressReporter.cxx.

References m_Filter, m_InitialProgress, m_ProgressWeight, m_ThreadId, and itk::ProcessObject::UpdateProgress().

itk::ProgressReporter::ProgressReporter ( )
private

Member Function Documentation

void itk::ProgressReporter::CompletedPixel ( )
inline

Called by a filter once per pixel.

Definition at line 72 of file itkProgressReporter.h.

References itk::ExceptionObject::SetDescription().

Referenced by itk::BinaryImageToLabelMapFilter< TInputImage, TOutputImage >::AfterThreadedGenerateData(), itk::BoxAccumulateFunction(), itk::BoxMeanCalculatorFunction(), itk::BoxSigmaCalculatorFunction(), itk::BoxSquareAccumulateFunction(), otb::BSplineDecompositionImageFilter< TInputImage, TOutputImage >::DataToCoefficientsND(), itk::BSplineDecompositionImageFilter< TInputImage, TOutputImage >::DataToCoefficientsND(), itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >::Expand1DImage(), itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Expand1DImage(), otb::Statistics::ConcatenateSampleListFilter< TSampleList >::GenerateData(), otb::VectorImageToImageListFilter< TVectorImageType, TImageList >::GenerateData(), itk::ParametricSpaceToImageSpaceMeshFilter< TInputMesh, TOutputMesh >::GenerateData(), otb::ImageMultiSegmentationToRCC8GraphFilter< TInputImage, TOutputGraph >::GenerateData(), otb::Statistics::ShiftScaleSampleListFilter< TInputSampleList, TOutputSampleList >::GenerateData(), itk::AggregateLabelMapFilter< TImage >::GenerateData(), itk::ReflectImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::ImageToParametricSpaceFilter< TInputImage, TOutputMesh >::GenerateData(), itk::RelabelLabelMapFilter< TImage >::GenerateData(), itk::InteriorExteriorMeshFilter< TInputMesh, TOutputMesh, TSpatialFunction >::GenerateData(), itk::ShiftScaleLabelMapFilter< TImage >::GenerateData(), itk::AttributeRelabelLabelMapFilter< TImage, TAttributeAccessor >::GenerateData(), itk::BinaryMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >::GenerateData(), itk::AttributeKeepNObjectsLabelMapFilter< TImage, TAttributeAccessor >::GenerateData(), itk::BinomialBlurImageFilter< TInputImage, TOutputImage >::GenerateData(), otb::SparseWvltToAngleMapperListFilter< TInputImageList, TOutputSampleList, VNbInputImages >::GenerateData(), itk::AttributeOpeningLabelMapFilter< TImage, TAttributeAccessor >::GenerateData(), otb::LabelObjectOpeningMuParserFilter< TImage, TFunction >::GenerateData(), itk::BinaryMaskToNarrowBandPointSetFilter< TInputImage, TOutputMesh >::GenerateData(), itk::HardConnectedComponentImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::GaussianImageSource< TOutputImage >::GenerateData(), itk::NeighborhoodConnectedImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::RegionalMinimaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::AttributeSelectionLabelMapFilter< TImage, TAttributeAccessor >::GenerateData(), itk::RegionalMaximaImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::ExponentialDeformationFieldImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::AttributeMorphologyBaseImageFilter< TInputImage, TOutputImage, TAttribute, TFunction >::GenerateData(), itk::VotingBinaryIterativeHoleFillingImageFilter< TImage >::GenerateData(), itk::ReconstructionImageFilter< TInputImage, TOutputImage, TCompare >::GenerateData(), itk::DeformationFieldSource< TOutputImage >::GenerateData(), itk::ValuedRegionalExtremaImageFilter< TInputImage, TOutputImage, TFunction1, TFunction2 >::GenerateData(), itk::SliceBySliceImageFilter< TInputImage, TOutputImage, TInputFilter, TOutputFilter, TInternalInputImage, TInternalOutputImage >::GenerateData(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GenerateData(), itk::IsolatedConnectedImageFilter< TInputImage, TOutputImage >::GenerateData(), otb::FastICAImageFilter< TInputImage, TOutputImage, TDirectionOfTransformation >::GenerateTransformationMatrix(), itk::MergeLabelMapFilter< TImage >::MergeWithAggregate(), itk::MergeLabelMapFilter< TImage >::MergeWithKeep(), itk::MergeLabelMapFilter< TImage >::MergeWithPack(), itk::MergeLabelMapFilter< TImage >::MergeWithStrict(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::NonlinearThreadedGenerateData(), otb::OGRLayerStreamStitchingFilter< TInputImage >::ProcessStreamingLine(), itk::BSplineCenteredResampleImageFilterBase< TInputImage, TOutputImage >::Reduce1DImage(), itk::BSplineResampleImageFilterBase< TInputImage, TOutputImage >::Reduce1DImage(), itk::ShapeRelabelLabelMapFilter< TImage >::TemplatedGenerateData(), itk::ShapeOpeningLabelMapFilter< TImage >::TemplatedGenerateData(), itk::ShapeKeepNObjectsLabelMapFilter< TImage >::TemplatedGenerateData(), otb::UnaryFunctorObjectListBooleanFilter< TInputList, TOutputList, TFunction >::ThreadedGenerateData(), otb::UnaryFunctorObjectListFilter< TInputList, TOutputList, TFunction >::ThreadedGenerateData(), itk::RecursiveSeparableImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), otb::ThresholdVectorImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), otb::ClampImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::PermuteAxesImageFilter< TImage >::ThreadedGenerateData(), otb::ClampVectorImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::TwoOutputExampleImageFilter< TImage >::ThreadedGenerateData(), itk::ThresholdImageFilter< TImage >::ThreadedGenerateData(), itk::FlipImageFilter< TImage >::ThreadedGenerateData(), otb::PolygonListToRCC8GraphFilter< TPolygonList, TOutputGraph >::ThreadedGenerateData(), itk::LabelContourImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::LabelMapMaskImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::SignedMaurerDistanceMapImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::BinaryImageToLabelMapFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::BinaryContourImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), itk::ConnectedComponentImageFilter< TInputImage, TOutputImage, TMaskImage >::ThreadedGenerateData(), itk::VectorExpandImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData(), otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ThreadedGenerateData(), otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::FORWARD >::ThreadedGenerateDataAtDimensionN(), and otb::WaveletFilterBank< TInputImage, TOutputImage, TWaveletOperator, Wavelet::INVERSE >::ThreadedGenerateDataAtDimensionN().


Member Data Documentation

unsigned long itk::ProgressReporter::m_CurrentPixel
protected

Definition at line 101 of file itkProgressReporter.h.

ProcessObject* itk::ProgressReporter::m_Filter
protected

Definition at line 98 of file itkProgressReporter.h.

Referenced by ProgressReporter(), and ~ProgressReporter().

float itk::ProgressReporter::m_InitialProgress
protected

Definition at line 104 of file itkProgressReporter.h.

Referenced by ProgressReporter(), and ~ProgressReporter().

float itk::ProgressReporter::m_InverseNumberOfPixels
protected

Definition at line 100 of file itkProgressReporter.h.

Referenced by ProgressReporter().

unsigned long itk::ProgressReporter::m_PixelsBeforeUpdate
protected

Definition at line 103 of file itkProgressReporter.h.

Referenced by ProgressReporter().

unsigned long itk::ProgressReporter::m_PixelsPerUpdate
protected

Definition at line 102 of file itkProgressReporter.h.

Referenced by ProgressReporter().

float itk::ProgressReporter::m_ProgressWeight
protected

Definition at line 105 of file itkProgressReporter.h.

Referenced by ~ProgressReporter().

int itk::ProgressReporter::m_ThreadId
protected

Definition at line 99 of file itkProgressReporter.h.

Referenced by ProgressReporter(), and ~ProgressReporter().


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

Generated at Sun Feb 3 2013 02:21:27 for Orfeo Toolbox with doxygen 1.8.1.1