18 #ifndef itkCoxDeBoorBSplineKernelFunction_h
19 #define itkCoxDeBoorBSplineKernelFunction_h
22 #include "vnl/vnl_real_polynomial.h"
23 #include "vnl/vnl_matrix.h"
56 template<
unsigned int VSplineOrder = 3,
typename TRealValueType =
double>
69 using RealType =
typename Superclass::RealType;
82 void SetSplineOrder(
const unsigned int );
85 itkGetConstMacro( SplineOrder,
unsigned int );
88 TRealValueType Evaluate(
const TRealValueType & )
const override;
91 TRealValueType EvaluateDerivative(
const TRealValueType & )
const;
94 TRealValueType EvaluateNthDerivative(
const TRealValueType &,
const unsigned int )
const;
107 MatrixType GetShapeFunctionsInZeroToOneInterval();
112 void PrintSelf( std::ostream & os,
Indent indent )
const override;
119 void GenerateBSplineShapeFunctions(
const unsigned int );
128 const unsigned int,
const unsigned int );
135 #ifndef ITK_MANUAL_INSTANTIATION
136 #include "itkCoxDeBoorBSplineKernelFunction.hxx"
Kernel used for density estimation and nonparameteric regression.
vnl_matrix< TRealValueType > MatrixType
BSpline kernel used for density estimation and nonparameteric regression.
vnl_vector< TRealValueType > VectorType
Control indentation during Print() invocation.
MatrixType m_BSplineShapeFunctions
unsigned int m_SplineOrder
vnl_real_polynomial PolynomialType