18 #ifndef __itkRecursiveBSplineInterpolationWeightFunction_h 19 #define __itkRecursiveBSplineInterpolationWeightFunction_h 21 #include "itkBSplineInterpolationWeightFunction.h" 30 template<
unsigned int SplineOrder,
unsigned int Dimension >
39 template<
unsigned int SplineOrder >
48 template<
unsigned int SplineOrder,
unsigned int Dimension >
49 class GetConstNumberOfWeightsHackRecursiveBSpline
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 ),
116 itkStaticConstMacro( NumberOfIndices,
unsigned int, GetConstNumberOfIndicesHackType::Value );
119 itkGetConstMacro( NumberOfWeights,
unsigned int );
122 itkGetConstMacro( NumberOfIndices,
unsigned int );
126 virtual WeightsType Evaluate(
const ContinuousIndexType & index )
const;
136 virtual void Evaluate(
const ContinuousIndexType & index,
137 WeightsType & weights, IndexType & startIndex )
const;
139 void EvaluateDerivative(
const ContinuousIndexType & index,
140 WeightsType & weights,
const IndexType & startIndex )
const;
142 void EvaluateSecondOrderDerivative(
const ContinuousIndexType & index,
143 WeightsType & weights,
const IndexType & startIndex )
const;
149 void PrintSelf( std::ostream & os, Indent indent )
const;
154 void operator=(
const Self & );
175 #ifndef ITK_MANUAL_INSTANTIATION 176 #include "itkRecursiveBSplineInterpolationWeightFunction.hxx"
Superclass::IndexType IndexType
GetConstNumberOfIndicesHack< itkGetStaticConstMacro(SplineOrder), itkGetStaticConstMacro(SpaceDimension) > GetConstNumberOfIndicesHackType
DerivativeKernelType::Pointer m_DerivativeKernel
BSplineSecondOrderDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > SecondOrderDerivativeKernelType
BSplineKernelFunction2< itkGetStaticConstMacro(SplineOrder) > KernelType
unsigned int m_NumberOfWeights
BSplineDerivativeKernelFunction2< itkGetStaticConstMacro(SplineOrder) > DerivativeKernelType
SecondOrderDerivativeKernelType::Pointer m_SecondOrderDerivativeKernel
~RecursiveBSplineInterpolationWeightFunction()
GetConstNumberOfIndicesHack< SplineOrder, Dimension - 1 > OneDimensionLess
SmartPointer< Self > Pointer
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Superclass::ContinuousIndexType ContinuousIndexType
SmartPointer< const Self > ConstPointer
RecursiveBSplineInterpolationWeightFunction Self
BSplineInterpolationWeightFunction< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
unsigned int m_NumberOfIndices
B-spline kernel used for density estimation and nonparameteric regression.
KernelType::Pointer m_Kernel
Superclass::SizeType SizeType
Superclass::WeightsType WeightsType
Derivative of a B-spline kernel used for density estimation and nonparametric regression.
Derivative of a B-spline kernel used for density estimation and nonparametric regression.
itkStaticConstMacro(Value, unsigned int,(SplineOrder+1) *OneDimensionLess::Value)