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 | Static Public Attributes | 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 48 of file itkRecursiveBSplineInterpolationWeightFunction.h.

Inheritance diagram for itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >:
Inheritance graph
[legend]

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)
 
static constexpr unsigned NumberOfWeights = (VSplineOrder + 1) * VSpaceDimension
 

Protected Member Functions

void PrintSelf (std::ostream &os, Indent indent) const override
 
 RecursiveBSplineInterpolationWeightFunction ()
 
 ~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
 
unsigned int m_NumberOfWeights
 
SizeType m_SupportSize
 

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 125 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 ( )
protected

◆ ~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.

◆ 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_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 120 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ m_SupportSize

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

◆ NumberOfIndices

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

The number of indices.

Definition at line 82 of file itkRecursiveBSplineInterpolationWeightFunction.h.

◆ NumberOfWeights

template<typename TCoordRep = float, unsigned int VSpaceDimension = 2, unsigned int VSplineOrder = 3>
constexpr unsigned itk::RecursiveBSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >::NumberOfWeights = (VSplineOrder + 1) * VSpaceDimension
staticconstexpr

The number of weights.

Definition at line 79 of file itkRecursiveBSplineInterpolationWeightFunction.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo