Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
mitk::BaseDataSource Class Referenceabstract

Superclass of all classes generating some kind of mitk::BaseData. More...

#include <mitkBaseDataSource.h>

Inheritance diagram for mitk::BaseDataSource:
Collaboration diagram for mitk::BaseDataSource:

Public Types

typedef BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 

Public Member Functions

virtual std::vector< std::string > GetClassHierarchy () const
 
virtual const char * GetClassName () const
 
OutputTypeGetOutput ()
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
virtual void GraftOutput (OutputType *output)
 Graft the specified BaseData onto this BaseDataSource's output. More...
 
virtual void GraftOutput (const DataObjectIdentifierType &key, OutputType *output)
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
DataObjectPointer MakeOutput (DataObjectPointerArraySizeType idx) override=0
 
DataObjectPointer MakeOutput (const DataObjectIdentifierType &name) override=0
 
bool Updating () const
 Access itk::ProcessObject::m_Updating. More...
 

Static Public Member Functions

static const char * GetStaticNameOfClass ()
 

Protected Member Functions

 BaseDataSource ()
 
 ~BaseDataSource () override
 

Static Protected Member Functions

static Pointer New ()
 

Detailed Description

Superclass of all classes generating some kind of mitk::BaseData.

Superclass of all classes generating some kind of mitk::BaseData. In itk and vtk the generated result of a ProcessObject is only guaranteed to be up-to-date, when Update() of the ProcessObject or the generated DataObject is called immediately before access of the data stored in the DataObject. This is also true for subclasses of mitk::BaseProcess. But many of the subclasses of mitk::BaseProcess define additional access functions to the generated output that guarantee an up-to-date result, see for example mitk::ImageSource.

Definition at line 71 of file mitkBaseDataSource.h.

Member Typedef Documentation

◆ ConstPointer

◆ DataObjectIdentifierType

typedef itk::DataObject::DataObjectIdentifierType mitk::BaseDataSource::DataObjectIdentifierType

Definition at line 77 of file mitkBaseDataSource.h.

◆ OutputType

◆ Pointer

◆ Self

◆ Superclass

typedef itk::ProcessObject mitk::BaseDataSource::Superclass

Definition at line 74 of file mitkBaseDataSource.h.

Constructor & Destructor Documentation

◆ BaseDataSource()

mitk::BaseDataSource::BaseDataSource ( )
protected

◆ ~BaseDataSource()

mitk::BaseDataSource::~BaseDataSource ( )
overrideprotected

Member Function Documentation

◆ GetClassHierarchy()

◆ GetClassName()

◆ GetOutput() [1/4]

OutputType* mitk::BaseDataSource::GetOutput ( )

◆ GetOutput() [2/4]

const OutputType* mitk::BaseDataSource::GetOutput ( ) const

◆ GetOutput() [3/4]

OutputType* mitk::BaseDataSource::GetOutput ( DataObjectPointerArraySizeType  idx)

◆ GetOutput() [4/4]

const OutputType* mitk::BaseDataSource::GetOutput ( DataObjectPointerArraySizeType  idx) const

◆ GetStaticNameOfClass()

static const char* mitk::BaseDataSource::GetStaticNameOfClass ( )
inlinestatic

Definition at line 74 of file mitkBaseDataSource.h.

◆ GraftNthOutput()

virtual void mitk::BaseDataSource::GraftNthOutput ( unsigned int  idx,
OutputType output 
)
virtual

Graft the specified base data object onto this BaseDataSource's idx'th output.

This is the similar to GraftOutput method except is allows you specify which output is affected. The specified index must be a valid output number (less than ProcessObject::GetNumberOfOutputs()). See the GraftOutput for general usage information.

◆ GraftOutput() [1/2]

virtual void mitk::BaseDataSource::GraftOutput ( const DataObjectIdentifierType key,
OutputType output 
)
virtual

Graft the specified base data object onto this BaseDataSource's named output. This is similar to the GraftOutput method except it allows you to specify which output is affected. See the GraftOutput for general usage information.

◆ GraftOutput() [2/2]

virtual void mitk::BaseDataSource::GraftOutput ( OutputType output)
virtual

Graft the specified BaseData onto this BaseDataSource's output.

This method is used when a process object is implemented using a mini-pipeline which is defined in its GenerateData() method. The usage is:

// setup the mini-pipeline to process the input to this filter
firstFilterInMiniPipeline->SetInput( this->GetInput() );
// setup the mini-pipeline to calculate the correct regions
// and write to the appropriate bulk data block
lastFilterInMiniPipeline->GraftOutput( this->GetOutput(0) );
// execute the mini-pipeline
lastFilterInMiniPipeline->Update();
// graft the mini-pipeline output back onto this filter's output.
// this is needed to get the appropriate regions passed back.
this->GraftOutput( lastFilterInMiniPipeline->GetOutput(0) );

◆ MakeOutput() [1/2]

DataObjectPointer mitk::BaseDataSource::MakeOutput ( const DataObjectIdentifierType name)
overridepure virtual

◆ MakeOutput() [2/2]

DataObjectPointer mitk::BaseDataSource::MakeOutput ( DataObjectPointerArraySizeType  idx)
overridepure virtual

◆ New()

static Pointer mitk::BaseDataSource::New ( )
staticprotected

◆ Updating()

bool mitk::BaseDataSource::Updating ( ) const

Access itk::ProcessObject::m_Updating.

m_Updating indicates when the pipeline is executing. It prevents infinite recursion when pipelines have loops.

See also
itk::ProcessObject::m_Updating

The documentation for this class was generated from the following file:
mitk::BaseDataSource::GraftOutput
virtual void GraftOutput(OutputType *output)
Graft the specified BaseData onto this BaseDataSource's output.
mitk::BaseDataSource::GetOutput
OutputType * GetOutput()