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

itk::DataObject Class Reference
[Data Representation ObjectsITK System Objects]

Base class for all data objects in ITK. More...

#include <itkDataObject.h>

Inheritance diagram for itk::DataObject:

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

Collaboration graph
[legend]
List of all members.

[NOHEADER]

void GlobalReleaseDataFlagOn ()
void GlobalReleaseDataFlagOff ()
void SetGlobalReleaseDataFlag (const bool val)
bool GetGlobalReleaseDataFlag ()

Public Types

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

Public Member Functions

virtual const char * GetClassName () const
void DisconnectPipeline () const
SmartPointerForwardReference<
ProcessObject
GetSource () const
unsigned int GetSourceOutputIndex () const
virtual void Initialize ()
void ReleaseData ()
bool ShouldIReleaseData () const
bool GetDataReleased () const
virtual void Update ()
virtual void UpdateOutputInformation ()=0
virtual void ResetPipeline ()
virtual void PrepareForNewData ()
void DataHasBeenGenerated ()
virtual void SetRequestedRegionToLargestPossibleRegion ()=0
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()=0
virtual bool VerifyRequestedRegion ()=0
virtual void CopyInformation (const DataObject *)
virtual void SetRequestedRegion (DataObject *data)=0
virtual void SetReleaseDataFlag (bool _arg)
virtual bool GetReleaseDataFlag ()
virtual void ReleaseDataFlagOn ()
virtual void ReleaseDataFlagOff ()
virtual void PropagateRequestedRegion () throw (InvalidRequestedRegionError)
virtual void UpdateOutputData ()
void SetPipelineMTime (unsigned long time)
virtual unsigned long GetPipelineMTime () const

Protected Member Functions

 DataObject ()
 ~DataObject ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual void PropagateResetPipeline ()

Protected Attributes

bool m_LastRequestedRegionWasOutsideOfTheBufferedRegion
bool m_RequestedRegionInitialized

Detailed Description

Base class for all data objects in ITK.

This is the base class for all data objects in the Insight data processing pipeline. A data object is an object that represents and provides access to data. ProcessObjects (i.e., filters) operate on input data objects, producing new data objects as output. ProcessObject and DataObject are connected together into data flow pipelines.

See also:
ProcessObject

ImageBase

Mesh

Definition at line 136 of file itkDataObject.h.


Member Typedef Documentation

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

Reimplemented from itk::Object.

Reimplemented in itk::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 143 of file itkDataObject.h.

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

Reimplemented from itk::Object.

Reimplemented in itk::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 142 of file itkDataObject.h.

typedef DataObject itk::DataObject::Self
 

Standard class typedefs.

Reimplemented from itk::Object.

Reimplemented in itk::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 140 of file itkDataObject.h.

typedef Object itk::DataObject::Superclass
 

Reimplemented from itk::Object.

Reimplemented in itk::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, and itk::PolygonGroupSpatialObject< 3 >.

Definition at line 141 of file itkDataObject.h.


Constructor & Destructor Documentation

itk::DataObject::DataObject  )  [protected]
 

itk::DataObject::~DataObject  )  [protected]
 


Member Function Documentation

virtual void itk::DataObject::CopyInformation const DataObject  )  [inline, virtual]
 

Copy information from the specified data set. This method is part of the pipeline execution model. By default, a ProcessObject will copy meta-data from the first input to all of its outputs. See ProcessObject::GenerateOutputInformation(). Each subclass of DataObject is responsible for being able to copy whatever meta-data it needs from from another DataObject. The default implementation of this method is empty. If a subclass overrides this method, it should always call its superclass' version.

Reimplemented in itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::SpatialObject< TDimension >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

Definition at line 301 of file itkDataObject.h.

void itk::DataObject::DataHasBeenGenerated  ) 
 

Inform the pipeline mechanism that data has been generated. This method is called by ProcessObject::UpdateOutputData() once the process object has finished generating its data. This essentially marks the DataObject as being updated and ready for use.

void itk::DataObject::DisconnectPipeline  )  const
 

Separate this data object from the pipeline. This routine disconnects a data object from the upstream pipeline. Hence an Update() from downstream will not propagate back past this data object. To completely isolate this data object from the pipeline, the application must remove this data object from any filters which it is connected as the input.

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

Run-time type information (and related methods).

Reimplemented from itk::Object.

Reimplemented in itk::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::PolygonGroupSpatialObject< TDimension >, itk::PolygonSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, and itk::PolygonGroupSpatialObject< 3 >.

bool itk::DataObject::GetDataReleased  )  const [inline]
 

Get the flag indicating the data has been released. Definition at line 205 of file itkDataObject.h.

bool itk::DataObject::GetGlobalReleaseDataFlag  )  [static]
 

virtual unsigned long itk::DataObject::GetPipelineMTime  )  const [virtual]
 

More internal methods to update the pipeline.

virtual bool itk::DataObject::GetReleaseDataFlag  )  [virtual]
 

Turn on/off a flag to control whether this object's data is released after being used by a filter.

SmartPointerForwardReference<ProcessObject> itk::DataObject::GetSource  )  const
 

Get the process object that generated this data object. If there is no process object, then the data object has been disconnected from the pipeline, or the data object was created manually. (Note: we cannot use the GetObjectMacro() defined in itkMacro because the mutual dependency of DataObject and ProcessObject causes compile problems. Also, a forward reference smart pointer is returned, not a smart pointer, because of the circular dependency between the process and data object.)

GetSource() returns a SmartPointerForwardReference and not a WeakPointer because it is assumed the code calling GetSource() wants to hold a long term reference to the source.

unsigned int itk::DataObject::GetSourceOutputIndex  )  const
 

Which of the source's outputs corresponds to this data object?

void itk::DataObject::GlobalReleaseDataFlagOff  )  [inline]
 

Definition at line 190 of file itkDataObject.h.

void itk::DataObject::GlobalReleaseDataFlagOn  )  [inline]
 

Definition at line 188 of file itkDataObject.h.

virtual void itk::DataObject::Initialize  )  [virtual]
 

Restore the data object to its initial state. This means releasing memory.

Reimplemented in itk::ChainCodePath< VDimension >, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OrthogonallyCorrected2DParametricPath, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

virtual void itk::DataObject::PrepareForNewData  )  [inline, virtual]
 

Setup a DataObject to receive new data. This method is called by the pipeline mechanism on each output of filter that needs to execute. The default implementation is to return a DataObject to its initial state. This may involve releasing previously allocated bulk data. Subclasses of DataObject may want to override this method and/or the Initialize() method if they want a different default behavior (for instance a DataObject might want finer control over its bulk data memory management). Definition at line 254 of file itkDataObject.h.

void itk::DataObject::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::VoronoiDiagram2D< TCoordType >, itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::BloxBoundaryPointImage< VImageDimension >, itk::BloxBoundaryProfileImage< VImageDimension >, itk::BloxCoreAtomImage< dim >, itk::BloxImage< TBloxPixelType, VImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath2D, itk::EquivalencyTable, itk::FourierSeriesPath< VDimension >, itk::Image< TPixel, VImageDimension >, itk::ImageBase< VImageDimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::OrthogonallyCorrected2DParametricPath, itk::ParametricPath< VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PolyLineParametricPath< VDimension >, itk::SparseImage< TNode, VImageDimension >, itk::BlobSpatialObject< TDimension >, itk::EllipseSpatialObject< TDimension >, itk::GroupSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, PixelType >, itk::LandmarkSpatialObject< TDimension >, itk::LineSpatialObject< TDimension >, itk::PlaneSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension >, itk::SpatialObject< TDimension >, itk::SurfaceSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension >, itk::BloxImage< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::BloxImage< BloxCoreAtomPixel< dim >, dim >, itk::ChainCodePath< 2 >, itk::Image< BloxBoundaryPointPixel< VImageDimension >, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::Image< BloxBoundaryProfilePixel< VImageDimension >, VImageDimension >, itk::Image< BloxCoreAtomPixel< dim >, VImageDimension >, itk::Image< TBloxPixelType, VImageDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ParametricPath< 2 >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

virtual void itk::DataObject::PropagateRequestedRegion  )  throw (InvalidRequestedRegionError) [virtual]
 

Methods to update the pipeline.

virtual void itk::DataObject::PropagateResetPipeline  )  [protected, virtual]
 

Propagate a call to ResetPipeline(). Called only from ProcessObject.

void itk::DataObject::ReleaseData  ) 
 

Release data back to system to conserve memory resource. Used during pipeline execution. Releasing this data does not make down-stream data invalid, so it does not modify the MTime of this data object.

virtual void itk::DataObject::ReleaseDataFlagOff  )  [virtual]
 

Turn on/off a flag to control whether this object's data is released after being used by a filter.

virtual void itk::DataObject::ReleaseDataFlagOn  )  [virtual]
 

Turn on/off a flag to control whether this object's data is released after being used by a filter.

virtual bool itk::DataObject::RequestedRegionIsOutsideOfTheBufferedRegion  )  [pure virtual]
 

Determine whether the RequestedRegion is outside of the BufferedRegion. This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute

Implemented in itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::SpatialObject< TDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

virtual void itk::DataObject::ResetPipeline  )  [virtual]
 

Reset the pipeline. If an exception is thrown during an Update(), the pipeline may be in an inconsistent state. This method clears the internal state of the pipeline so Update() can be called.

void itk::DataObject::SetGlobalReleaseDataFlag const bool  val  )  [static]
 

Turn on/off a flag to control whether every object releases its data after being used by a filter. Being a global flag, it controls the behavior of all DataObjects and ProcessObjects.

void itk::DataObject::SetPipelineMTime unsigned long  time  )  [inline]
 

More internal methods to update the pipeline. Definition at line 241 of file itkDataObject.h.

virtual void itk::DataObject::SetReleaseDataFlag bool  _arg  )  [virtual]
 

Turn on/off a flag to control whether this object's data is released after being used by a filter.

virtual void itk::DataObject::SetRequestedRegion DataObject data  )  [pure virtual]
 

Set the requested region from this data object to match the requested region of the data object passed in as a parameter. This method is implemented in the concrete subclasses of DataObject.

Implemented in itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::SpatialObject< TDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

virtual void itk::DataObject::SetRequestedRegionToLargestPossibleRegion  )  [pure virtual]
 

Set the RequestedRegion to the LargestPossibleRegion. This forces a filter to produce all of the output in one execution (i.e. not streaming) on the next call to Update().

Implemented in itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::SpatialObject< TDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

bool itk::DataObject::ShouldIReleaseData  )  const
 

Return flag indicating whether data should be released after use by a filter.

virtual void itk::DataObject::Update  )  [virtual]
 

Provides opportunity for the data object to insure internal consistency before access. Also causes owning source/filter (if any) to update itself. The Update() method is composed of UpdateOutputInformation(), PropagateRequestedRegion(), and UpdateOutputData(). This method may call methods that throw an InvalidRequestedRegionError exception. This exception will leave the pipeline in an inconsistent state. You will need to call ResetPipeline() on the last ProcessObject in your pipeline in order to restore the pipeline to a state where you can call Update() again.

Reimplemented in itk::SpatialObject< TDimension >.

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

Methods to update the pipeline.

virtual void itk::DataObject::UpdateOutputInformation  )  [pure virtual]
 

Update the information for this DataObject so that it can be used as an output of a ProcessObject. This method is used in the pipeline mechanism to propagate information and initialize the meta data associated with a DataObject. Any implementation of this method in a derived class is assumed to call its source's ProcessObject::UpdateOutputInformation() which determines modified times, LargestPossibleRegions, and any extra meta data like spacing, origin, etc.

Implemented in itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::SpatialObject< TDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.

virtual bool itk::DataObject::VerifyRequestedRegion  )  [pure virtual]
 

Verify that the RequestedRegion is within the LargestPossibleRegion.

If the RequestedRegion is not within the LargestPossibleRegion, then the filter cannot possibly satisfy the request. This method returns true if the request can be satisfied (even if it will be necessary to process the entire LargestPossibleRegion) and returns false otherwise. This method is used by PropagateRequestedRegion(). PropagateRequestedRegion() throws a InvalidRequestedRegionError exception if the requested region is not within the LargestPossibleRegion.

Implemented in itk::watershed::Boundary< TScalarType, TDimension >, itk::watershed::SegmentTable< TScalarType >, itk::watershed::SegmentTree< TScalarType >, itk::CorrespondenceDataStructure< TItemType, VCliqueSize >, itk::EquivalencyTable, itk::ImageBase< VImageDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::OneWayEquivalencyTable, itk::Path< TInput, TOutput, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::SpatialObject< TDimension >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Path< double, ContinuousIndex< double, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, and itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >.


Member Data Documentation

bool itk::DataObject::m_LastRequestedRegionWasOutsideOfTheBufferedRegion [protected]
 

Definition at line 317 of file itkDataObject.h.

bool itk::DataObject::m_RequestedRegionInitialized [protected]
 

Definition at line 321 of file itkDataObject.h.


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