Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
mitk::SegmentationSink Class Reference

A NonBlockingAlgorithm that places segmentation results into the DataStorage. More...

#include <mitkSegmentationSink.h>

Inheritance diagram for mitk::SegmentationSink:
Collaboration diagram for mitk::SegmentationSink:

Public Member Functions

 mitkClassMacro (SegmentationSink, NonBlockingAlgorithm)
 
 mitkAlgorithmNewMacro (SegmentationSink)
 
- Public Member Functions inherited from mitk::NonBlockingAlgorithm
 mitkClassMacroItkParent (NonBlockingAlgorithm, itk::Object)
 
void SetDataStorage (DataStorage &storage)
 Set the DataStorage for this algorithm. More...
 
DataStorage * GetDataStorage ()
 Get the DataStorage associated with this algorithm. More...
 
template<typename T >
void SetParameter (const char *parameter, const T &value)
 Set a parameter of any normal (value) type. More...
 
template<typename T >
void SetPointerParameter (const char *parameter, const itk::SmartPointer< T > &value)
 Set a parameter that holds a smart pointer. More...
 
void SetPointerParameter (const char *parameter, BaseData *value)
 Set a parameter that holds a BaseData pointer (Image, Surface, etc.). More...
 
template<typename TPixel , unsigned int VImageDimension>
void SetItkImageAsMITKImagePointerParameter (const char *parameter, itk::Image< TPixel, VImageDimension > *itkImage)
 Set an ITK image as a MITK Image parameter (raw pointer version). More...
 
template<typename TPixel , unsigned int VImageDimension>
void SetItkImageAsMITKImagePointerParameter (const char *parameter, const itk::SmartPointer< itk::Image< TPixel, VImageDimension >> &itkImage)
 Set an ITK image as a MITK Image parameter (smart pointer version). More...
 
template<typename T >
void GetParameter (const char *parameter, T &value) const
 Get a parameter of any normal (value) type. More...
 
template<typename T >
void GetPointerParameter (const char *parameter, itk::SmartPointer< T > &value) const
 Get a parameter that holds a smart pointer. More...
 
virtual void Reset ()
 Reset the algorithm to its initial state. More...
 
void StartAlgorithm ()
 Start the algorithm asynchronously in a background thread. More...
 
void StartBlockingAlgorithm ()
 Start the algorithm and block until it completes. More...
 
void StopAlgorithm ()
 Wait for the running algorithm thread to finish. More...
 
void TriggerParameterModified (const itk::EventObject &event)
 Callback invoked when a trigger parameter is modified. More...
 
void ThreadedUpdateSuccessful (const itk::EventObject &event)
 GUI-thread callback when the threaded update succeeds. More...
 
void ThreadedUpdateFailed (const itk::EventObject &event)
 GUI-thread callback when the threaded update fails. More...
 

Protected Member Functions

 SegmentationSink ()
 
 ~SegmentationSink () override
 
void Initialize (const NonBlockingAlgorithm *other=nullptr) override
 
bool ReadyToRun () override
 
bool ThreadedUpdateFunction () override
 
void InsertBelowGroupNode (mitk::DataNode *node)
 
DataNode * LookForPointerTargetBelowGroupNode (const char *name)
 
DataNode * GetGroupNode ()
 
- Protected Member Functions inherited from mitk::NonBlockingAlgorithm
 NonBlockingAlgorithm ()
 
 ~NonBlockingAlgorithm () override
 
void DefineTriggerParameter (const char *)
 
void UnDefineTriggerParameter (const char *)
 
virtual void ThreadedUpdateSuccessful ()
 
virtual void ThreadedUpdateFailed ()
 

Additional Inherited Members

- Protected Attributes inherited from mitk::NonBlockingAlgorithm
PropertyList::Pointer m_Parameters
 
WeakPointer< DataStorage > m_DataStorage
 

Detailed Description

A NonBlockingAlgorithm that places segmentation results into the DataStorage.

SegmentationSink serves as a base class for algorithms that produce segmentation results (binary images, surfaces, etc.) and insert them into the DataStorage below a specified group node. Subclasses override ThreadedUpdateFunction() to perform the actual segmentation computation.

See also
NonBlockingAlgorithm
DataStorage

Definition at line 32 of file mitkSegmentationSink.h.

Constructor & Destructor Documentation

◆ SegmentationSink()

mitk::SegmentationSink::SegmentationSink ( )
protected

◆ ~SegmentationSink()

mitk::SegmentationSink::~SegmentationSink ( )
overrideprotected

Member Function Documentation

◆ GetGroupNode()

DataNode* mitk::SegmentationSink::GetGroupNode ( )
protected

◆ Initialize()

void mitk::SegmentationSink::Initialize ( const NonBlockingAlgorithm *  other = nullptr)
overrideprotectedvirtual

◆ InsertBelowGroupNode()

void mitk::SegmentationSink::InsertBelowGroupNode ( mitk::DataNode *  node)
protected

◆ LookForPointerTargetBelowGroupNode()

DataNode* mitk::SegmentationSink::LookForPointerTargetBelowGroupNode ( const char *  name)
protected

◆ mitkAlgorithmNewMacro()

mitk::SegmentationSink::mitkAlgorithmNewMacro ( SegmentationSink  )

◆ mitkClassMacro()

mitk::SegmentationSink::mitkClassMacro ( SegmentationSink  ,
NonBlockingAlgorithm   
)

◆ ReadyToRun()

bool mitk::SegmentationSink::ReadyToRun ( )
overrideprotectedvirtual

◆ ThreadedUpdateFunction()

bool mitk::SegmentationSink::ThreadedUpdateFunction ( )
overrideprotectedvirtual

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