18#ifndef itkRecursiveBSplineInterpolationWeightFunction_h
19#define itkRecursiveBSplineInterpolationWeightFunction_h
21#include "itkBSplineInterpolationWeightFunction.h"
47template <
typename TCoordRep =
float,
unsigned int VSpaceDimension = 2,
unsigned int VSplineOrder = 3>
73 using typename Superclass::WeightsType;
74 using typename Superclass::IndexType;
75 using typename Superclass::SizeType;
76 using typename Superclass::ContinuousIndexType;
79 static constexpr unsigned NumberOfIndices = Math::UnsignedPower(VSplineOrder + 1, VSpaceDimension);
82 itkGetConstMacro(NumberOfIndices,
unsigned int);
85 Evaluate(
const ContinuousIndexType & index, IndexType & startIndex)
const;
96 using Superclass::PrintSelf;
102 Evaluate(
const ContinuousIndexType & index)
const override;
113 Evaluate(
const ContinuousIndexType & index, WeightsType & weights, IndexType & startIndex)
const override;
116 unsigned int m_NumberOfIndices{};
126#ifndef ITK_MANUAL_INSTANTIATION
127# include "itkRecursiveBSplineInterpolationWeightFunction.hxx"
Derivative of a B-spline kernel used for density estimation and nonparametric regression.
B-spline kernel used for density estimation and nonparameteric regression.
Derivative of a B-spline kernel used for density estimation and nonparametric regression.
Returns the weights over the support region used for B-spline interpolation/reconstruction.
RecursiveBSplineInterpolationWeightFunction()=default
~RecursiveBSplineInterpolationWeightFunction() override=default
SmartPointer< const Self > ConstPointer
WeightsType EvaluateSecondOrderDerivative(const ContinuousIndexType &index, const IndexType &startIndex) const
WeightsType EvaluateDerivative(const ContinuousIndexType &index, const IndexType &startIndex) const
itkStaticConstMacro(SplineOrder, unsigned int, VSplineOrder)
ITK_DISALLOW_COPY_AND_MOVE(RecursiveBSplineInterpolationWeightFunction)
WeightsType Evaluate(const ContinuousIndexType &index, IndexType &startIndex) const
WeightsType Evaluate(const ContinuousIndexType &index) const override
itkStaticConstMacro(SpaceDimension, unsigned int, VSpaceDimension)
void Evaluate(const ContinuousIndexType &index, WeightsType &weights, IndexType &startIndex) const override