|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Normalization filter for CEST images using M0 reference images. More...
#include <mitkCESTImageNormalizationFilter.h>


Public Member Functions | |
| mitkClassMacro (CESTImageNormalizationFilter, ImageToImageFilter) | |
| Pointer | Clone () 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 | |
| CESTImageNormalizationFilter () | |
| Standard constructor. More... | |
| ~CESTImageNormalizationFilter () override | |
| Standard destructor. More... | |
| void | GenerateOutputInformation () override |
| Generate 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 |
| Generate 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 |
| 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 | |
| std::string | m_RealOffsets |
| Offsets without M0s, space-separated, stored after normalization. More... | |
| std::vector< unsigned int > | m_NonM0Indices |
| Indices of non-M0 timesteps in the original input image. More... | |
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 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 () |
Normalization filter for CEST images using M0 reference images.
This filter normalizes CEST images by dividing each voxel value by the corresponding M0 (normalization) reference voxel value. It only works with 4D images and assumes that the input mitk::Image has a property called "CEST.Offsets" (mitk::CEST_PROPERTY_NAME_OFFSETS), with offsets separated by spaces. The number of offsets must match the number of timesteps.
Each timestep with a corresponding offset greater than 299 or less than -299 will be interpreted as a normalization (M0) image. If only one M0 image is present, normalization is done by dividing the voxel value by the corresponding M0 voxel value. If multiple M0 images are present, normalization between any two M0 images is done by dividing by a linear interpolation between them. The M0 images themselves are removed from the result.
The output image will have:
Definition at line 50 of file mitkCESTImageNormalizationFilter.h.
|
protected |
Standard constructor.
|
overrideprotected |
Standard destructor.
| Pointer mitk::CESTImageNormalizationFilter::Clone | ( | ) | const |
|
overrideprotected |
Generate the normalized output image.
Performs the actual M0 normalization across all timesteps. M0 timesteps are identified, linear interpolation weights are computed between adjacent M0 images, and each non-M0 timestep is divided by the interpolated M0 value. The time geometry is updated to exclude M0 timesteps.
| mitk::Exception | if the input image is not 4D. |
|
overrideprotected |
Generate 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.
| mitk::CESTImageNormalizationFilter::mitkClassMacro | ( | CESTImageNormalizationFilter | , |
| ImageToImageFilter | |||
| ) |
|
static |
|
protected |
Internal templated method that normalizes across timesteps.
| TPixel | The pixel type of the input image. |
| VImageDimension | The dimensionality of the input image (must be 4). |
| [in] | image | The ITK image to normalize. |
|
protected |
Indices of non-M0 timesteps in the original input image.
Definition at line 95 of file mitkCESTImageNormalizationFilter.h.
|
protected |
Offsets without M0s, space-separated, stored after normalization.
Definition at line 92 of file mitkCESTImageNormalizationFilter.h.