#include <itkBSplineInterpolationWeightFunctionBase.h>
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.
Definition at line 50 of file itkBSplineInterpolationWeightFunctionBase.h.
Public Types | |
using | ConstPointer = SmartPointer<const Self> |
using | ContinuousIndexType = ContinuousIndex<TCoordRep, VSpaceDimension> |
using | IndexType = Index<VSpaceDimension> |
using | Pointer = SmartPointer<Self> |
using | Self = BSplineInterpolationWeightFunctionBase |
using | SizeType = Size<VSpaceDimension> |
using | Superclass |
using | WeightsType = FixedArray<double, NumberOfWeights> |
Public Member Functions | |
void | ComputeStartIndex (const ContinuousIndexType &index, IndexType &startIndex) const |
virtual void | Evaluate (const ContinuousIndexType &cindex, const IndexType &startIndex, WeightsType &weights) const |
WeightsType | Evaluate (const ContinuousIndexType &index) const override |
virtual const char * | GetClassName () const |
ITK_DISALLOW_COPY_AND_MOVE (BSplineInterpolationWeightFunctionBase) | |
itkStaticConstMacro (SpaceDimension, unsigned int, VSpaceDimension) | |
itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder) | |
Static Public Attributes | |
static constexpr unsigned long | NumberOfWeights = Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension) |
static constexpr SizeType | SupportSize { SizeType::Filled(VSplineOrder + 1) } |
Protected Types | |
using | DerivativeKernelPointer = typename DerivativeKernelType::Pointer |
using | DerivativeKernelType = BSplineDerivativeKernelFunction<VSplineOrder> |
using | KernelPointer = typename KernelType::Pointer |
using | KernelType = BSplineKernelFunction2<VSplineOrder> |
using | OneDWeightsType = Matrix<double, Self::SpaceDimension, VSplineOrder + 1> |
using | SecondOrderDerivativeKernelPointer = typename SecondOrderDerivativeKernelType::Pointer |
using | SecondOrderDerivativeKernelType = BSplineSecondOrderDerivativeKernelFunction2<VSplineOrder> |
using | WeightArrayType = typename KernelType::WeightArrayType |
Protected Member Functions | |
BSplineInterpolationWeightFunctionBase () | |
virtual void | Compute1DWeights (const ContinuousIndexType &index, const IndexType &startIndex, OneDWeightsType &weights1D) const =0 |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~BSplineInterpolationWeightFunctionBase () override=default | |
Protected Attributes | |
vnl_matrix< unsigned long > | m_OffsetToIndexTable {} |
Private Member Functions | |
void | InitializeOffsetToIndexTable () |
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ConstPointer = SmartPointer<const Self> |
Definition at line 62 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ContinuousIndexType = ContinuousIndex<TCoordRep, VSpaceDimension> |
ContinuousIndex typedef support.
Definition at line 84 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 115 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 114 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::IndexType = Index<VSpaceDimension> |
Index and size typedef support.
Definition at line 80 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 113 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Interpolation kernel types.
Definition at line 112 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Typedef for intermediary 1D weights. The Matrix is at least twice as fast as std::vector< vnl_vector< double > >, probably because of the fixed size at compile time.
Definition at line 124 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Pointer = SmartPointer<Self> |
Definition at line 61 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 117 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 116 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Self = BSplineInterpolationWeightFunctionBase |
Standard class typedefs.
Definition at line 58 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::SizeType = Size<VSpaceDimension> |
Definition at line 81 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::Superclass |
Definition at line 59 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 118 of file itkBSplineInterpolationWeightFunctionBase.h.
using itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::WeightsType = FixedArray<double, NumberOfWeights> |
OutputType typedef support.
Definition at line 77 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
|
overrideprotecteddefault |
|
protectedpure virtual |
Compute the 1D weights.
void itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ComputeStartIndex | ( | const ContinuousIndexType & | index, |
IndexType & | startIndex ) const |
Compute the start index of the support region.
|
virtual |
Evaluate the weights at specified ContinousIndex position. The weights are returned in the user specified container. This function assume that the weights has a correct size. For efficiency, no size checking is done. On return, startIndex contains the start index of the support region over which the weights are defined.
|
override |
Evaluate the weights at specified ContinousIndex position.
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, itk::BSplineInterpolationSecondOrderDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, and itk::BSplineInterpolationWeightFunction2< TCoordRep, VSpaceDimension, VSplineOrder >.
|
private |
Function to initialize the offset table. The offset table is a convenience table, just to keep track where is what.
itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::ITK_DISALLOW_COPY_AND_MOVE | ( | BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > | ) |
itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned int | , | ||
VSpaceDimension | ) |
Space dimension.
itk::BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder >::itkStaticConstMacro | ( | SplineOrder | , |
unsigned int | , | ||
VSplineOrder | ) |
Spline order.
|
overrideprotected |
Print the member variables.
|
protected |
Member variables.
Definition at line 137 of file itkBSplineInterpolationWeightFunctionBase.h.
|
staticconstexpr |
The number of weights as a static const.
Definition at line 74 of file itkBSplineInterpolationWeightFunctionBase.h.
|
staticconstexpr |
The support region size: a hypercube of length SplineOrder + 1
Definition at line 105 of file itkBSplineInterpolationWeightFunctionBase.h.
Generated on 2024-07-17
for elastix by ![]() |
![]() |