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 | Private Types | Private Member Functions | Private Attributes
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > Class Template Reference

#include <itkRecursiveBSplineInterpolationWeightFunction.h>

Detailed Description

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
class itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >

Returns the weights over the support region used for B-spline interpolation/reconstruction.

Computes/evaluate the B-spline interpolation weights over the support region of the B-spline.

This class is templated over the coordinate representation type, the space dimension and the spline order.

See also
Point
Index
ContinuousIndex

Definition at line 77 of file itkRecursiveBSplineInterpolationWeightFunction.h.

+ Inheritance diagram for itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >:

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::ContinuousIndexType ContinuousIndexType
 
typedef GetConstNumberOfIndicesHack< itkGetStaticConstMacro(SplineOrder), itkGetStaticConstMacro(SpaceDimension) > GetConstNumberOfIndicesHackType
 
typedef Superclass::IndexType IndexType
 
typedef SmartPointer< SelfPointer
 
typedef RecursiveBSplineInterpolationWeightFunction Self
 
typedef Superclass::SizeType SizeType
 
typedef BSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
 
typedef Superclass::WeightsType WeightsType
 

Public Member Functions

WeightsType Evaluate (const ContinuousIndexType &index) const override
 
void Evaluate (const ContinuousIndexType &index, WeightsType &weights, IndexType &startIndex) const override
 
void EvaluateDerivative (const ContinuousIndexType &index, WeightsType &weights, const IndexType &startIndex) const
 
void EvaluateSecondOrderDerivative (const ContinuousIndexType &index, WeightsType &weights, const IndexType &startIndex) const
 
virtual const char * GetClassName () const
 
virtual unsigned int GetNumberOfIndices () const
 
 itkStaticConstMacro (NumberOfIndices, unsigned int, GetConstNumberOfIndicesHackType::Value)
 
 itkStaticConstMacro (NumberOfWeights, unsigned int, GetConstNumberOfWeightsHackRecursiveBSplineType::Value)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
 
 RecursiveBSplineInterpolationWeightFunction ()
 
 ~RecursiveBSplineInterpolationWeightFunction () override
 

Private Types

typedef BSplineDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > DerivativeKernelType
 
typedef BSplineKernelFunction2< itkGetStaticConstMacro(SplineOrder) > KernelType
 
typedef BSplineSecondOrderDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > SecondOrderDerivativeKernelType
 

Private Member Functions

void operator= (const Self &)
 
 RecursiveBSplineInterpolationWeightFunction (const Self &)
 

Private Attributes

DerivativeKernelType::Pointer m_DerivativeKernel
 
KernelType::Pointer m_Kernel
 
unsigned int m_NumberOfIndices
 
unsigned int m_NumberOfWeights
 
SecondOrderDerivativeKernelType::Pointer m_SecondOrderDerivativeKernel
 
SizeType m_SupportSize
 

Member Typedef Documentation

◆ ConstPointer

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef SmartPointer< const Self > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::ConstPointer

◆ ContinuousIndexType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::ContinuousIndexType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::ContinuousIndexType

◆ DerivativeKernelType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineDerivativeKernelFunction2< itkGetStaticConstMacro( SplineOrder ) > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::DerivativeKernelType
private

◆ GetConstNumberOfIndicesHackType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef GetConstNumberOfIndicesHack< itkGetStaticConstMacro( SplineOrder ), itkGetStaticConstMacro( SpaceDimension ) > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::GetConstNumberOfIndicesHackType

◆ IndexType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::IndexType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::IndexType

◆ KernelType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineKernelFunction2< itkGetStaticConstMacro( SplineOrder ) > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::KernelType
private

Interpolation kernel type.

Definition at line 159 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ Pointer

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef SmartPointer< Self > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Pointer

◆ SecondOrderDerivativeKernelType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineSecondOrderDerivativeKernelFunction2< itkGetStaticConstMacro( SplineOrder ) > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::SecondOrderDerivativeKernelType
private

◆ Self

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef RecursiveBSplineInterpolationWeightFunction itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Self

Standard class typedefs.

Definition at line 83 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ SizeType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::SizeType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::SizeType

◆ Superclass

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef BSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Superclass

◆ WeightsType

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
typedef Superclass::WeightsType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::WeightsType

Typedefs from superclass

Definition at line 102 of file itkRecursiveBSplineInterpolationWeightFunction.h.

Constructor & Destructor Documentation

◆ RecursiveBSplineInterpolationWeightFunction() [1/2]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::RecursiveBSplineInterpolationWeightFunction ( )
protected

◆ ~RecursiveBSplineInterpolationWeightFunction()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::~RecursiveBSplineInterpolationWeightFunction ( )
inlineoverrideprotected

◆ RecursiveBSplineInterpolationWeightFunction() [2/2]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::RecursiveBSplineInterpolationWeightFunction ( const Self )
private

Member Function Documentation

◆ Evaluate() [1/2]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
WeightsType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Evaluate ( const ContinuousIndexType index) const
override

Evaluate the weights at specified ContinousIndex position. Subclasses must provide this method.

◆ Evaluate() [2/2]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::Evaluate ( const ContinuousIndexType index,
WeightsType weights,
IndexType startIndex 
) const
override

Evaluate the weights at specified ContinousIndex position. The weights are returned in the user specified container. This function assume that weights can hold (SplineOrder + 1)^(SpaceDimension) elements. For efficiency, no size checking is done. On return, startIndex contains the start index of the support region over which the weights are defined.

◆ EvaluateDerivative()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::EvaluateDerivative ( const ContinuousIndexType index,
WeightsType weights,
const IndexType startIndex 
) const

◆ EvaluateSecondOrderDerivative()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::EvaluateSecondOrderDerivative ( const ContinuousIndexType index,
WeightsType weights,
const IndexType startIndex 
) const

◆ GetClassName()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual const char * itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetNumberOfIndices()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
virtual unsigned int itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::GetNumberOfIndices ( ) const
virtual

Get number of indices.

◆ itkStaticConstMacro() [1/4]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( NumberOfIndices  ,
unsigned int  ,
GetConstNumberOfIndicesHackType::Value   
)

◆ itkStaticConstMacro() [2/4]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( NumberOfWeights  ,
unsigned int  ,
GetConstNumberOfWeightsHackRecursiveBSplineType::Value   
)

◆ itkStaticConstMacro() [3/4]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( SpaceDimension  ,
unsigned int  ,
VSpaceDimension   
)

Space dimension.

◆ itkStaticConstMacro() [4/4]

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
VSplineOrder   
)

Spline order.

◆ New()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
static Pointer itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::New ( )
static

New macro for creation of through the object factory.

◆ operator=()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::operator= ( const Self )
private

◆ PrintSelf()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
void itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

Field Documentation

◆ m_DerivativeKernel

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
DerivativeKernelType::Pointer itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_DerivativeKernel
private

◆ m_Kernel

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
KernelType::Pointer itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_Kernel
private

Interpolation kernel.

Definition at line 164 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ m_NumberOfIndices

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
unsigned int itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_NumberOfIndices
private

◆ m_NumberOfWeights

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
unsigned int itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_NumberOfWeights
private

Private members; We unfortunatly cannot use those of the superclass.

Definition at line 154 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ m_SecondOrderDerivativeKernel

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
SecondOrderDerivativeKernelType::Pointer itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_SecondOrderDerivativeKernel
private

◆ m_SupportSize

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
SizeType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::m_SupportSize
private


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo