Loading...
Searching...
No Matches
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage > Class Template Reference

`#include <itkMultiOrderBSplineDecompositionImageFilter.h>`

## Detailed Description

template<class TInputImage, class TOutputImage>
class itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >

Calculates the B-Spline coefficients of an image. Spline order may be per dimension from 0 to 5 per.

This class defines N-Dimension B-Spline transformation. It is based on: [1] M. Unser, "Splines: A Perfect Fit for Signal and Image Processing," IEEE Signal Processing Magazine, vol. 16, no. 6, pp. 22-38, November 1999. [2] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part I--Theory," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 821-832, February 1993. [3] M. Unser, A. Aldroubi and M. Eden, "B-Spline Signal Processing: Part II--Efficient Design and Applications," IEEE Transactions on Signal Processing, vol. 41, no. 2, pp. 834-848, February 1993. And code obtained from bigwww.epfl.ch by Philippe Thevenaz

Limitations: Spline order must be between 0 and 5. Spline order must be set before setting the image. Uses mirror boundary conditions. Can only process LargestPossibleRegion

See also
  itkBSplineInterpolateImageFunction

***TODO: Is this an ImageFilter? or does it belong to another group?

Definition at line 81 of file itkMultiOrderBSplineDecompositionImageFilter.h.

Inheritance diagram for itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >:
[legend]

## Public Types

using | CoeffType = typename itk::NumericTraits<typename TOutputImage::PixelType>::RealType
using | ConstPointer = SmartPointer<const Self>
using | OutputLinearIterator = ImageLinearIteratorWithIndex<TOutputImage>
using | Pointer = SmartPointer<Self>
using | Self = MultiOrderBSplineDecompositionImageFilter
using | Superclass = ImageToImageFilter<TInputImage, TOutputImage>

## Public Member Functions

virtual const char * | GetClassName () const
void | GetSplineOrder (unsigned int dimension)
| ITK_DISALLOW_COPY_AND_MOVE (MultiOrderBSplineDecompositionImageFilter)
| itkStaticConstMacro (ImageDimension, unsigned int, TInputImage::ImageDimension)
| itkStaticConstMacro (OutputImageDimension, unsigned int, TOutputImage::ImageDimension)
void | SetSplineOrder (unsigned int dimension, unsigned int order)
void | SetSplineOrder (unsigned int order)

## Static Public Member Functions

static Pointer | New ()

## Protected Member Functions

void | EnlargeOutputRequestedRegion (DataObject *output) override
void | GenerateData () override
void | GenerateInputRequestedRegion () override
| MultiOrderBSplineDecompositionImageFilter ()
void | PrintSelf (std::ostream &os, Indent indent) const override
| ~MultiOrderBSplineDecompositionImageFilter () override=default

## Protected Attributes

TInputImage::SizeType | m_DataLength {}
unsigned int | m_IteratorDirection {}
int | m_NumberOfPoles {}
std::vector< CoeffType > | m_Scratch {}
unsigned int | m_SplineOrder [ImageDimension] {}
double | m_SplinePoles [3] {}
double | m_Tolerance {}

## Private Member Functions

void | CopyCoefficientsToScratch (OutputLinearIterator &)
void | CopyImageToImage ()
void | CopyScratchToCoefficients (OutputLinearIterator &)
virtual bool | DataToCoefficients1D ()
void | DataToCoefficientsND ()
virtual void | SetInitialAntiCausalCoefficient (double z)
virtual void | SetInitialCausalCoefficient (double z)
virtual void | SetPoles (unsigned int dimension)

## Member Typedef Documentation

## CoeffType

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CoeffType = typename itk::NumericTraits<typename TOutputImage::PixelType>::RealType

Definition at line 105 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## ConstPointer

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer<const Self>

Definition at line 91 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## OutputLinearIterator

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::OutputLinearIterator = ImageLinearIteratorWithIndex<TOutputImage>

Iterator typedef support

Definition at line 112 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## Pointer

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer<Self>

Definition at line 90 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## Self

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Self = MultiOrderBSplineDecompositionImageFilter

Standard class typedefs.

Definition at line 88 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## Superclass

template<class TInputImage, class TOutputImage>

using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Superclass = ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 89 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## Constructor & Destructor Documentation

## MultiOrderBSplineDecompositionImageFilter()

template<class TInputImage, class TOutputImage>

itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::MultiOrderBSplineDecompositionImageFilter | ( |  | ) |

protected

## ~MultiOrderBSplineDecompositionImageFilter()

template<class TInputImage, class TOutputImage>

itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::~MultiOrderBSplineDecompositionImageFilter | ( |  | ) |

override protected default

## Member Function Documentation

## CopyCoefficientsToScratch()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CopyCoefficientsToScratch | ( | OutputLinearIterator & |  | ) |

private

Copies a vector of data from the Coefficients image to the m_Scratch vector.

## CopyImageToImage()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CopyImageToImage | ( |  | ) |

private

Used to initialize the Coefficients image before calculation.

## CopyScratchToCoefficients()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CopyScratchToCoefficients | ( | OutputLinearIterator & |  | ) |

private

Copies a vector of data from m_Scratch to the Coefficients image.

## DataToCoefficients1D()

template<class TInputImage, class TOutputImage>

virtual bool itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::DataToCoefficients1D | ( |  | ) |

private virtual

Converts a vector of data to a vector of Spline coefficients.

## DataToCoefficientsND()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::DataToCoefficientsND | ( |  | ) |

private

Converts an N-dimension image of data to an equivalent sized image of spline coefficients.

## EnlargeOutputRequestedRegion()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion | ( | DataObject * | output | ) |

override protected

This filter must produce all of its output at once.

## GenerateData()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GenerateData | ( |  | ) |

override protected

## GenerateInputRequestedRegion()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion | ( |  | ) |

override protected

This filter requires all of the input image.

## GetClassName()

template<class TInputImage, class TOutputImage>

virtual const char * itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

## GetSplineOrder()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GetSplineOrder | ( | unsigned int | dimension | ) |

inline

Definition at line 123 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TInputImage, class TOutputImage>

itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TInputImage, class TOutputImage>

itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro | ( | ImageDimension | ,
|  | unsigned int | ,
|  | TInputImage::ImageDimension | )

Dimension underlying input image.

## itkStaticConstMacro() [2/2]

template<class TInputImage, class TOutputImage>

itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro | ( | OutputImageDimension | ,
|  | unsigned int | ,
|  | TOutputImage::ImageDimension | )

## New()

template<class TInputImage, class TOutputImage>

Pointer itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::New | ( |  | ) |

static

New macro for creation of through a Smart Pointer

## PrintSelf()

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

## SetInitialAntiCausalCoefficient()

template<class TInputImage, class TOutputImage>

virtual void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetInitialAntiCausalCoefficient | ( | double | z | ) |

private virtual

Determines the first coefficient for the anti-causal filtering of the data.

## SetInitialCausalCoefficient()

template<class TInputImage, class TOutputImage>

virtual void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetInitialCausalCoefficient | ( | double | z | ) |

private virtual

Determines the first coefficient for the causal filtering of the data.

## SetPoles()

template<class TInputImage, class TOutputImage>

virtual void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetPoles | ( | unsigned int | dimension | ) |

private virtual

Determines the poles for dimension given the Spline Order.

## SetSplineOrder() [1/2]

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetSplineOrder | ( | unsigned int | dimension,
|  | unsigned int | order )

## SetSplineOrder() [2/2]

template<class TInputImage, class TOutputImage>

void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetSplineOrder | ( | unsigned int | order | ) |

Get/Sets the Spline Order, supports 0th - 5th order splines. The default is a 3rd order spline.

## Field Documentation

## m_DataLength

template<class TInputImage, class TOutputImage>

TInputImage::SizeType itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_DataLength {}

protected

Definition at line 157 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_IteratorDirection

template<class TInputImage, class TOutputImage>

unsigned int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_IteratorDirection {}

protected

Definition at line 164 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_NumberOfPoles

template<class TInputImage, class TOutputImage>

int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_NumberOfPoles {}

protected

Definition at line 162 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_Scratch

template<class TInputImage, class TOutputImage>

std::vector<CoeffType> itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_Scratch {}

protected

These are needed by the smoothing spline routine.

Definition at line 156 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_SplineOrder

template<class TInputImage, class TOutputImage>

unsigned int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_SplineOrder[ImageDimension] {}

protected

Definition at line 160 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_SplinePoles

template<class TInputImage, class TOutputImage>

double itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_SplinePoles[3] {}

protected

Definition at line 161 of file itkMultiOrderBSplineDecompositionImageFilter.h.

## m_Tolerance

template<class TInputImage, class TOutputImage>

double itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_Tolerance {}

protected

Definition at line 163 of file itkMultiOrderBSplineDecompositionImageFilter.h.

Generated on 1768596610 for elastix by 1.15.0 |