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

Contour-based correction algorithm for 2D binary segmentation images. More...

#include <mitkCorrectorAlgorithm.h>

Inheritance diagram for mitk::CorrectorAlgorithm:
Collaboration diagram for mitk::CorrectorAlgorithm:

Classes

struct  TSegData
 

Public Types

typedef mitk::Label::PixelType DefaultSegmentationDataType
 
- Public Types inherited from mitk::ImageToImageFilter
typedef Superclass::OutputImageRegionType OutputImageRegionType
 Superclass typedefs. More...
 
typedef mitk::Image InputImageType
 Some convenient typedefs. More...
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef SlicedData::RegionType InputImageRegionType
 
- Public Types inherited from mitk::ImageSource
typedef mitk::Image OutputImageType
 Some convenient typedefs. More...
 
typedef OutputImageType OutputType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef SlicedData::RegionType OutputImageRegionType
 
- Public Types inherited from mitk::BaseDataSource
typedef BaseData OutputType
 Output data type. More...
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 Identifier type for named data objects. More...
 

Public Member Functions

 mitkClassMacro (CorrectorAlgorithm, ImageToImageFilter)
 
Pointer Clone () const
 
void SetContour (ContourModel *contour)
 Set the user-drawn contour that defines the correction region. More...
 
virtual void SetFillColor (int _arg)
 
virtual int GetFillColor () const
 
virtual void SetEraseColor (int _arg)
 
virtual int GetEraseColor () const
 
- Public Member Functions inherited from mitk::ImageToImageFilter
 mitkClassMacro (ImageToImageFilter, ImageSource)
 
Pointer Clone () const
 
virtual void SetInput (const InputImageType *image)
 Set the image input of this process object. More...
 
virtual void SetInput (unsigned int idx, const InputImageType *image)
 Set the image input at the specified index. More...
 
InputImageType * GetInput (void)
 Get the input image (non-const). More...
 
InputImageType * GetInput (unsigned int idx)
 Get the input image at the specified index (non-const). More...
 
const InputImageType * GetInput (void) const
 Get the input image (const). More...
 
const InputImageType * GetInput (unsigned int idx) const
 Get the input image at the specified index (const). More...
 
- Public Member Functions inherited from mitk::ImageSource
 mitkClassMacro (ImageSource, BaseDataSource)
 
Pointer Clone () const
 
mitkBaseDataSourceGetOutputDeclarations itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Get the output data of this image source object. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 Get the output as VTK image data (non-const version). More...
 
virtual const vtkImageData * GetVtkImageData () const
 Get the output as VTK image data (const version). More...
 
- Public Member Functions inherited from mitk::BaseDataSource
 mitkClassMacroItkParent (BaseDataSource, itk::ProcessObject)
 
OutputType * GetOutput ()
 
const OutputType * GetOutput () const
 
OutputType * GetOutput (DataObjectPointerArraySizeType idx)
 
const OutputType * GetOutput (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)
 Graft the specified base data object onto a named output. More...
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
bool Updating () const
 Check whether the pipeline is currently executing. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::ImageToImageFilter
static Pointer New ()
 Method for creation through the object factory. More...
 
- Static Public Member Functions inherited from mitk::ImageSource
static Pointer New ()
 Method for creation through the object factory. More...
 

Protected Member Functions

 CorrectorAlgorithm ()
 
 ~CorrectorAlgorithm () override
 
void GenerateData () override
 Perform the actual contour correction processing. More...
 
bool ImprovedHeimannCorrectionAlgorithm (itk::Image< DefaultSegmentationDataType, 2 >::Pointer pic)
 Apply the improved Heilmann correction algorithm on the given 2D image. More...
 
bool ModifySegment (const TSegData &segment, itk::Image< DefaultSegmentationDataType, 2 >::Pointer pic)
 Modify a single segment in the image according to the correction contour. More...
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
 ~ImageToImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 Print self information to the given stream. More...
 
void GenerateInputRequestedRegion () override
 Determine the input requested region to produce the output requested region. More...
 
- Protected Member Functions inherited from mitk::ImageSource
 ImageSource ()
 
 ~ImageSource () override
 
void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More...
 
void PrepareOutputs () override
 This method is intentionally left blank. More...
 
virtual void AllocateOutputs ()
 The GenerateData method normally allocates the buffers for all of the outputs of a filter. More...
 
virtual void BeforeThreadedGenerateData ()
 If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can provide an implementation for BeforeThreadedGenerateData(). More...
 
virtual void AfterThreadedGenerateData ()
 If an imaging filter needs to perform processing after all processing threads have completed, the filter can provide an implementation for AfterThreadedGenerateData(). More...
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion)
 Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More...
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 Constructor. More...
 
 ~BaseDataSource () override
 Destructor. More...
 

Protected Attributes

Image::Pointer m_WorkingImage
 
ContourModel::Pointer m_Contour
 
Image::Pointer m_DifferenceImage
 
int m_FillColor
 
int m_EraseColor
 

Additional Inherited Members

- Static Protected Member Functions inherited from mitk::ImageSource
static itk::ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 Static function used as a "callback" by the MultiThreader. More...
 
- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

Contour-based correction algorithm for 2D binary segmentation images.

This class takes a 2D binary image and a user-drawn contour. The algorithm tests whether the line begins and ends inside or outside the segmentation and determines whether areas should be added to or subtracted from the segmentation shape.

The output is the modified input image, combining the original input with the generated difference.

See also
CorrectorTool2D

Definition at line 38 of file mitkCorrectorAlgorithm.h.

Member Typedef Documentation

◆ DefaultSegmentationDataType

Constructor & Destructor Documentation

◆ CorrectorAlgorithm()

mitk::CorrectorAlgorithm::CorrectorAlgorithm ( )
protected

◆ ~CorrectorAlgorithm()

mitk::CorrectorAlgorithm::~CorrectorAlgorithm ( )
overrideprotected

Member Function Documentation

◆ Clone()

Pointer mitk::CorrectorAlgorithm::Clone ( ) const

◆ GenerateData()

void mitk::CorrectorAlgorithm::GenerateData ( )
overrideprotected

Perform the actual contour correction processing.

◆ GetEraseColor()

virtual int mitk::CorrectorAlgorithm::GetEraseColor ( ) const
virtual

◆ GetFillColor()

virtual int mitk::CorrectorAlgorithm::GetFillColor ( ) const
virtual

◆ ImprovedHeimannCorrectionAlgorithm()

bool mitk::CorrectorAlgorithm::ImprovedHeimannCorrectionAlgorithm ( itk::Image< DefaultSegmentationDataType, 2 >::Pointer  pic)
protected

Apply the improved Heilmann correction algorithm on the given 2D image.

Returns
True if the correction was applied successfully.

◆ mitkClassMacro()

mitk::CorrectorAlgorithm::mitkClassMacro ( CorrectorAlgorithm  ,
ImageToImageFilter   
)

◆ ModifySegment()

bool mitk::CorrectorAlgorithm::ModifySegment ( const TSegData &  segment,
itk::Image< DefaultSegmentationDataType, 2 >::Pointer  pic 
)
protected

Modify a single segment in the image according to the correction contour.

Returns
True if the segment was modified successfully.

◆ New()

static Pointer mitk::CorrectorAlgorithm::New ( )
static

◆ SetContour()

void mitk::CorrectorAlgorithm::SetContour ( ContourModel *  contour)
inline

Set the user-drawn contour that defines the correction region.

Definition at line 50 of file mitkCorrectorAlgorithm.h.

◆ SetEraseColor()

virtual void mitk::CorrectorAlgorithm::SetEraseColor ( int  _arg)
virtual

◆ SetFillColor()

virtual void mitk::CorrectorAlgorithm::SetFillColor ( int  _arg)
virtual

Member Data Documentation

◆ m_Contour

ContourModel::Pointer mitk::CorrectorAlgorithm::m_Contour
protected

Definition at line 85 of file mitkCorrectorAlgorithm.h.

◆ m_DifferenceImage

Image::Pointer mitk::CorrectorAlgorithm::m_DifferenceImage
protected

Definition at line 86 of file mitkCorrectorAlgorithm.h.

◆ m_EraseColor

int mitk::CorrectorAlgorithm::m_EraseColor
protected

Definition at line 89 of file mitkCorrectorAlgorithm.h.

◆ m_FillColor

int mitk::CorrectorAlgorithm::m_FillColor
protected

Definition at line 88 of file mitkCorrectorAlgorithm.h.

◆ m_WorkingImage

Image::Pointer mitk::CorrectorAlgorithm::m_WorkingImage
protected

Definition at line 84 of file mitkCorrectorAlgorithm.h.


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