#include <itkDataObject.h>
Inheritance diagram for itk::DataObject:
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.
Definition at line 136 of file itkDataObject.h.
|
|
|
|
|
|
|
|
|
|
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. |
|
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. |
|
|
Get the flag indicating the data has been released. Definition at line 205 of file itkDataObject.h. |
|
|
|
More internal methods to update the pipeline. |
|
Turn on/off a flag to control whether this object's data is released after being used by a filter. |
|
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. |
|
Which of the source's outputs corresponds to this data object? |
|
Definition at line 190 of file itkDataObject.h. |
|
Definition at line 188 of file itkDataObject.h. |
|
|
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. |
|
|
Methods to update the pipeline. |
|
Propagate a call to ResetPipeline(). Called only from ProcessObject. |
|
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. |
|
Turn on/off a flag to control whether this object's data is released after being used by a filter. |
|
Turn on/off a flag to control whether this object's data is released after being used by a filter. |
|
|
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. |
|
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. |
|
More internal methods to update the pipeline. Definition at line 241 of file itkDataObject.h. |
|
Turn on/off a flag to control whether this object's data is released after being used by a filter. |
|
|
|
Return flag indicating whether data should be released after use by a filter. |
|
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 >.
|
|
Methods to update the pipeline. |
|
|
|
Definition at line 317 of file itkDataObject.h. |
|
Definition at line 321 of file itkDataObject.h. |