go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
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 82 of file itkMultiOrderBSplineDecompositionImageFilter.h.

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

Public Types

typedef itk::NumericTraits< typename TOutputImage::PixelType >::RealType CoeffType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::InputImageConstPointer InputImageConstPointer
 
typedef Superclass::InputImagePointer InputImagePointer
 
typedef Superclass::InputImageType InputImageType
 
typedef Superclass::OutputImagePointer OutputImagePointer
 
typedef ImageLinearIteratorWithIndex< TOutputImage > OutputLinearIterator
 
typedef SmartPointer< SelfPointer
 
typedef MultiOrderBSplineDecompositionImageFilter Self
 
typedef ImageToImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

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

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Protected Attributes

TInputImage::SizeType m_DataLength
 
unsigned int m_IteratorDirection
 
int m_NumberOfPoles
 
std::vector< CoeffTypem_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 ()
 
 MultiOrderBSplineDecompositionImageFilter (const Self &)
 
void operator= (const Self &)
 
virtual void SetInitialAntiCausalCoefficient (double z)
 
virtual void SetInitialCausalCoefficient (double z)
 
virtual void SetPoles (unsigned int dimension)
 

Member Typedef Documentation

template<class TInputImage , class TOutputImage >
typedef itk::NumericTraits< typename TOutputImage::PixelType >::RealType itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CoeffType
template<class TInputImage , class TOutputImage >
typedef SmartPointer< const Self > itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::ConstPointer
template<class TInputImage , class TOutputImage >
typedef Superclass::InputImageConstPointer itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::InputImageConstPointer
template<class TInputImage , class TOutputImage >
typedef Superclass::InputImagePointer itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::InputImagePointer
template<class TInputImage , class TOutputImage >
typedef Superclass::InputImageType itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::InputImageType

Inherit input and output image types from Superclass.

Definition at line 97 of file itkMultiOrderBSplineDecompositionImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef Superclass::OutputImagePointer itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::OutputImagePointer
template<class TInputImage , class TOutputImage >
typedef ImageLinearIteratorWithIndex< TOutputImage > itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::OutputLinearIterator

Iterator typedef support

Definition at line 113 of file itkMultiOrderBSplineDecompositionImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef SmartPointer< Self > itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Pointer
template<class TInputImage , class TOutputImage >
typedef MultiOrderBSplineDecompositionImageFilter itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Self

Standard class typedefs.

Definition at line 88 of file itkMultiOrderBSplineDecompositionImageFilter.h.

template<class TInputImage , class TOutputImage >
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage >
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::MultiOrderBSplineDecompositionImageFilter ( )
protected
template<class TInputImage , class TOutputImage >
virtual itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::~MultiOrderBSplineDecompositionImageFilter ( )
inlineprotectedvirtual
template<class TInputImage , class TOutputImage >
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::MultiOrderBSplineDecompositionImageFilter ( const Self )
private

Member Function Documentation

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.

template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::CopyImageToImage ( )
private

Used to initialize the Coefficients image before calculation.

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.

template<class TInputImage , class TOutputImage >
virtual bool itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::DataToCoefficients1D ( )
privatevirtual

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

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.

template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( DataObject *  output)
protected

This filter must produce all of its output at once.

template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GenerateData ( )
protected
template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( )
protected

This filter requires all of the input image.

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

Run-time type information (and related methods).

template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::GetSplineOrder ( unsigned int  dimension)
inline
template<class TInputImage , class TOutputImage >
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)

Dimension underlying input image.

template<class TInputImage , class TOutputImage >
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( OutputImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension   
)
template<class TInputImage , class TOutputImage >
static Pointer itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::New ( )
static

New macro for creation of through a Smart Pointer

template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage >
void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TInputImage , class TOutputImage >
virtual void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetInitialAntiCausalCoefficient ( double  z)
privatevirtual

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

template<class TInputImage , class TOutputImage >
virtual void itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::SetInitialCausalCoefficient ( double  z)
privatevirtual

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

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

Determines the poles for dimension given the Spline Order.

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.

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

Field Documentation

template<class TInputImage , class TOutputImage >
TInputImage::SizeType itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_DataLength
protected
template<class TInputImage , class TOutputImage >
unsigned int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_IteratorDirection
protected
template<class TInputImage , class TOutputImage >
int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_NumberOfPoles
protected
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.

template<class TInputImage , class TOutputImage >
unsigned int itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_SplineOrder[ImageDimension]
protected
template<class TInputImage , class TOutputImage >
double itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_SplinePoles[3]
protected
template<class TInputImage , class TOutputImage >
double itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::m_Tolerance
protected


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo