|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
Evaluates the B-Spline interpolation of an image. Spline order may be from 0 to 5. More...
#include <itkReducedDimensionBSplineInterpolateImageFunction.h>


Public Types | |
| typedef TCoefficientType | CoefficientDataType |
| typedef BSplineDecompositionImageFilter < TImageType, CoefficientImageType > | CoefficientFilter |
| typedef CoefficientFilter::Pointer | CoefficientFilterPointer |
| typedef Image < CoefficientDataType, itkGetStaticConstMacro(ImageDimension) > | CoefficientImageType |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef Superclass::ContinuousIndexType | ContinuousIndexType |
| typedef CovariantVector < OutputType, itkGetStaticConstMacro(ImageDimension) > | CovariantVectorType |
| typedef Superclass::IndexType | IndexType |
| typedef Superclass::InputImageType | InputImageType |
| typedef ImageLinearIteratorWithIndex < TImageType > | Iterator |
| typedef Superclass::OutputType | OutputType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::PointType | PointType |
| typedef ReducedDimensionBSplineInterpolateImageFunction | Self |
| typedef InterpolateImageFunction < TImageType, TCoordRep > | Superclass |
Public Member Functions | |
| virtual OutputType | EvaluateAtContinuousIndex (const ContinuousIndexType &index) const |
| CovariantVectorType | EvaluateDerivative (const PointType &point) const |
| CovariantVectorType | EvaluateDerivativeAtContinuousIndex (const ContinuousIndexType &x) const |
| virtual const char * | GetClassName () const |
| virtual int | GetSplineOrder () const |
| virtual bool | GetUseImageDirection () const |
| itkStaticConstMacro (ImageDimension, unsigned int, Superclass::ImageDimension) | |
| virtual void | SetInputImage (const TImageType *inputData) |
| void | SetSplineOrder (unsigned int SplineOrder) |
| virtual void | SetUseImageDirection (bool _arg) |
| virtual void | UseImageDirectionOff () |
| virtual void | UseImageDirectionOn () |
Static Public Member Functions | |
| static Pointer | New () |
Protected Member Functions | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| ReducedDimensionBSplineInterpolateImageFunction () | |
| virtual | ~ReducedDimensionBSplineInterpolateImageFunction () |
Protected Attributes | |
| CoefficientImageType::ConstPointer | m_Coefficients |
| TImageType::SizeType | m_DataLength |
| std::vector< CoefficientDataType > | m_Scratch |
| unsigned int | m_SplineOrder |
Private Member Functions | |
| void | ApplyMirrorBoundaryConditions (vnl_matrix< long > &evaluateIndex, unsigned int splineOrder) const |
| void | DetermineRegionOfSupport (vnl_matrix< long > &evaluateIndex, const ContinuousIndexType &x, unsigned int splineOrder) const |
| void | GeneratePointsToIndex () |
| void | operator= (const Self &) |
| ReducedDimensionBSplineInterpolateImageFunction (const Self &) | |
| void | SetDerivativeWeights (const ContinuousIndexType &x, const vnl_matrix< long > &EvaluateIndex, vnl_matrix< double > &weights, unsigned int splineOrder) const |
| void | SetInterpolationWeights (const ContinuousIndexType &x, const vnl_matrix< long > &EvaluateIndex, vnl_matrix< double > &weights, unsigned int splineOrder) const |
Private Attributes | |
| Iterator | m_CIterator |
| CoefficientFilterPointer | m_CoefficientFilter |
| unsigned long | m_MaxNumberInterpolationPoints |
| std::vector< IndexType > | m_PointsToIndex |
| bool | m_UseImageDirection |
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.
Definition at line 86 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef TCoefficientType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientDataType |
Internal Coefficient typedef support
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 125 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef BSplineDecompositionImageFilter<TImageType, CoefficientImageType> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilter |
Define filter for calculating the BSpline coefficients
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 132 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef CoefficientFilter::Pointer itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientFilterPointer |
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 134 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Image<CoefficientDataType, itkGetStaticConstMacro(ImageDimension) > itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CoefficientImageType |
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 128 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef SmartPointer<const Self> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ConstPointer |
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 94 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Superclass::ContinuousIndexType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ContinuousIndexType |
ContinuousIndex typedef support.
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 116 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef CovariantVector<OutputType, itkGetStaticConstMacro(ImageDimension) > itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::CovariantVectorType |
Derivative typedef support
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 150 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Superclass::IndexType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::IndexType |
Index typedef support.
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 113 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Superclass::InputImageType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::InputImageType |
InputImageType typedef support.
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 107 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef ImageLinearIteratorWithIndex<TImageType> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Iterator |
Iterator typedef support
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 122 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Superclass::OutputType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::OutputType |
OutputType typedef support.
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 101 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef SmartPointer<Self> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Pointer |
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 93 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef Superclass::PointType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PointType |
PointType typedef support
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 119 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef ReducedDimensionBSplineInterpolateImageFunction itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Self |
Standard class typedefs.
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
Definition at line 91 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| typedef InterpolateImageFunction<TImageType,TCoordRep> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::Superclass |
Definition at line 92 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ReducedDimensionBSplineInterpolateImageFunction | ( | ) | [protected] |
| virtual itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::~ReducedDimensionBSplineInterpolateImageFunction | ( | ) | [inline, protected, virtual] |
Definition at line 192 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ReducedDimensionBSplineInterpolateImageFunction | ( | const Self & | ) | [private] |
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::ApplyMirrorBoundaryConditions | ( | vnl_matrix< long > & | evaluateIndex, |
| unsigned int | splineOrder | ||
| ) | const [private] |
Set the indicies in evaluateIndex at the boundaries based on mirror boundary conditions.
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::DetermineRegionOfSupport | ( | vnl_matrix< long > & | evaluateIndex, |
| const ContinuousIndexType & | x, | ||
| unsigned int | splineOrder | ||
| ) | const [private] |
Determines the indicies to use give the splines region of support
| virtual OutputType itk::ReducedDimensionBSplineInterpolateImageFunction< 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.
| CovariantVectorType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivative | ( | const PointType & | point | ) | const [inline] |
Definition at line 152 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
| CovariantVectorType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::EvaluateDerivativeAtContinuousIndex | ( | const ContinuousIndexType & | x | ) | const |
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GeneratePointsToIndex | ( | ) | [private] |
Precomputation for converting the 1D index of the interpolation neighborhood to an N-dimensional index.
| virtual const char* itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetClassName | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
| virtual int itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetSplineOrder | ( | ) | const [virtual] |
| virtual bool itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::GetUseImageDirection | ( | ) | const [virtual] |
| itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::itkStaticConstMacro | ( | ImageDimension | , |
| unsigned | int, | ||
| Superclass::ImageDimension | |||
| ) |
Dimension underlying input image.
| static Pointer itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer
Reimplemented in elastix::ReducedDimensionBSplineInterpolator< TElastix >.
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::operator= | ( | const Self & | ) | [private] |
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::PrintSelf | ( | std::ostream & | os, |
| Indent | indent | ||
| ) | const [protected] |
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetDerivativeWeights | ( | const ContinuousIndexType & | x, |
| const vnl_matrix< long > & | EvaluateIndex, | ||
| vnl_matrix< double > & | weights, | ||
| unsigned int | splineOrder | ||
| ) | const [private] |
Determines the weights for the derivative portion of the value x
| virtual void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetInputImage | ( | const TImageType * | inputData | ) | [virtual] |
Set the input image. This must be set by the user.
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetInterpolationWeights | ( | const ContinuousIndexType & | x, |
| const vnl_matrix< long > & | EvaluateIndex, | ||
| vnl_matrix< double > & | weights, | ||
| unsigned int | splineOrder | ||
| ) | const [private] |
Determines the weights for interpolation of the value x
| void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetSplineOrder | ( | unsigned int | SplineOrder | ) |
Get/Sets the Spline Order, supports 0th - 5th order splines. The default is a 3rd order spline.
| virtual void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::SetUseImageDirection | ( | bool | _arg | ) | [virtual] |
The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coordinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is the same as the CMAKE option ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE (i.e ON by default when ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE is ON, and OFF by default when ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE is OFF).
| virtual void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::UseImageDirectionOff | ( | ) | [virtual] |
| virtual void itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::UseImageDirectionOn | ( | ) | [virtual] |
Iterator itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_CIterator [private] |
Definition at line 233 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
CoefficientFilterPointer itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_CoefficientFilter [private] |
Definition at line 237 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
CoefficientImageType::ConstPointer itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Coefficients [protected] |
Definition at line 200 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
TImageType::SizeType itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_DataLength [protected] |
Definition at line 197 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
unsigned long itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_MaxNumberInterpolationPoints [private] |
Definition at line 234 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
std::vector<IndexType> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_PointsToIndex [private] |
Definition at line 235 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
std::vector<CoefficientDataType> itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_Scratch [protected] |
Definition at line 196 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
unsigned int itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_SplineOrder [protected] |
Definition at line 198 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
bool itk::ReducedDimensionBSplineInterpolateImageFunction< TImageType, TCoordRep, TCoefficientType >::m_UseImageDirection [private] |
Definition at line 241 of file itkReducedDimensionBSplineInterpolateImageFunction.h.
Generated on 11-05-2011 for elastix by 1.7.4 |