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

itk::LightProcessObject Class Reference
[ITK System ObjectsData Processing Objects]

LightProcessObject is the base class for all process objects (source, filters, mappers) in the Insight data processing pipeline. More...

#include <itkLightProcessObject.h>

Inheritance diagram for itk::LightProcessObject:

Inheritance graph
[legend]
Collaboration diagram for itk::LightProcessObject:

Collaboration graph
[legend]
List of all members.

Public Types

typedef LightProcessObject Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void SetAbortGenerateData (bool _arg)
virtual const bool & GetAbortGenerateData ()
virtual void AbortGenerateDataOn ()
virtual void AbortGenerateDataOff ()
void UpdateProgress (float amount)
virtual void UpdateOutputData ()
virtual void SetProgress (float _arg)
virtual const float & GetProgress ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 LightProcessObject ()
 ~LightProcessObject ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void GenerateData ()

Detailed Description

LightProcessObject is the base class for all process objects (source, filters, mappers) in the Insight data processing pipeline.

LightProcessObject is an abstract object that specifies behavior and interface of visualization network process objects (sources, filters, mappers). Source objects are creators of visualization data; filters input, process, and output visualization data; and mappers transform data into another form (like rendering primitives or write data to a file).

A major role of LightProcessObject is to define the inputs and outputs of a filter. More than one input and/or output may exist for a given filter. Some classes (e.g., source objects or mapper objects) will not use inputs (the source) or outputs (mappers). In this case, the inputs or outputs is just ignored.

LightProcessObject invokes the following events: , Command::StartEvent, Command::EndEvent These are convenience events you can use for any purpose (e.g., debugging info, highlighting/notifying user interface, etc.) See Command and LightObject for information on using AddObserver.

Another event Command::ProgressEvent can be observed. Some filters invoke this event periodically during their execution (with the progress, parameter, the fraction of work done). The use is similar to that of StartEvent and EndEvent. Filters may also check their AbortGenerateData flag to determine whether to prematurally end their execution.

An important feature of subclasses of LightProcessObject is that it is possible to control the memory-management model (i.e., retain output versus delete output data). If enabled the ReleaseDataFlag enables the deletion of the output data once the downstream process object finishes processing the data (please see text).

Subclasses of LightProcessObject may override 4 of the methods of this class to control how a given filter may interact with the pipeline (dataflow). These methods are: GenerateOutputInformation(), EnlargeOutputRequestedRegion(), GenerateInputRequestedRegion(), and GenerateOutputRequestedRegion(). By overriding these methods, a filter can deviate from the base assumptions of the pipeline execution model.

Definition at line 71 of file itkLightProcessObject.h.


Member Typedef Documentation

typedef SmartPointer<const Self> itk::LightProcessObject::ConstPointer
 

Reimplemented from itk::Object.

Reimplemented in itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::Statistics::SampleClassifier< TSample >, and itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 78 of file itkLightProcessObject.h.

typedef SmartPointer<Self> itk::LightProcessObject::Pointer
 

Reimplemented from itk::Object.

Reimplemented in itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GE4ImageIO, itk::GE5ImageIO, itk::GEAdwImageIO, itk::GiplImageIO, itk::ImageIOBase, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::PolygonGroupSpatialObjectXMLFileReader, itk::PolygonGroupSpatialObjectXMLFileWriter, itk::RawImageIO< TPixel, VImageDimension >, itk::SiemensVisionImageIO, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, and itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

Definition at line 77 of file itkLightProcessObject.h.

typedef LightProcessObject itk::LightProcessObject::Self
 

Standard class typedefs.

Reimplemented from itk::Object.

Reimplemented in itk::ClassifierBase< TDataContainer >, itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GE4ImageIO, itk::GE5ImageIO, itk::GEAdwImageIO, itk::GiplImageIO, itk::ImageIOBase, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::PolygonGroupSpatialObjectXMLFileReader, itk::PolygonGroupSpatialObjectXMLFileWriter, itk::RawImageIO< TPixel, VImageDimension >, itk::SiemensVisionImageIO, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >, itk::ClassifierBase< TInputImage >, and itk::ClassifierBase< TSample >.

Definition at line 75 of file itkLightProcessObject.h.

Referenced by GenerateData().

typedef Object itk::LightProcessObject::Superclass
 

Reimplemented from itk::Object.

Reimplemented in itk::ClassifierBase< TDataContainer >, itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GE4ImageIO, itk::GE5ImageIO, itk::GEAdwImageIO, itk::GiplImageIO, itk::ImageIOBase, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::PolygonGroupSpatialObjectXMLFileReader, itk::PolygonGroupSpatialObjectXMLFileWriter, itk::RawImageIO< TPixel, VImageDimension >, itk::SiemensVisionImageIO, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >, itk::ClassifierBase< TInputImage >, and itk::ClassifierBase< TSample >.

Definition at line 76 of file itkLightProcessObject.h.


Constructor & Destructor Documentation

itk::LightProcessObject::LightProcessObject  )  [protected]
 

itk::LightProcessObject::~LightProcessObject  )  [protected]
 


Member Function Documentation

virtual void itk::LightProcessObject::AbortGenerateDataOff  )  [virtual]
 

virtual void itk::LightProcessObject::AbortGenerateDataOn  )  [virtual]
 

Turn on and off the AbortGenerateData flag.

virtual void itk::LightProcessObject::GenerateData void   )  [inline, protected, virtual]
 

This method causes the filter to generate its output.

Reimplemented in itk::ClassifierBase< TDataContainer >, itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::Statistics::SampleClassifier< TSample >, itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >, itk::ClassifierBase< TInputImage >, and itk::ClassifierBase< TSample >.

Definition at line 123 of file itkLightProcessObject.h.

References Self.

virtual const bool& itk::LightProcessObject::GetAbortGenerateData  )  [virtual]
 

Get the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

virtual const char* itk::LightProcessObject::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::Object.

Reimplemented in itk::ClassifierBase< TDataContainer >, itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GE4ImageIO, itk::GE5ImageIO, itk::GEAdwImageIO, itk::GiplImageIO, itk::ImageIOBase, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::PolygonGroupSpatialObjectXMLFileReader, itk::PolygonGroupSpatialObjectXMLFileWriter, itk::RawImageIO< TPixel, VImageDimension >, itk::SiemensVisionImageIO, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >, itk::ClassifierBase< TInputImage >, and itk::ClassifierBase< TSample >.

virtual const float& itk::LightProcessObject::GetProgress  )  [virtual]
 

Get the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.

Pointer itk::LightProcessObject::New  )  [static]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

Reimplemented in itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GE4ImageIO, itk::GE5ImageIO, itk::GEAdwImageIO, itk::GiplImageIO, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::PolygonGroupSpatialObjectXMLFileReader, itk::PolygonGroupSpatialObjectXMLFileWriter, itk::RawImageIO< TPixel, VImageDimension >, itk::SiemensVisionImageIO, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, and itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >.

void itk::LightProcessObject::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

Reimplemented in itk::ClassifierBase< TDataContainer >, itk::ImageClassifierBase< TInputImage, TClassifiedImage >, itk::ImageGaussianModelEstimator< TInputImage, TMembershipFunction, TTrainingImage >, itk::ImageKmeansModelEstimator< TInputImage, TMembershipFunction >, itk::ImageModelEstimatorBase< TInputImage, TMembershipFunction >, itk::LevelSetNeighborhoodExtractor< TLevelSet >, itk::LevelSetVelocityNeighborhoodExtractor< TLevelSet, TAuxValue, VAuxDimension >, itk::AnalyzeImageIO, itk::Brains2MaskImageIO, itk::DicomImageIO, itk::DICOMImageIO2, itk::GiplImageIO, itk::ImageIOBase, itk::IPLCommonImageIO, itk::JPEGImageIO, itk::MetaImageIO, itk::PNGImageIO, itk::RawImageIO< TPixel, VImageDimension >, itk::StimulateImageIO, itk::TIFFImageIO, itk::VTKImageIO, itk::Statistics::SampleClassifier< TSample >, itk::Statistics::SampleClassifierWithMask< TSample, TMaskSample >, itk::ClassifierBase< TInputImage >, and itk::ClassifierBase< TSample >.

virtual void itk::LightProcessObject::SetAbortGenerateData bool  _arg  )  [virtual]
 

Set the AbortGenerateData flag for the process object. Process objects may handle premature termination of execution in different ways.

virtual void itk::LightProcessObject::SetProgress float  _arg  )  [virtual]
 

Set the execution progress of a process object. The progress is a floating number between (0,1), 0 meaning no progress; 1 meaning the filter has completed execution.

virtual void itk::LightProcessObject::UpdateOutputData  )  [virtual]
 

Actually generate new output.

void itk::LightProcessObject::UpdateProgress float  amount  ) 
 

Update the progress of the process object. If a ProgressMethod exists, executes it. Then set the Progress ivar to amount. The parameter amount should range between (0,1).


The documentation for this class was generated from the following file:
Generated at Sun Apr 1 03:09:53 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000