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

Filter for comparing two multi-channel mitk::Image objects by pixel values. More...

#include <mitkMultiComponentImageDataComparisonFilter.h>

Inheritance diagram for mitk::MultiComponentImageDataComparisonFilter:
Collaboration diagram for mitk::MultiComponentImageDataComparisonFilter:

Public Member Functions

 mitkClassMacro (MultiComponentImageDataComparisonFilter, ImageToImageFilter)
 
 itkSimpleNewMacro (Self)
 
void SetTestImage (const Image *_arg)
 Set the test image to compare against the valid (reference) image. More...
 
const Image * GetTestImage ()
 Get the test image. More...
 
void SetValidImage (const Image *_arg)
 Set the valid (reference) image for comparison. More...
 
const Image * GetValidImage ()
 Get the valid (reference) image. More...
 
virtual void SetTolerance (double _arg)
 Specify the tolerance for per-pixel comparison. More...
 
virtual double GetTolerance ()
 Get the tolerance for per-pixel comparison. More...
 
void SetCompareFilterResult (CompareFilterResults *results)
 Set a CompareFilterResults struct to receive detailed comparison results. More...
 
CompareFilterResults * GetCompareFilterResult ()
 Get the detailed results of the comparison run. More...
 
bool GetResult (double threshold=0.0f)
 Get the overall result of the comparison. More...
 
- 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...
 

Protected Member Functions

 MultiComponentImageDataComparisonFilter ()
 
 ~MultiComponentImageDataComparisonFilter () override
 
void GenerateData () override
 
template<typename TPixel >
void CompareMultiComponentImage (const Image *testImage, const Image *validImage)
 
- 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

double m_Tolerance
 
bool m_CompareResult
 
CompareFilterResults * m_CompareDetails
 

Additional Inherited Members

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

Filter for comparing two multi-channel mitk::Image objects by pixel values.

The comparison is performed channel-wise and pixel-wise. The filter supports all common pixel component types (char, short, int, long, float, double and their unsigned variants).

See also
CompareImageDataFilter
ImageToImageFilter

Definition at line 35 of file mitkMultiComponentImageDataComparisonFilter.h.

Constructor & Destructor Documentation

◆ MultiComponentImageDataComparisonFilter()

mitk::MultiComponentImageDataComparisonFilter::MultiComponentImageDataComparisonFilter ( )
protected

◆ ~MultiComponentImageDataComparisonFilter()

mitk::MultiComponentImageDataComparisonFilter::~MultiComponentImageDataComparisonFilter ( )
overrideprotected

Member Function Documentation

◆ CompareMultiComponentImage()

template<typename TPixel >
void mitk::MultiComponentImageDataComparisonFilter::CompareMultiComponentImage ( const Image *  testImage,
const Image *  validImage 
)
protected

◆ GenerateData()

void mitk::MultiComponentImageDataComparisonFilter::GenerateData ( )
overrideprotected

◆ GetCompareFilterResult()

CompareFilterResults* mitk::MultiComponentImageDataComparisonFilter::GetCompareFilterResult ( )

Get the detailed results of the comparison run.

Returns
Pointer to the CompareFilterResults struct, or nullptr if none was set.
See also
CompareFilterResults

◆ GetResult()

bool mitk::MultiComponentImageDataComparisonFilter::GetResult ( double  threshold = 0.0f)

Get the overall result of the comparison.

Compares the number of pixels with differences against the given threshold. Returns true if the number of differing pixels is at or below the threshold. Returns false if the comparison found differences above the threshold or if the filter raised an exception during update.

Parameters
thresholdAllowed number of pixels with differences. Default is 0.0.
Returns
true if the images are considered equal within tolerance and threshold.
See also
GetCompareFilterResult

◆ GetTestImage()

const Image* mitk::MultiComponentImageDataComparisonFilter::GetTestImage ( )

Get the test image.

◆ GetTolerance()

virtual double mitk::MultiComponentImageDataComparisonFilter::GetTolerance ( )
virtual

Get the tolerance for per-pixel comparison.

◆ GetValidImage()

const Image* mitk::MultiComponentImageDataComparisonFilter::GetValidImage ( )

Get the valid (reference) image.

◆ itkSimpleNewMacro()

mitk::MultiComponentImageDataComparisonFilter::itkSimpleNewMacro ( Self  )

◆ mitkClassMacro()

mitk::MultiComponentImageDataComparisonFilter::mitkClassMacro ( MultiComponentImageDataComparisonFilter  ,
ImageToImageFilter   
)

◆ SetCompareFilterResult()

void mitk::MultiComponentImageDataComparisonFilter::SetCompareFilterResult ( CompareFilterResults *  results)

Set a CompareFilterResults struct to receive detailed comparison results.

Parameters
resultsPointer to the results struct that will be populated during GenerateData().

◆ SetTestImage()

void mitk::MultiComponentImageDataComparisonFilter::SetTestImage ( const Image *  _arg)

Set the test image to compare against the valid (reference) image.

This image is set as the second input (index 1) of the filter.

◆ SetTolerance()

virtual void mitk::MultiComponentImageDataComparisonFilter::SetTolerance ( double  _arg)
virtual

Specify the tolerance for per-pixel comparison.

Pixel differences at or below this tolerance are not counted as differences. Default is 0.0.

◆ SetValidImage()

void mitk::MultiComponentImageDataComparisonFilter::SetValidImage ( const Image *  _arg)

Set the valid (reference) image for comparison.

This image is set as the first input (index 0) of the filter.

Member Data Documentation

◆ m_CompareDetails

CompareFilterResults* mitk::MultiComponentImageDataComparisonFilter::m_CompareDetails
protected

◆ m_CompareResult

bool mitk::MultiComponentImageDataComparisonFilter::m_CompareResult
protected

◆ m_Tolerance

double mitk::MultiComponentImageDataComparisonFilter::m_Tolerance
protected

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