Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType > Class Template Reference
[Image Functions]

Evaluates the B-Spline interpolation of an image. Spline order may be from 0 to 5. More...

#include <itkBSplineInterpolateImageFunction.h>

Inheritance diagram for itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >:

Inheritance graph
[legend]
Collaboration diagram for itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef BSplineInterpolateImageFunction Self
typedef InterpolateImageFunction<
TImageType, TCoordRep > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::OutputType OutputType
typedef Superclass::InputImageType InputImageType
typedef Superclass::IndexType IndexType
typedef Superclass::ContinuousIndexType ContinuousIndexType
typedef Superclass::PointType PointType
typedef itk::ImageLinearIteratorWithIndex<
TImageType
Iterator
typedef TCoefficientType CoefficientDataType
typedef itk::Image< CoefficientDataType,
itkGetStaticConstMacro(ImageDimension) 
CoefficientImageType )
typedef itk::BSplineDecompositionImageFilter<
TImageType, CoefficientImageType
CoefficientFilter
typedef CoefficientFilter::Pointer CoefficientFilterPointer
typedef CovariantVector< OutputType,
itkGetStaticConstMacro(ImageDimension) 
CovariantVectorType )

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension)
virtual OutputType EvaluateAtContinuousIndex (const ContinuousIndexType &index) const
CovariantVectorType EvaluateDerivative (const PointType &point) const
CovariantVectorType EvaluateDerivativeAtContinuousIndex (const ContinuousIndexType &x) const
virtual void SetInputImage (const TImageType *inputData)
void SetSplineOrder (unsigned int SplineOrder)
virtual int GetSplineOrder ()

Static Public Member Functions

Pointer New ()

Protected Member Functions

 BSplineInterpolateImageFunction ()
virtual ~BSplineInterpolateImageFunction ()
void operator= (const Self &)
void PrintSelf (std::ostream &os, Indent indent) const

Protected Attributes

std::vector< CoefficientDataTypem_Scratch
TImageType::SizeType m_DataLength
unsigned int m_SplineOrder
CoefficientImageType::ConstPointer m_Coefficients

Detailed Description

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
class itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >

Evaluates the B-Spline interpolation of an image. Spline order may be from 0 to 5.

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

The B spline coefficients are calculated through the BSplineDecompositionImageFilter

Limitations: Spline order must be between 0 and 5. Spline order must be set before setting the image. Uses mirror boundary conditions. Requires the same order of Spline for each dimension. Spline is determined in all dimensions, cannot selectively pick dimension for calculating spline.

See also:
BSplineDecompositionImageFilter

Definition at line 73 of file itkBSplineInterpolateImageFunction.h.


Member Typedef Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef TCoefficientType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientDataType
 

Internal Coefficient typedef support

Definition at line 112 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::BSplineDecompositionImageFilter<TImageType, CoefficientImageType> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilter
 

Define filter for calculating the BSpline coefficients

Definition at line 119 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef CoefficientFilter::Pointer itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilterPointer
 

Definition at line 120 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::Image<CoefficientDataType, itkGetStaticConstMacro(ImageDimension) itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientImageType)
 

Definition at line 115 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef SmartPointer<const Self> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ConstPointer
 

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

Definition at line 81 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::ContinuousIndexType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ContinuousIndexType
 

ContinuousIndex typedef support.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 103 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef CovariantVector<OutputType, itkGetStaticConstMacro(ImageDimension) itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CovariantVectorType)
 

Derivative typedef support

Definition at line 136 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::IndexType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::IndexType
 

Index typedef support.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 100 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::InputImageType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::InputImageType
 

InputImageType typedef support.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 94 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef itk::ImageLinearIteratorWithIndex<TImageType> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Iterator
 

Iterator typedef support

Definition at line 109 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::OutputType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::OutputType
 

OutputType typedef support.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 91 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef SmartPointer<Self> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Pointer
 

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

Definition at line 80 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef Superclass::PointType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PointType
 

PointType typedef support

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Definition at line 106 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef BSplineInterpolateImageFunction itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Self
 

Standard class typedefs.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

Definition at line 78 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
typedef InterpolateImageFunction<TImageType,TCoordRep> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Superclass
 

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

Definition at line 79 of file itkBSplineInterpolateImageFunction.h.


Constructor & Destructor Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::BSplineInterpolateImageFunction  )  [protected]
 

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::~BSplineInterpolateImageFunction  )  [inline, protected, virtual]
 

Definition at line 161 of file itkBSplineInterpolateImageFunction.h.


Member Function Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual OutputType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateAtContinuousIndex const ContinuousIndexType index  )  const [virtual]
 

Evaluate the function at a ContinuousIndex position.

Returns the B-Spline interpolated image intensity at a specified point position. No bounds checking is done. The point is assume to lie within the image buffer.

ImageFunction::IsInsideBuffer() can be used to check bounds before calling the method.

Implements itk::InterpolateImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CovariantVectorType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivative const PointType point  )  const [inline]
 

Definition at line 138 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CovariantVectorType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivativeAtContinuousIndex const ContinuousIndexType x  )  const
 

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual const char* itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual int itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetSplineOrder  )  [virtual]
 

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

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::itkStaticConstMacro ImageDimension  ,
unsigned  int,
Superclass::ImageDimension 
 

Dimension underlying input image.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
Pointer itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::New  )  [static]
 

New macro for creation of through a Smart Pointer

Reimplemented from itk::Object.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::operator= const Self  )  [protected]
 

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::InterpolateImageFunction< TImageType, TCoordRep >.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
virtual void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetInputImage const TImageType inputData  )  [virtual]
 

Set the input image. This must be set by the user.

Reimplemented in itk::BSplineResampleImageFunction< TImageType, TCoordRep >.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetSplineOrder unsigned int  SplineOrder  ) 
 

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


Member Data Documentation

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
CoefficientImageType::ConstPointer itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Coefficients [protected]
 

Definition at line 170 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
TImageType::SizeType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_DataLength [protected]
 

Definition at line 167 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
std::vector<CoefficientDataType> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Scratch [protected]
 

Definition at line 166 of file itkBSplineInterpolateImageFunction.h.

template<class TImageType, class TCoordRep = double, class TCoefficientType = double>
unsigned int itk::BSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_SplineOrder [protected]
 

Definition at line 168 of file itkBSplineInterpolateImageFunction.h.


The documentation for this class was generated from the following file:
Generated at Thu May 25 00:31:40 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000