![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#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 = FunctionBase< ContinuousIndex< TCoordRep, VSpaceDimension >, FixedArray< double, Math::UnsignedPower(VSplineOrder+1, VSpaceDimension)> > |
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 |
virtual unsigned long | GetNumberOfWeights () const |
virtual const SizeType & | GetSupportSize () |
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) |
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 | TableType = Array2D< unsigned long > |
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 | |
unsigned long | m_NumberOfWeights |
TableType | m_OffsetToIndexTable |
SizeType | m_SupportSize |
Private Member Functions | |
void | InitializeOffsetToIndexTable () |
void | InitializeSupport () |
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 118 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 117 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 116 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Interpolation kernel types.
Definition at line 115 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 130 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 120 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 119 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 = FunctionBase<ContinuousIndex<TCoordRep, VSpaceDimension>, FixedArray<double, Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension)> > |
Definition at line 59 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Lookup table type.
Definition at line 124 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 121 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.
Implemented in itk::BSplineInterpolationDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, itk::BSplineInterpolationSecondOrderDerivativeWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder >, and itk::BSplineInterpolationWeightFunction2< TCoordRep, VSpaceDimension, VSplineOrder >.
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 >.
|
virtual |
Get number of weights.
|
virtual |
Get support region size.
|
private |
Function to initialize the offset table. The offset table is a convenience table, just to keep track where is what.
|
private |
Function to initialize the support region.
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 143 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 145 of file itkBSplineInterpolationWeightFunctionBase.h.
|
protected |
Definition at line 144 of file itkBSplineInterpolationWeightFunctionBase.h.
|
staticconstexpr |
The number of weights as a static const.
Definition at line 74 of file itkBSplineInterpolationWeightFunctionBase.h.
Generated on 2023-01-13
for elastix by ![]() |
![]() |