18#ifndef __itkRecursiveBSplineInterpolationWeightFunction_h
19#define __itkRecursiveBSplineInterpolationWeightFunction_h
21#include "itkBSplineInterpolationWeightFunction.h"
30template<
unsigned int SplineOrder,
unsigned int Dimension >
39template<
unsigned int SplineOrder >
48template<
unsigned int SplineOrder,
unsigned int Dimension >
49class GetConstNumberOfWeightsHackRecursiveBSpline
53 itkStaticConstMacro( Value,
unsigned int, ( SplineOrder + 1 ) * Dimension );
74 typename TCoordRep =
float,
75 unsigned int VSpaceDimension = 2,
76 unsigned int VSplineOrder = 3 >
109 typedef GetConstNumberOfWeightsHackRecursiveBSpline<
110 itkGetStaticConstMacro( SplineOrder ),
111 itkGetStaticConstMacro( SpaceDimension ) > GetConstNumberOfWeightsHackRecursiveBSplineType;
112 itkStaticConstMacro( NumberOfWeights,
unsigned int, GetConstNumberOfWeightsHackRecursiveBSplineType::Value );
114 itkGetStaticConstMacro( SplineOrder ),
119 itkGetConstMacro( NumberOfIndices,
unsigned int );
146 void PrintSelf( std::ostream & os, Indent indent )
const override;
172#ifndef ITK_MANUAL_INSTANTIATION
173#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.
itkStaticConstMacro(Value, unsigned int, 1)
GetConstNumberOfIndicesHack< SplineOrder, Dimension - 1 > OneDimensionLess
itkStaticConstMacro(Value, unsigned int,(SplineOrder+1) *OneDimensionLess::Value)
Returns the weights over the support region used for B-spline interpolation/reconstruction.
~RecursiveBSplineInterpolationWeightFunction() override
SecondOrderDerivativeKernelType::Pointer m_SecondOrderDerivativeKernel
itkStaticConstMacro(SplineOrder, unsigned int, VSplineOrder)
BSplineSecondOrderDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > SecondOrderDerivativeKernelType
RecursiveBSplineInterpolationWeightFunction Self
void EvaluateSecondOrderDerivative(const ContinuousIndexType &index, WeightsType &weights, const IndexType &startIndex) const
BSplineKernelFunction2< itkGetStaticConstMacro(SplineOrder) > KernelType
RecursiveBSplineInterpolationWeightFunction()
unsigned int m_NumberOfWeights
SmartPointer< Self > Pointer
void operator=(const Self &)
Superclass::ContinuousIndexType ContinuousIndexType
RecursiveBSplineInterpolationWeightFunction(const Self &)
GetConstNumberOfIndicesHack< itkGetStaticConstMacro(SplineOrder), itkGetStaticConstMacro(SpaceDimension) > GetConstNumberOfIndicesHackType
SmartPointer< const Self > ConstPointer
Superclass::IndexType IndexType
unsigned int m_NumberOfIndices
itkStaticConstMacro(NumberOfIndices, unsigned int, GetConstNumberOfIndicesHackType::Value)
void EvaluateDerivative(const ContinuousIndexType &index, WeightsType &weights, const IndexType &startIndex) const
KernelType::Pointer m_Kernel
WeightsType Evaluate(const ContinuousIndexType &index) const override
itkStaticConstMacro(NumberOfWeights, unsigned int, GetConstNumberOfWeightsHackRecursiveBSplineType::Value)
void PrintSelf(std::ostream &os, Indent indent) const override
itkStaticConstMacro(SpaceDimension, unsigned int, VSpaceDimension)
Superclass::SizeType SizeType
void Evaluate(const ContinuousIndexType &index, WeightsType &weights, IndexType &startIndex) const override
Superclass::WeightsType WeightsType
DerivativeKernelType::Pointer m_DerivativeKernel
BSplineDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > DerivativeKernelType
BSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > Superclass