18#ifndef itkCoxDeBoorBSplineKernelFunction_h
19#define itkCoxDeBoorBSplineKernelFunction_h
22#include "vnl/vnl_real_polynomial.h"
23#include "vnl/vnl_matrix.h"
56template <
unsigned int VSplineOrder = 3,
typename TRealValueType =
double>
85 itkGetConstMacro(SplineOrder,
unsigned int);
89 Evaluate(
const TRealValueType &)
const override;
141#ifndef ITK_MANUAL_INSTANTIATION
142# include "itkCoxDeBoorBSplineKernelFunction.hxx"
unsigned int m_SplineOrder
void SetSplineOrder(const unsigned int)
TRealValueType EvaluateNthDerivative(const TRealValueType &, const unsigned int) const
TRealValueType EvaluateDerivative(const TRealValueType &) const
MatrixType GetShapeFunctionsInZeroToOneInterval()
SmartPointer< Self > Pointer
~CoxDeBoorBSplineKernelFunction() override=default
MatrixType m_BSplineShapeFunctions
vnl_real_polynomial PolynomialType
CoxDeBoorBSplineKernelFunction Self
PolynomialType CoxDeBoor(const unsigned short, const VectorType, const unsigned int, const unsigned int)
void PrintSelf(std::ostream &os, Indent indent) const override
void GenerateBSplineShapeFunctions(const unsigned int)
KernelFunctionBase< double > Superclass
MatrixType GetShapeFunctions()
CoxDeBoorBSplineKernelFunction()
SmartPointer< const Self > ConstPointer
vnl_vector< double > VectorType
vnl_matrix< double > MatrixType
TRealValueType Evaluate(const TRealValueType &) const override
Control indentation during Print() invocation.
KernelFunctionBase()=default
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....