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

itk::BSplineInterpolateImageFunction< TImageType, TCoordRep > Class Template Reference

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:

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

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 itk::BSplineDecompositionImageFilter<
TImageType, TImageType > 
CoefficientFilter
typedef CoefficientFilter::Pointer CoefficientFilterPointer
typedef CovariantVector< OutputType,
itkGetStaticConstMacro(ImageDimension) 
CovariantVectorType )

Public Methods

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

Static Public Methods

Pointer New ()

Protected Methods

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

Protected Attributes

std::vector< double > m_Scratch
TImageType::SizeType m_DataLength
unsigned int m_SplineOrder
TImageType::Pointer m_Coefficients

Detailed Description

template<class TImageType, class TCoordRep = float>
class itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >

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 68 of file itkBSplineInterpolateImageFunction.h.


Member Typedef Documentation

template<class TImageType, class TCoordRep = float>
typedef itk::BSplineDecompositionImageFilter<TImageType, TImageType> itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::CoefficientFilter
 

Define filter for calculating the BSpline coefficients

Definition at line 110 of file itkBSplineInterpolateImageFunction.h.

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

Definition at line 111 of file itkBSplineInterpolateImageFunction.h.

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

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

Definition at line 76 of file itkBSplineInterpolateImageFunction.h.

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

ContinuousIndex typedef support.

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

Definition at line 98 of file itkBSplineInterpolateImageFunction.h.

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

Derivative typedef support

Definition at line 126 of file itkBSplineInterpolateImageFunction.h.

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

Index typedef support.

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

Definition at line 95 of file itkBSplineInterpolateImageFunction.h.

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

InputImageType typedef support.

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

Definition at line 89 of file itkBSplineInterpolateImageFunction.h.

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

Iterator typedef support

Definition at line 104 of file itkBSplineInterpolateImageFunction.h.

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

OutputType typedef support.

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

Definition at line 86 of file itkBSplineInterpolateImageFunction.h.

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

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

Definition at line 75 of file itkBSplineInterpolateImageFunction.h.

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

PointType typedef support

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

Definition at line 101 of file itkBSplineInterpolateImageFunction.h.

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

Standard class typedefs.

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

Definition at line 73 of file itkBSplineInterpolateImageFunction.h.

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

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

Definition at line 74 of file itkBSplineInterpolateImageFunction.h.


Constructor & Destructor Documentation

template<class TImageType, class TCoordRep = float>
itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::BSplineInterpolateImageFunction   [protected]
 

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

Definition at line 151 of file itkBSplineInterpolateImageFunction.h.


Member Function Documentation

template<class TImageType, class TCoordRep = float>
virtual OutputType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::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 = float>
CovariantVectorType itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::EvaluateDerivative const PointType   point [inline]
 

Definition at line 128 of file itkBSplineInterpolateImageFunction.h.

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

template<class TImageType, class TCoordRep = float>
virtual const char* itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::GetClassName   const [virtual]
 

Run-time type information (and related methods).

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

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

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

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

Dimension underlying input image.

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

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

New macro for creation of through a Smart Pointer

Reimplemented from itk::Object.

template<class TImageType, class TCoordRep = float>
void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::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 >.

template<class TImageType, class TCoordRep = float>
virtual void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::SetInputImage const TImageType *    inputData [virtual]
 

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

template<class TImageType, class TCoordRep = float>
void itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::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 = float>
TImageType::Pointer itk::BSplineInterpolateImageFunction< TImageType, TCoordRep >::m_Coefficients [protected]
 

Definition at line 159 of file itkBSplineInterpolateImageFunction.h.

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

Definition at line 156 of file itkBSplineInterpolateImageFunction.h.

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

Definition at line 155 of file itkBSplineInterpolateImageFunction.h.

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

Definition at line 157 of file itkBSplineInterpolateImageFunction.h.


The documentation for this class was generated from the following file:
Generated at Wed Mar 12 01:14:51 2003 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000