go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
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 48 of file itkRecursiveBSplineInterpolationWeightFunction.h.

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

Public Types

using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using Self = RecursiveBSplineInterpolationWeightFunction
 
using Superclass = BSplineInterpolationWeightFunction<TCoordRep, VSpaceDimension, VSplineOrder>
 

Public Member Functions

WeightsType Evaluate (const ContinuousIndexType &index, IndexType &startIndex) const
 
WeightsType EvaluateDerivative (const ContinuousIndexType &index, const IndexType &startIndex) const
 
WeightsType EvaluateSecondOrderDerivative (const ContinuousIndexType &index, const IndexType &startIndex) const
 
virtual const char * GetClassName () const
 
virtual unsigned int GetNumberOfIndices () const
 
 ITK_DISALLOW_COPY_AND_MOVE (RecursiveBSplineInterpolationWeightFunction)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned NumberOfIndices = Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension)
 

Protected Member Functions

 RecursiveBSplineInterpolationWeightFunction ()=default
 
 ~RecursiveBSplineInterpolationWeightFunction () override=default
 

Private Types

using DerivativeKernelType = BSplineDerivativeKernelFunction2<VSplineOrder>
 
using KernelType = BSplineKernelFunction2<VSplineOrder>
 
using SecondOrderDerivativeKernelType = BSplineSecondOrderDerivativeKernelFunction2<VSplineOrder>
 

Private Member Functions

WeightsType Evaluate (const ContinuousIndexType &index) const override
 
void Evaluate (const ContinuousIndexType &index, WeightsType &weights, IndexType &startIndex) const override
 

Private Attributes

unsigned int m_NumberOfIndices {}
 

Member Typedef Documentation

◆ ConstPointer

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

◆ DerivativeKernelType

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

◆ KernelType

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

Interpolation kernel type.

Definition at line 119 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ Pointer

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

◆ SecondOrderDerivativeKernelType

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

◆ Self

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

Standard class typedefs.

Definition at line 55 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ Superclass

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

Constructor & Destructor Documentation

◆ RecursiveBSplineInterpolationWeightFunction()

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

◆ ~RecursiveBSplineInterpolationWeightFunction()

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

Member Function Documentation

◆ Evaluate() [1/3]

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

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

◆ Evaluate() [2/3]

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

◆ Evaluate() [3/3]

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
overrideprivate

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>
WeightsType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::EvaluateDerivative ( const ContinuousIndexType & index,
const IndexType & startIndex ) const

◆ EvaluateSecondOrderDerivative()

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
WeightsType itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::EvaluateSecondOrderDerivative ( const ContinuousIndexType & index,
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.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkStaticConstMacro() [1/2]

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() [2/2]

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.

Field Documentation

◆ m_NumberOfIndices

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

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

Definition at line 116 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ NumberOfIndices

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
unsigned itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::NumberOfIndices = Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension)
staticconstexpr

The number of indices.

Definition at line 79 of file itkRecursiveBSplineInterpolationWeightFunction.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo