#include <itkMultiOrderBSplineDecompositionImageFilter.h>
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
***TODO: Is this an ImageFilter? or does it belong to another group?
Definition at line 81 of file itkMultiOrderBSplineDecompositionImageFilter.h.
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) |
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CoeffType = typename itk::NumericTraits<typename TOutputImage::PixelType>::RealType |
Definition at line 105 of file itkMultiOrderBSplineDecompositionImageFilter.h.
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 91 of file itkMultiOrderBSplineDecompositionImageFilter.h.
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::OutputLinearIterator = ImageLinearIteratorWithIndex<TOutputImage> |
Iterator typedef support
Definition at line 112 of file itkMultiOrderBSplineDecompositionImageFilter.h.
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer<Self> |
Definition at line 90 of file itkMultiOrderBSplineDecompositionImageFilter.h.
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Self = MultiOrderBSplineDecompositionImageFilter |
Standard class typedefs.
Definition at line 88 of file itkMultiOrderBSplineDecompositionImageFilter.h.
using itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Superclass = ImageToImageFilter<TInputImage, TOutputImage> |
Definition at line 89 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
|
overrideprotecteddefault |
|
private |
Copies a vector of data from the Coefficients image to the m_Scratch vector.
|
private |
Used to initialize the Coefficients image before calculation.
|
private |
Copies a vector of data from m_Scratch to the Coefficients image.
|
privatevirtual |
Converts a vector of data to a vector of Spline coefficients.
|
private |
Converts an N-dimension image of data to an equivalent sized image of spline coefficients.
|
overrideprotected |
This filter must produce all of its output at once.
|
overrideprotected |
|
overrideprotected |
This filter requires all of the input image.
|
virtual |
Run-time type information (and related methods).
|
inline |
Definition at line 123 of file itkMultiOrderBSplineDecompositionImageFilter.h.
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage > | ) |
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro | ( | ImageDimension | , |
unsigned int | , | ||
TInputImage::ImageDimension | ) |
Dimension underlying input image.
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro | ( | OutputImageDimension | , |
unsigned int | , | ||
TOutputImage::ImageDimension | ) |
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotected |
|
privatevirtual |
Determines the first coefficient for the anti-causal filtering of the data.
|
privatevirtual |
Determines the first coefficient for the causal filtering of the data.
|
privatevirtual |
Determines the poles for dimension given the Spline Order.
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetSplineOrder | ( | unsigned int | dimension, |
unsigned int | order ) |
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.
|
protected |
Definition at line 157 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
Definition at line 164 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
Definition at line 162 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
These are needed by the smoothing spline routine.
Definition at line 156 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
Definition at line 160 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
Definition at line 161 of file itkMultiOrderBSplineDecompositionImageFilter.h.
|
protected |
Definition at line 163 of file itkMultiOrderBSplineDecompositionImageFilter.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |