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

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

#include <itkMultiOrderBSplineDecompositionImageFilter.h>

Inheritance diagram for itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >:
Inheritance graph
[legend]
Collaboration diagram for itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >:
Collaboration 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)

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 66 of file itkMultiOrderBSplineDecompositionImageFilter.h.


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 80 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 96 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 71 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 ( ) [inline, protected, virtual]
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 ( ) [private, virtual]

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 ( OutputImageDimension  ,
unsigned  int,
TOutputImage::ImageDimension   
)
template<class TInputImage , class TOutputImage >
itk::MultiOrderBSplineDecompositionImageFilter< TInputImage, TOutputImage >::itkStaticConstMacro ( ImageDimension  ,
unsigned  int,
TInputImage::ImageDimension   
)

Dimension underlying input image.

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) [private, virtual]

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) [private, virtual]

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) [private, virtual]

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 134 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 24-10-2011 for elastix by doxygen 1.7.4 elastix logo