ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members

#include <itkDataObject.h>

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.

The data flow pipeline architecture requires that DataObjects and ProcessObjects negotiate the flow of information. When the tail of a pipeline is instructed to Update(), a series of requests are propagated up the pipeline (from a ProcessObject to its inputs (DataObjects), from these inputs to their sources (ProcessObjects), etc.). A call to Update() entails 3 passes up the pipeline (though not all passes will traverse the entire pipeline). The first pass up the pipeline determines when various components of the pipeline were last modified and hence which components will need to be updated. As this first pass in unwinding, meta information about the DataObjects (for instance image spacing and data size) are passed down the pipeline. The second pass up the pipeline propagates a request for a specific piece of information (for instance a sub-region of an image). A request for a piece of a DataObject is propagated to its source, from there to its inputs, etc. allowing each ProcessObject to determine whether (1) it can already satisfy the request (the requested block of data is already available) or (2) the ProcessObject will need to request a new block of data on input to satisfy the output request. Finally, a pass is made up the pipeline to actually calculate the values for the various blocks of data requested (i.e. pixel values are finally calculated). This final pass will only traverse up the pipeline as far as the first two passes have identified. For instance, to satisfy a given request at the tail of a pipeline, only the lower few ProcessObjects may have to re-execute.

There are three types of information negotiated by the pipeline (prior to actual calculation of the bulk data): modified times, meta data, and regions. The modified times keep track of when various data objects were last modified and/updated and the when the various process objects were modified. The meta data is any extra information about the data object that is not part of the bulk data. For instance, an Image maintains pixel spacing and origin meta data. Finally, the pipeline negotiation process passes requests up the pipeline in the form of Regions. A DataObject can have as many as three regions (which themselves could be considered meta data): LargestPossibleRegion, RequestedRegion, and BufferedRegion. The LargestPossibleRegion is the entirety of the dataset (for instance how big is the dataset on disk). LargestPossibleRegions are negotiated during the first pass of a pipeline update (via the method ProcessObject::GenerateOutputInformation() which is called from ProcessObject::UpdateOutputInformation(). The RequestedRegion is the amount of the DataObject that is requested by the user or pipeline. RequestedRegions are negotiated during the second pass of a pipeline update (via the methods ProcessObject::EnlargeOutputRequestedRegion(), ProcessObject::GenerateOutputRequestedRegion(), ProcessObject::GenerateInputRequestedRegion() which are called from ProcessObject::PropagateRequestedRegion()). The BufferedRegion is the amount of the DataObject that is currently in memory. BufferedRegions are defined during the final pass of a pipeline update (when ProcessObjects finally calculate the bulk data via the methods ProcessObject::GenerateData() or ProcessObject::DynamicThreadedGenerateData() which are called by ProcessObject::UpdateOutputData()). These three regions can be different but must satisfy the relationship RequestedRegion <= BufferedRegion <= LargestPossibleRegion. For instance, an Image could be 512x512x200 on disk (LargestPossibleRegion) but the application may only have a 256x256x50 section of the dataset in memory (BufferedRegion) and the user wants to operate on a 100x100x1 section of the buffer (RequestedRegion).

Region negotiation is not applicable for all types of DataObjects. For instance, an EquivalencyTable of segmentation labels can be passed from ProcessObject to ProcessObject as any other DataObject but an EquivalencyTable does not support the concept of a sub-region. Therefore, the region negotiations at the DataObject (superclass) level are implemented as "abstract" concepts (not to be confused with a C++ abstract methods), allowing subclasses to provide specialized implementations on an as needed basis. There are five methods provided in DataObject that a subclass of DataObject may have to override for that particular type of DataObject to flow through the pipeline. These methods should only have to be specialized for DataObjects that do support regions. These methods are:

void UpdateOutputInformation(): This method implements the first pass of the pipeline update mechanism outlined above. It is responsible for identifying when upstream components of the pipeline have been change (ModifiedTimes and Pipeline ModifiedTimes) and is responsible for propagating meta data through the pipeline. In the simplest case, this method simply calls the DataObject's source's UpdateOutputInformation() method (this is the default implementation). For DataObjects that support streaming, this method also propagates LargestPossibleRegions to downstream ProcessObjects.

bool VerifyRequestedRegion(): Verify that the RequestedRegion is within the LargestPossibleRegion. For DataObjects that do not support Regions, this method always returns true.

bool RequestedRegionIsOutsideOfTheBufferedRegion(): Determine whether the RequestedRegion is outside of the current BufferedRegion. This method is used by the second pass of a pipeline update outlined above. It is used to determine whether a filter needs to re-execute in order to satisfy a given request. For DataObjects that do not support Regions, this method always returns false. By always returning false, these types of DataObjects will update solely on the basis of modified times (whereas Images update based on either modified times or the RequestedRegion needs). If this method always returned true, the DataObject would be updated on every single call to Update() (not recommended).

void SetRequestedRegion(const DataObject *): Sets the RequestedRegion of this DataObject to match the RequestedRegion of the DataObject that is passed in as a parameter. This method is used by ProcessObject::GenerateOutputRequestedRegion() and by ProcessObject::SetNthOutput(). In the former case, it used as an abstract API so that a ProcessObject can copy a requested region from one output to all its outputs without knowing the particular subclass of DataObject. In the latter case, it used when a ProcessObject has to create an output object to replace one of its outputs (and needs to copy the former object's RequestedRegion). In either case, it allows ProcessObject to perform these actions without knowing the specifics about the particular subclass of DataObject. For DataObjects that do not support Regions, this method does nothing.

void SetRequestedRegionToLargestPossibleRegion(): Sets the RequestedRegion of this DataObject to match its LargestPossibleRegion. This method is used to force a filter to produce all of its output on the next call to Update(). For DataObjects that do not support Regions, this method does nothing.

See also
ProcessObject
ImageBase
Mesh

Definition at line 293 of file itkDataObject.h.

+ Inheritance diagram for itk::DataObject:
+ Collaboration diagram for itk::DataObject:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = std::string
 
using DataObjectPointerArraySizeType = std::vector< Pointer >::size_type
 
using Pointer = SmartPointer< Self >
 
using Self = DataObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

virtual void CopyInformation (const DataObject *)
 
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
const char * GetNameOfClass () const override
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointer< ProcessObjectGetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void Graft (const DataObject *)
 
virtual void Initialize ()
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOn ()
 
virtual bool RequestedRegionIsOutsideOfTheBufferedRegion ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
virtual void SetRequestedRegion (const DataObject *)
 
virtual void SetRequestedRegionToLargestPossibleRegion ()
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
void UpdateSource () const
 
virtual bool VerifyRequestedRegion ()
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *cmd) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
const char * GetNameOfClass () const override
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag) const
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Member Functions

static bool GetGlobalReleaseDataFlag ()
 
static void GlobalReleaseDataFlagOff ()
 
static void GlobalReleaseDataFlagOn ()
 
static Pointer New ()
 
static void SetGlobalReleaseDataFlag (bool val)
 
- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool val)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Protected Member Functions

 DataObject ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void PropagateResetPipeline ()
 
 ~DataObject () override
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetTimeStamp (const TimeStamp &timeStamp)
 
 ~Object () override
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

bool ConnectSource (ProcessObject *arg, const DataObjectIdentifierType &name)
 
bool DisconnectSource (ProcessObject *arg, const DataObjectIdentifierType &name)
 
 itkGetGlobalDeclarationMacro (bool, GlobalReleaseDataFlag)
 

Private Attributes

bool m_DataReleased {}
 
ModifiedTimeType m_PipelineMTime {}
 
RealTimeStamp m_RealTimeStamp {}
 
bool m_ReleaseDataFlag {}
 
WeakPointer< ProcessObjectm_Source {}
 
DataObjectIdentifierType m_SourceOutputName {}
 
TimeStamp m_UpdateMTime {}
 

Static Private Attributes

static bool * m_GlobalReleaseDataFlag
 

Friends

class DataObjectError
 
class ProcessObject
 

Additional Inherited Members

- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ ConstPointer

Definition at line 302 of file itkDataObject.h.

◆ DataObjectIdentifierType

Definition at line 304 of file itkDataObject.h.

◆ DataObjectPointerArraySizeType

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

Definition at line 335 of file itkDataObject.h.

◆ Pointer

Definition at line 301 of file itkDataObject.h.

◆ Self

Standard class type aliases.

Definition at line 299 of file itkDataObject.h.

◆ Superclass

Definition at line 300 of file itkDataObject.h.

Constructor & Destructor Documentation

◆ DataObject()

itk::DataObject::DataObject ( )
protected

◆ ~DataObject()

itk::DataObject::~DataObject ( )
overrideprotected

Member Function Documentation

◆ ConnectSource()

bool itk::DataObject::ConnectSource ( ProcessObject arg,
const DataObjectIdentifierType name 
)
private

Connect the specified process object to the data object. This should only be called from a process object. The second parameter indicates which of the source's outputs corresponds to this data object.

◆ CopyInformation()

virtual void itk::DataObject::CopyInformation ( const DataObject )
inlinevirtual

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::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Mesh< TPixel, VDimension, TTraits >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< int8_t, VDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::LevelSetDenseImage< TImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::QuadEdgeMesh< TPixel, VDimension, TTraits >, and itk::TemporalDataObject.

Definition at line 531 of file itkDataObject.h.

◆ DataHasBeenGenerated()

virtual void itk::DataObject::DataHasBeenGenerated ( )
virtual

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.

Reimplemented in itk::GPUImage< TPixel, VImageDimension >.

◆ DisconnectPipeline()

void itk::DataObject::DisconnectPipeline ( )

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.

◆ DisconnectSource()

bool itk::DataObject::DisconnectSource ( ProcessObject arg,
const DataObjectIdentifierType name 
)
private

Disconnect the specified process object from the data object. This should only be called from a process object. An application should call DataObject::DisconnectPipeline() if it wants to disconnect a data object from a pipeline. The second parameter indicates which of the source's outputs corresponds to this data object. If the specified source output name does not match the name cached when the data object was connected to the pipeline (see ConnectSource), then nothing is done.

◆ GetDataReleased()

bool itk::DataObject::GetDataReleased ( ) const
inline

Get the flag indicating the data has been released.

Definition at line 393 of file itkDataObject.h.

◆ GetGlobalReleaseDataFlag()

static bool itk::DataObject::GetGlobalReleaseDataFlag ( )
static

◆ GetNameOfClass()

const char* itk::DataObject::GetNameOfClass ( ) const
overridevirtual
See also
LightObject::GetNameOfClass()

Reimplemented from itk::LightObject.

Reimplemented in itk::QuadEdgeMesh< TPixel, VDimension, TTraits >, itk::VectorImageToImageAdaptor< TPixelType, Dimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Mesh< TPixel, VDimension, TTraits >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::watershed::Boundary< TScalar, TDimension >, itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >, itk::PhasedArray3DSpecialCoordinatesImage< TPixel >, itk::SpecialCoordinatesImage< TPixel, VImageDimension >, itk::Statistics::JointDomainImageToListSampleAdaptor< TImage >, itk::SpecialCoordinatesImage< TPixel, 3 >, itk::ContourSpatialObject< TDimension >, itk::Image< TPixel, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::ComplexToImaginaryImageAdaptor< TImage, TOutputPixelType >, itk::ComplexToModulusImageAdaptor< TImage, TOutputPixelType >, itk::ComplexToRealImageAdaptor< TImage, TOutputPixelType >, itk::VectorImage< TPixel, VImageDimension >, itk::RGBToLuminanceImageAdaptor< TImage, TOutputPixelType >, itk::VectorImage< TPixelType, Dimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::ComplexToPhaseImageAdaptor< TImage, TOutputPixelType >, itk::ExpNegativeImageAdaptor< TImage, TOutputPixelType >, itk::TanImageAdaptor< TImage, TOutputPixelType >, itk::PointSet< TPixel, VDimension, TTraits >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::AcosImageAdaptor< TImage, TOutputPixelType >, itk::CosImageAdaptor< TImage, TOutputPixelType >, itk::ExpImageAdaptor< TImage, TOutputPixelType >, itk::Log10ImageAdaptor< TImage, TOutputPixelType >, itk::SinImageAdaptor< TImage, TOutputPixelType >, itk::SqrtImageAdaptor< TImage, TOutputPixelType >, itk::AbsImageAdaptor< TImage, TOutputPixelType >, itk::AtanImageAdaptor< TImage, TOutputPixelType >, itk::TemporalDataObject, itk::AsinImageAdaptor< TImage, TOutputPixelType >, itk::LogImageAdaptor< TImage, TOutputPixelType >, itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >, itk::LabelMap< TLabelObject >, itk::DataObjectDecorator< T >, itk::VideoStream< TFrameType >, itk::SimpleDataObjectDecorator< T >, itk::SparseImage< TNode, VImageDimension >, itk::ComplexConjugateImageAdaptor< TImage >, itk::ParametricPath< VDimension >, itk::ParametricPath< 2 >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageMaskSpatialObject< TDimension, TPixel >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::Statistics::Sample< TMeasurementVector >, itk::BlobSpatialObject< TDimension >, itk::Statistics::Sample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::Sample< TVectorContainer::Element >, itk::Statistics::Sample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::Sample< Array< TMeasurement > >, itk::Statistics::Sample< TPointSet::PointType >, itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::FourierSeriesPath< VDimension >, itk::NthElementImageAdaptor< TImage, TOutputPixelType >, itk::Statistics::ImageToListSampleAdaptor< TImage >, itk::Statistics::ImageToNeighborhoodSampleAdaptor< TImage, TBoundaryCondition >, itk::LineSpatialObject< TDimension >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::Statistics::MembershipSample< TSample >, itk::DTITubeSpatialObject< TDimension >, itk::Path< TInput, TOutput, VDimension >, itk::PolyLineParametricPath< VDimension >, itk::Path< double, ContinuousIndex< SpacePrecisionType, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::Path< TIndexValue, Index< VDimension >, VDimension >, itk::PointSetBase< TPointsContainer >, itk::SurfaceSpatialObject< TDimension, TSpatialObjectPointType >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ChainCodePath2D, itk::VoronoiDiagram2D< TCoordType >, itk::ImageSpatialObject< TDimension, TPixel >, itk::ChainCodePath< VDimension >, itk::HilbertPath< TIndexValue, VDimension >, itk::ChainCodePath< 2 >, itk::LandmarkSpatialObject< TDimension >, itk::Statistics::ListSample< TMeasurementVector >, itk::EllipseSpatialObject< TDimension >, itk::MeshSpatialObject< TMesh >, itk::Statistics::ListSample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::ListSample< TVectorContainer::Element >, itk::Statistics::ListSample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::ListSample< TPointSet::PointType >, itk::Statistics::ListSample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::GaussianSpatialObject< TDimension >, itk::CSVArray2DDataObject< TData >, itk::LevelSetDenseImage< TImage >, itk::PointBasedSpatialObject< TDimension, TSpatialObjectPointType >, itk::PointBasedSpatialObject< TDimension, ContourSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, SurfaceSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension, SpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, LineSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::watershed::SegmentTable< TScalar >, itk::Statistics::PointSetToListSampleAdaptor< TPointSet >, itk::watershed::SegmentTree< TScalar >, itk::Statistics::VectorContainerToListSampleAdaptor< TVectorContainer >, itk::OneWayEquivalencyTable, itk::PolygonSpatialObject< TDimension >, itk::OrthogonallyCorrected2DParametricPath, itk::ArrowSpatialObject< TDimension >, itk::EquivalencyTable, itk::BoxSpatialObject< TDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::WhitakerSparseLevelSetImage< TOutput, VDimension >, itk::RGBToVectorImageAdaptor< TImage >, itk::GroupSpatialObject< TDimension >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::GroupSpatialObject< 3 >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::AddImageAdaptor< TImage >, itk::VectorToRGBImageAdaptor< TImage >, itk::GPUImage< TPixel, VImageDimension >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::MatrixResizeableDataObject< TItemType >, itk::LevelSetImage< TInput, VDimension, TOutput >, itk::LevelSetImage< Index< VDimension >, VDimension, TOutput >, itk::LevelSetImage< Index< VDimension >, VDimension, TImage::PixelType >, itk::LevelSetImage< Index< VDimension >, VDimension, int8_t >, itk::UnaryCorrespondenceMatrix< TItemType >, itk::ShiSparseLevelSetImage< VDimension >, itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< int8_t, VDimension >, and itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >.

◆ GetPipelineMTime()

virtual const ModifiedTimeType& itk::DataObject::GetPipelineMTime ( ) const
virtual

The maximum MTime of all upstream filters and data objects. This does not include the MTime of this data object.

◆ GetRealTimeStamp()

virtual const RealTimeStamp& itk::DataObject::GetRealTimeStamp ( ) const
virtual

RealTime stamp for the last time this DataObject was generated. By default, the real time stamp is initialized to the origin of the Unix epoch. That is the time 00:00:00 UTC on 1 January 1970 (or 1970-01-01T00:00:00Z ISO 8601)

◆ GetReleaseDataFlag()

virtual const bool& itk::DataObject::GetReleaseDataFlag ( ) const
virtual

◆ GetSource()

SmartPointer<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. )

◆ GetSourceOutputIndex()

DataObjectPointerArraySizeType itk::DataObject::GetSourceOutputIndex ( ) const

◆ GetSourceOutputName()

const DataObjectIdentifierType& itk::DataObject::GetSourceOutputName ( ) const

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

◆ GetUpdateMTime()

virtual ModifiedTimeType itk::DataObject::GetUpdateMTime ( ) const
virtual

MTime for the last time this DataObject was generated.

◆ GlobalReleaseDataFlagOff()

static void itk::DataObject::GlobalReleaseDataFlagOff ( )
inlinestatic

Definition at line 374 of file itkDataObject.h.

◆ GlobalReleaseDataFlagOn()

static void itk::DataObject::GlobalReleaseDataFlagOn ( )
inlinestatic

Definition at line 369 of file itkDataObject.h.

◆ Graft()

virtual void itk::DataObject::Graft ( const DataObject )
inlinevirtual

Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.

Reimplemented in itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LabelMap< TLabelObject >, itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::VectorImage< TPixel, VImageDimension >, itk::VectorImage< TPixelType, Dimension >, itk::Image< TPixel, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::GPUImage< TPixel, VImageDimension >, itk::DataObjectDecorator< T >, itk::Statistics::Sample< TMeasurementVector >, itk::Statistics::Sample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::Sample< TVectorContainer::Element >, itk::Statistics::Sample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::Sample< Array< TMeasurement > >, itk::Statistics::Sample< TPointSet::PointType >, itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::Statistics::MembershipSample< TSample >, itk::Statistics::ListSample< TMeasurementVector >, itk::Statistics::ListSample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::ListSample< TVectorContainer::Element >, itk::Statistics::ListSample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::ListSample< TPointSet::PointType >, itk::Statistics::ListSample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LabelMap< TLabelObject >, itk::Image< TPixel, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::VectorImage< TPixel, VImageDimension >, itk::VectorImage< TPixelType, Dimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::VideoStream< TFrameType >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Mesh< TPixel, VDimension, TTraits >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::QuadEdgeMesh< TPixel, VDimension, TTraits >, itk::GPUImage< TPixel, VImageDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PointSet< TPixel, VDimension, TTraits >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< int8_t, VDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::LevelSetDenseImage< TImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >, itk::TemporalDataObject, and itk::DataObjectDecorator< T >.

Definition at line 549 of file itkDataObject.h.

Referenced by itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >::Graft().

◆ Initialize()

virtual void itk::DataObject::Initialize ( )
virtual

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

Reimplemented in itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Mesh< TPixel, VDimension, TTraits >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::watershed::SegmentTree< TScalar >, itk::VectorImage< TPixel, VImageDimension >, itk::VectorImage< TPixelType, Dimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::Image< TPixel, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::QuadEdgeMesh< TPixel, VDimension, TTraits >, itk::SpecialCoordinatesImage< TPixel, VImageDimension >, itk::SpecialCoordinatesImage< TPixel, 3 >, itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::ChainCodePath< VDimension >, itk::ChainCodePath< 2 >, itk::SparseImage< TNode, VImageDimension >, itk::HilbertPath< TIndexValue, VDimension >, itk::LabelMap< TLabelObject >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< int8_t, VDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PointSet< TPixel, VDimension, TTraits >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::PolyLineParametricPath< VDimension >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, itk::FourierSeriesPath< VDimension >, itk::DataObjectDecorator< T >, itk::OrthogonallyCorrected2DParametricPath, itk::LevelSetDenseImage< TImage >, itk::GPUImage< TPixel, VImageDimension >, and itk::LevelSetQuadEdgeMesh< TMesh >.

◆ itkGetGlobalDeclarationMacro()

itk::DataObject::itkGetGlobalDeclarationMacro ( bool  ,
GlobalReleaseDataFlag   
)
private

Only used to synchronize the global variable across static libraries.

◆ New()

static Pointer itk::DataObject::New ( )
static

Method for creation through the object factory.

◆ PrepareForNewData()

virtual void itk::DataObject::PrepareForNewData ( )
inlinevirtual

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 469 of file itkDataObject.h.

◆ PrintSelf()

void itk::DataObject::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotectedvirtual

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::LightObject.

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::Mesh< TPixelType, VDimension, TMeshTraits >, itk::Mesh< TCoordType, 2, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::Mesh< TPixel, VDimension, TTraits >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LabelMap< TLabelObject >, itk::PhasedArray3DSpecialCoordinatesImage< TPixel >, itk::Image< TPixel, VImageDimension >, itk::Image< TNode *, VImageDimension >, itk::VectorImage< TPixel, VImageDimension >, itk::VectorImage< TPixelType, Dimension >, itk::VideoStream< TFrameType >, itk::Statistics::Histogram< TMeasurement, TFrequencyContainer >, itk::Statistics::JointDomainImageToListSampleAdaptor< TImage >, itk::SpecialCoordinatesImage< TPixel, VImageDimension >, itk::SpecialCoordinatesImage< TPixel, 3 >, itk::Statistics::ImageToNeighborhoodSampleAdaptor< TImage, TBoundaryCondition >, itk::VoronoiDiagram2D< TCoordType >, itk::Statistics::MembershipSample< TSample >, itk::Statistics::ImageToListSampleAdaptor< TImage >, itk::SimplexMesh< TPixelType, VDimension, TMeshTraits >, itk::Statistics::ListSample< TMeasurementVector >, itk::Statistics::ListSample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::ListSample< TVectorContainer::Element >, itk::Statistics::ListSample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::ListSample< TPointSet::PointType >, itk::Statistics::ListSample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::watershed::Boundary< TScalar, TDimension >, itk::Statistics::PointSetToListSampleAdaptor< TPointSet >, itk::Statistics::VectorContainerToListSampleAdaptor< TVectorContainer >, itk::watershed::SegmentTree< TScalar >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, itk::ContourSpatialObject< TDimension >, itk::EquivalencyTable, itk::Statistics::Sample< TMeasurementVector >, itk::Statistics::Sample< std::vector< ConstNeighborhoodIterator< TImage, TBoundaryCondition > > >, itk::Statistics::Sample< TVectorContainer::Element >, itk::Statistics::Sample< MeasurementVectorPixelTraits< TImage::PixelType >::MeasurementVectorType >, itk::Statistics::Sample< Array< TMeasurement > >, itk::Statistics::Sample< TPointSet::PointType >, itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >, itk::CSVArray2DDataObject< TData >, itk::OneWayEquivalencyTable, itk::HilbertPath< TIndexValue, VDimension >, itk::PointSet< TPixelType, VDimension, TMeshTraits >, itk::PointSet< TPixel, VDimension, TTraits >, itk::PointSet< TCoordType, VDimension, DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > >, itk::ChainCodePath< VDimension >, itk::ChainCodePath< 2 >, itk::ChainCodePath2D, itk::TemporalDataObject, itk::SparseImage< TNode, VImageDimension >, itk::GaussianSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::PointBasedSpatialObject< TDimension, TSpatialObjectPointType >, itk::PolyLineParametricPath< VDimension >, itk::ImageSpatialObject< TDimension, TPixel >, itk::PointBasedSpatialObject< TDimension, ContourSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, SurfaceSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension >, itk::PointBasedSpatialObject< TDimension, SpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, LineSpatialObjectPoint< TDimension > >, itk::PointBasedSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::DataObjectDecorator< T >, itk::TubeSpatialObject< TDimension, TSpatialObjectPointType >, itk::TubeSpatialObject< TDimension, DTITubeSpatialObjectPoint< TDimension > >, itk::EllipseSpatialObject< TDimension >, itk::ParametricPath< VDimension >, itk::ParametricPath< 2 >, itk::MeshSpatialObject< TMesh >, itk::FourierSeriesPath< VDimension >, itk::Path< TInput, TOutput, VDimension >, itk::Path< double, ContinuousIndex< SpacePrecisionType, VDimension >, VDimension >, itk::Path< unsigned int, Offset< VDimension >, VDimension >, itk::Path< TIndexValue, Index< VDimension >, VDimension >, itk::OrthogonallyCorrected2DParametricPath, itk::SimpleDataObjectDecorator< T >, itk::PolygonSpatialObject< TDimension >, itk::ArrowSpatialObject< TDimension >, and itk::BoxSpatialObject< TDimension >.

Referenced by itk::Statistics::Sample< ImageJointDomainTraits< TImage >::MeasurementVectorType >::PrintSelf().

◆ PropagateRequestedRegion()

virtual void itk::DataObject::PropagateRequestedRegion ( )
virtual

Methods to update the pipeline. Called internally by the pipeline mechanism.

Reimplemented in itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >.

◆ PropagateResetPipeline()

virtual void itk::DataObject::PropagateResetPipeline ( )
protectedvirtual

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

◆ ReleaseData()

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.

◆ ReleaseDataFlagOn()

virtual void itk::DataObject::ReleaseDataFlagOn ( )
virtual

◆ RequestedRegionIsOutsideOfTheBufferedRegion()

virtual bool itk::DataObject::RequestedRegionIsOutsideOfTheBufferedRegion ( )
inlinevirtual

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

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::QuadEdgeMesh< TPixel, VDimension, TTraits >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, and itk::TemporalDataObject.

Definition at line 498 of file itkDataObject.h.

◆ ResetPipeline()

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.

◆ SetGlobalReleaseDataFlag()

static void itk::DataObject::SetGlobalReleaseDataFlag ( 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.

◆ SetPipelineMTime()

void itk::DataObject::SetPipelineMTime ( ModifiedTimeType  time)
inline

The maximum MTime of all upstream filters and data objects. This does not include the MTime of this data object.

Definition at line 440 of file itkDataObject.h.

◆ SetRealTimeStamp()

virtual void itk::DataObject::SetRealTimeStamp ( RealTimeStamp  _arg)
virtual

RealTime stamp for the last time this DataObject was generated. By default, the real time stamp is initialized to the origin of the Unix epoch. That is the time 00:00:00 UTC on 1 January 1970 (or 1970-01-01T00:00:00Z ISO 8601)

◆ SetReleaseDataFlag()

void itk::DataObject::SetReleaseDataFlag ( bool  flag)
inline

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

Definition at line 351 of file itkDataObject.h.

◆ SetRequestedRegion()

virtual void itk::DataObject::SetRequestedRegion ( const DataObject )
inlinevirtual

Set the requested region from this data object to match the requested region of the data object passed in as a parameter. For DataObject's that do not support Regions, this method does nothing. Subclasses of DataObject that do support Regions, provide an alternative implementation.

Reimplemented in itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::TemporalDataObject.

Definition at line 540 of file itkDataObject.h.

◆ SetRequestedRegionToLargestPossibleRegion()

virtual void itk::DataObject::SetRequestedRegionToLargestPossibleRegion ( )
inlinevirtual

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().

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, and itk::TemporalDataObject.

Definition at line 485 of file itkDataObject.h.

Referenced by itk::ExtractOrthogonalSwath2DImageFilter< TImage >::EnlargeOutputRequestedRegion().

◆ ShouldIReleaseData()

bool itk::DataObject::ShouldIReleaseData ( ) const

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

◆ Update()

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::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ContourSpatialObject< TDimension >, itk::ImageSpatialObject< TDimension, TPixelType >, and itk::ImageSpatialObject< TDimension, TPixel >.

Examples
Examples/Segmentation/ThresholdSegmentationLevelSetImageFilter.cxx.

◆ UpdateOutputData()

virtual void itk::DataObject::UpdateOutputData ( )
virtual

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, and itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >.

◆ UpdateOutputInformation()

virtual void itk::DataObject::UpdateOutputInformation ( )
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. Default implementation simply calls its source's UpdateOutputInformation().

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, and itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >.

◆ UpdateSource()

void itk::DataObject::UpdateSource ( ) const

Does an Update() of its source, if it has one. Does nothing, otherwise.

◆ VerifyRequestedRegion()

virtual bool itk::DataObject::VerifyRequestedRegion ( )
inlinevirtual

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. Default implementation simply returns true in order to support DataObjects that do not need regions (for instance itk::EquivalencyTable).

Reimplemented in itk::ImageBase< VImageDimension >, itk::ImageBase< TLabelObject::ImageDimension >, itk::ImageBase< VectorImage< TPixelType, Dimension > ::ImageDimension >, itk::ImageBase< TImage::ImageDimension >, itk::SpatialObject< VDimension >, itk::SpatialObject< TDimension >, itk::SpatialObject< TMesh::PointDimension >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexConjugatePixelAccessor< TImage::PixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >, itk::LevelSetBase< TMesh::PointIdentifier, TMesh::PointDimension, TMesh::PixelType, TMesh >, itk::LevelSetBase< TInput, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TOutput, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, TImage::PixelType, ImageBase< VDimension > >, itk::LevelSetBase< Index< VDimension >, VDimension, int8_t, ImageBase< VDimension > >, itk::PointSetBase< TPointsContainer >, itk::PointSetBase< TMeshTraits::PointsContainer >, itk::PointSetBase< TTraits ::PointsContainer >, itk::PointSetBase< DefaultDynamicMeshTraits< TCoordType, 2, 2, TCoordType > ::PointsContainer >, and itk::TemporalDataObject.

Definition at line 516 of file itkDataObject.h.

Friends And Related Function Documentation

◆ DataObjectError

friend class DataObjectError
friend

Definition at line 610 of file itkDataObject.h.

◆ ProcessObject

friend class ProcessObject
friend

Friends of DataObject

Definition at line 609 of file itkDataObject.h.

Member Data Documentation

◆ m_DataReleased

bool itk::DataObject::m_DataReleased {}
private

Definition at line 577 of file itkDataObject.h.

◆ m_GlobalReleaseDataFlag

bool* itk::DataObject::m_GlobalReleaseDataFlag
staticprivate

Static member that controls global data release after use by filter.

Definition at line 584 of file itkDataObject.h.

◆ m_PipelineMTime

ModifiedTimeType itk::DataObject::m_PipelineMTime {}
private

The maximum MTime of all upstream filters and data objects. This does not include the MTime of this data object.

Definition at line 581 of file itkDataObject.h.

◆ m_RealTimeStamp

RealTimeStamp itk::DataObject::m_RealTimeStamp {}
private

When, in real time, this data was generated.

Definition at line 574 of file itkDataObject.h.

◆ m_ReleaseDataFlag

bool itk::DataObject::m_ReleaseDataFlag {}
private

Definition at line 576 of file itkDataObject.h.

◆ m_Source

WeakPointer<ProcessObject> itk::DataObject::m_Source {}
private

Who generated this data?

Definition at line 564 of file itkDataObject.h.

◆ m_SourceOutputName

DataObjectIdentifierType itk::DataObject::m_SourceOutputName {}
private

Definition at line 565 of file itkDataObject.h.

◆ m_UpdateMTime

TimeStamp itk::DataObject::m_UpdateMTime {}
private

When was this data last generated? This time stamp is an integer number and it is intended to synchronize the activities of the pipeline. It doesn't relates to the clock time of acquiring or processing the data.

Definition at line 571 of file itkDataObject.h.


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