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

Provides static methods for image transformations including multi-resolution decomposition, Laplacian of Gaussian filtering, wavelet transforms, and image resampling. More...

#include <mitkTransformationOperation.h>

Static Public Member Functions

static std::vector< Image::Pointer > MultiResolution (Image::Pointer &image, unsigned int numberOfLevels, bool outputAsDouble=false)
 Compute a multi-resolution Gaussian pyramid decomposition of an image. More...
 
static Image::Pointer LaplacianOfGaussian (Image::Pointer &image, double sigma, bool outputAsDouble=false)
 Apply a Laplacian of Gaussian (LoG) filter to an image. More...
 
static std::vector< Image::Pointer > WaveletForward (Image::Pointer &image, unsigned int numberOfLevels, unsigned int numberOfBands, BorderCondition condition, WaveletType waveletType)
 Compute a forward wavelet decomposition of an image. More...
 
static Image::Pointer ResampleImage (Image::Pointer &image, mitk::Vector3D spacing, mitk::ImageMappingInterpolator::Type interpolator, GridInterpolationPositionType position, bool returnAsDouble, bool roundOutput)
 Resample an image to a new voxel spacing. More...
 
static Image::Pointer ResampleMask (Image::Pointer &image, mitk::Vector3D spacing, mitk::ImageMappingInterpolator::Type interpolator, GridInterpolationPositionType position)
 Resample a binary mask image to a new voxel spacing. More...
 

Detailed Description

Provides static methods for image transformations including multi-resolution decomposition, Laplacian of Gaussian filtering, wavelet transforms, and image resampling.

The TransformationOperation class offers a set of static methods for spatial and frequency-domain transformations on mitk::Image objects. These include:

  • Multi-resolution Gaussian pyramid decomposition
  • Laplacian of Gaussian edge detection
  • Forward wavelet decomposition with selectable wavelet families
  • Image resampling with configurable interpolation and grid positioning
  • Mask resampling with automatic thresholding for non-nearest-neighbor interpolators
See also
ArithmeticOperation, MaskCleaningOperation

Definition at line 71 of file mitkTransformationOperation.h.

Member Function Documentation

◆ LaplacianOfGaussian()

static Image::Pointer mitk::TransformationOperation::LaplacianOfGaussian ( Image::Pointer &  image,
double  sigma,
bool  outputAsDouble = false 
)
static

Apply a Laplacian of Gaussian (LoG) filter to an image.

Computes the Laplacian of the image after Gaussian smoothing with the specified sigma. This is useful for edge detection and blob detection at a given scale.

Parameters
[in]imageThe input image to filter.
[in]sigmaThe standard deviation of the Gaussian kernel in physical units.
[in]outputAsDoubleIf true, the output image has double pixel type. Default: false.
Returns
A new image containing the Laplacian of Gaussian filtered result.

◆ MultiResolution()

static std::vector<Image::Pointer> mitk::TransformationOperation::MultiResolution ( Image::Pointer &  image,
unsigned int  numberOfLevels,
bool  outputAsDouble = false 
)
static

Compute a multi-resolution Gaussian pyramid decomposition of an image.

Uses ITK's RecursiveMultiResolutionPyramidImageFilter to produce a set of progressively lower-resolution versions of the input image. Level 0 is the lowest resolution.

Parameters
[in]imageThe input image to decompose.
[in]numberOfLevelsThe number of pyramid levels to generate.
[in]outputAsDoubleIf true, output images have double pixel type. Default: false.
Returns
A vector of images, one per pyramid level, ordered from lowest to highest resolution.

◆ ResampleImage()

static Image::Pointer mitk::TransformationOperation::ResampleImage ( Image::Pointer &  image,
mitk::Vector3D  spacing,
mitk::ImageMappingInterpolator::Type  interpolator,
GridInterpolationPositionType  position,
bool  returnAsDouble,
bool  roundOutput 
)
static

Resample an image to a new voxel spacing.

Resamples the input image to the specified spacing using the given interpolation method and grid positioning strategy. Only spacing components greater than 0 are applied; components set to 0 or less retain the original spacing.

Parameters
[in]imageThe input image to resample.
[in]spacingThe desired output spacing vector. Components <= 0 are ignored.
[in]interpolatorThe interpolation method to use (e.g., Linear, NearestNeighbor, BSpline3).
[in]positionThe grid positioning strategy controlling how the output grid aligns with the input image.
[in]returnAsDoubleIf true, the image is first cast to double pixel type before resampling.
[in]roundOutputIf true, the resampled result is rounded back to the original pixel type.
Returns
A new image resampled to the specified spacing.
See also
GridInterpolationPositionType, ResampleMask

◆ ResampleMask()

static Image::Pointer mitk::TransformationOperation::ResampleMask ( Image::Pointer &  image,
mitk::Vector3D  spacing,
mitk::ImageMappingInterpolator::Type  interpolator,
GridInterpolationPositionType  position 
)
static

Resample a binary mask image to a new voxel spacing.

Specialized resampling for binary mask images. When using nearest-neighbor interpolation, this delegates directly to ResampleImage(). For other interpolation methods, the mask is resampled as a double image and then thresholded at 0.5 to produce a binary result, preserving mask boundaries more accurately than direct nearest-neighbor resampling.

Parameters
[in]imageThe input mask image to resample (unsigned short expected).
[in]spacingThe desired output spacing vector. Components <= 0 are ignored.
[in]interpolatorThe interpolation method to use.
[in]positionThe grid positioning strategy.
Returns
A new binary mask image resampled to the specified spacing.
See also
ResampleImage, GridInterpolationPositionType

◆ WaveletForward()

static std::vector<Image::Pointer> mitk::TransformationOperation::WaveletForward ( Image::Pointer &  image,
unsigned int  numberOfLevels,
unsigned int  numberOfBands,
BorderCondition  condition,
WaveletType  waveletType 
)
static

Compute a forward wavelet decomposition of an image.

Performs a frequency-domain wavelet decomposition using the specified isotropic wavelet function. The input image is FFT-padded with the chosen boundary condition before transformation.

Parameters
[in]imageThe input image to decompose.
[in]numberOfLevelsThe number of decomposition levels.
[in]numberOfBandsThe number of high-pass sub-bands per level.
[in]conditionThe boundary condition for FFT padding.
[in]waveletTypeThe isotropic wavelet function to use.
Returns
A vector of images representing the wavelet sub-bands. For each level, numberOfBands images are produced, plus one low-pass image at the coarsest level.
See also
BorderCondition, WaveletType

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