18#ifndef itkBSplineInterpolationWeightFunction_h
19#define itkBSplineInterpolationWeightFunction_h
47template <
typename TCoordRep =
float,
unsigned int VSpaceDimension = 2,
unsigned int VSplineOrder = 3>
49 :
public FunctionBase<ContinuousIndex<TCoordRep, VSpaceDimension>,
50 FixedArray<double, Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension)>>
70 static constexpr unsigned int SpaceDimension = VSpaceDimension;
73 static constexpr unsigned int SplineOrder = VSplineOrder;
79 static constexpr unsigned int NumberOfWeights{ WeightsType::Length };
89 static constexpr SizeType SupportSize{ SizeType::Filled(VSplineOrder + 1) };
107#if !defined(ITK_LEGACY_REMOVE)
109 itkLegacyMacro(
SizeType GetSupportSize()
const)
111 return Self::SupportSize;
115 itkLegacyMacro(
unsigned int GetNumberOfWeights()
const)
117 return Self::NumberOfWeights;
127#ifndef ITK_MANUAL_INSTANTIATION
128# include "itkBSplineInterpolationWeightFunction.hxx"
Returns the weights over the support region used for B-spline interpolation/reconstruction.
~BSplineInterpolationWeightFunction() override=default
WeightsType Evaluate(const ContinuousIndexType &index) const override
typename Superclass::OutputType WeightsType
BSplineInterpolationWeightFunction()=default
virtual void Evaluate(const ContinuousIndexType &index, WeightsType &weights, IndexType &startIndex) const
A templated class holding a point in n-Dimensional image space.
Simulate a standard C array with copy semantics.
Base class for all ITK function objects.
constexpr TReturnType UnsignedPower(const uintmax_t base, const uintmax_t exponent) noexcept
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Represent a n-dimensional index in a n-dimensional image.
Represent a n-dimensional size (bounds) of a n-dimensional image.