Medical Imaging Interaction Toolkit  2023.12.99-63768887
Medical Imaging Interaction Toolkit
mitk::CESTImageNormalizationFilter Class Reference

Normalization filter for CEST images. More...

#include <mitkCESTImageNormalizationFilter.h>

Inheritance diagram for mitk::CESTImageNormalizationFilter:
Collaboration diagram for mitk::CESTImageNormalizationFilter:

Public Member Functions

 mitkClassMacro (CESTImageNormalizationFilter, ImageToImageFilter)
 
Pointer Clone () const
 
- Public Member Functions inherited from mitk::ImageToImageFilter
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int, const InputImageType *image)
 
InputImageTypeGetInput (void)
 
InputImageTypeGetInput (unsigned int idx)
 
const InputImageTypeGetInput (void) const
 
const InputImageTypeGetInput (unsigned int idx) const
 
- Public Member Functions inherited from mitk::ImageSource
Pointer Clone () const
 
OutputTypeGetOutput ()
 Get the output data of this image source object. More...
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Make a DataObject of the correct type to used as the specified output. More...
 
itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 
virtual const vtkImageData * GetVtkImageData () const
 
- Public Member Functions inherited from mitk::BaseDataSource
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...
 
bool Updating () const
 Access itk::ProcessObject::m_Updating. More...
 

Static Public Member Functions

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

Protected Member Functions

 CESTImageNormalizationFilter ()
 standard constructor More...
 
 ~CESTImageNormalizationFilter () override
 standard destructor More...
 
void GenerateOutputInformation () override
 Method generating the output information of this filter (e.g. image dimension, image type, etc.). The interface ImageToImageFilter requires this implementation. Everything is taken from the input image. More...
 
void GenerateData () override
 Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the normalized output image. More...
 
template<typename TPixel , unsigned int VImageDimension>
void NormalizeTimeSteps (const itk::Image< TPixel, VImageDimension > *image)
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
 ~ImageToImageFilter () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void GenerateInputRequestedRegion () override
 
- 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 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 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 ()
 
 ~BaseDataSource () override
 

Protected Attributes

std::string m_RealOffsets
 Offsets without M0s. More...
 
std::vector< unsigned int > m_NonM0Indices
 non M0 indices More...
 

Additional Inherited Members

- Public Types inherited from mitk::ImageToImageFilter
typedef ImageToImageFilter Self
 
typedef ImageSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef mitk::Image InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef SlicedData::RegionType InputImageRegionType
 
- Public Types inherited from mitk::ImageSource
typedef ImageSource Self
 
typedef BaseDataSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
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 BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 
- 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

Normalization filter for CEST images.

This filter can be used to normalize CEST images, it only works with 4D images and assumes that the input mitk::Image has a property called mitk::CustomTagParser::m_OffsetsPropertyName, whith offsets separated by spaces. The number of offsets has to match the number of timesteps.

Each timestep with a corresponding offset greater than 299 or less than -299 will be interpreted as normalization (M0) image. If only one M0 image is present normalization will be done by dividing the voxel value by the corresponding M0 voxel value. If multiple M0 images are present normalization between any two M0 images will be done by dividing by a linear interpolation between the two. The M0 images themselves will be removed from the result. The output image will have the same 3D geometry as the input image, a time geometry only consisting of non M0 images and a double pixel type.

Definition at line 35 of file mitkCESTImageNormalizationFilter.h.

Constructor & Destructor Documentation

◆ CESTImageNormalizationFilter()

mitk::CESTImageNormalizationFilter::CESTImageNormalizationFilter ( )
protected

standard constructor

◆ ~CESTImageNormalizationFilter()

mitk::CESTImageNormalizationFilter::~CESTImageNormalizationFilter ( )
overrideprotected

standard destructor

Member Function Documentation

◆ Clone()

Pointer mitk::CESTImageNormalizationFilter::Clone ( ) const

◆ GenerateData()

void mitk::CESTImageNormalizationFilter::GenerateData ( )
overrideprotected

Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the normalized output image.

◆ GenerateOutputInformation()

void mitk::CESTImageNormalizationFilter::GenerateOutputInformation ( )
overrideprotected

Method generating the output information of this filter (e.g. image dimension, image type, etc.). The interface ImageToImageFilter requires this implementation. Everything is taken from the input image.

◆ mitkClassMacro()

mitk::CESTImageNormalizationFilter::mitkClassMacro ( CESTImageNormalizationFilter  ,
ImageToImageFilter   
)

◆ New()

static Pointer mitk::CESTImageNormalizationFilter::New ( )
static

◆ NormalizeTimeSteps()

template<typename TPixel , unsigned int VImageDimension>
void mitk::CESTImageNormalizationFilter::NormalizeTimeSteps ( const itk::Image< TPixel, VImageDimension > *  image)
protected

Internal templated method that normalizes across timesteps

Member Data Documentation

◆ m_NonM0Indices

std::vector< unsigned int > mitk::CESTImageNormalizationFilter::m_NonM0Indices
protected

non M0 indices

Definition at line 71 of file mitkCESTImageNormalizationFilter.h.

◆ m_RealOffsets

std::string mitk::CESTImageNormalizationFilter::m_RealOffsets
protected

Offsets without M0s.

Definition at line 68 of file mitkCESTImageNormalizationFilter.h.


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