ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkCoxDeBoorBSplineKernelFunction.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef vnl_matrix < TRealValueType > | MatrixType |
typedef SmartPointer< Self > | Pointer |
typedef vnl_real_polynomial | PolynomialType |
typedef Superclass::RealType | RealType |
typedef CoxDeBoorBSplineKernelFunction | Self |
typedef KernelFunctionBase < TRealValueType > | Superclass |
typedef vnl_vector < TRealValueType > | VectorType |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother (void) const |
TRealValueType | Evaluate (const TRealValueType &) const |
TRealValueType | EvaluateDerivative (const TRealValueType &) const |
TRealValueType | EvaluateNthDerivative (const TRealValueType &, const unsigned int) const |
virtual const char * | GetNameOfClass () const |
MatrixType | GetShapeFunctions () |
MatrixType | GetShapeFunctionsInZeroToOneInterval () |
virtual unsigned int | GetSplineOrder () const |
void | SetSplineOrder (const unsigned int) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
CoxDeBoorBSplineKernelFunction () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual | ~CoxDeBoorBSplineKernelFunction () |
Private Member Functions | |
PolynomialType | CoxDeBoor (const unsigned short, const VectorType, const unsigned int, const unsigned int) |
CoxDeBoorBSplineKernelFunction (const Self &) | |
void | GenerateBSplineShapeFunctions (const unsigned int) |
void | operator= (const Self &) |
Private Attributes | |
MatrixType | m_BSplineShapeFunctions |
unsigned int | m_SplineOrder |
BSpline kernel used for density estimation and nonparameteric regression.
This class enscapsulates BSpline kernel for density estimation or nonparameteric regression. See documentation for KernelFunctionBase for more details.
This class is templated over the spline order to cohere with the previous incarnation of this class. One can change the order during an instantiation's existence. Note that other authors have defined the B-spline order as being the degree of spline + 1. In the ITK context (e.g. in this class), the spline order is equivalent to the degree of the spline.
This code was contributed in the Insight Journal paper: "N-D C^k B-Spline Scattered Data Approximation" by Nicholas J. Tustison, James C. Gee http://hdl.handle.net/1926/140 http://www.insight-journal.org/browse/publication/57
Definition at line 57 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef SmartPointer<const Self> itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::ConstPointer |
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
Definition at line 65 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef vnl_matrix<TRealValueType> itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::MatrixType |
Definition at line 77 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef SmartPointer<Self> itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::Pointer |
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
Definition at line 64 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef vnl_real_polynomial itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::PolynomialType |
Definition at line 76 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef Superclass::RealType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::RealType |
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
Definition at line 67 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef CoxDeBoorBSplineKernelFunction itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::Self |
Standard class typedefs.
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
Definition at line 62 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef KernelFunctionBase<TRealValueType> itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::Superclass |
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
Definition at line 63 of file itkCoxDeBoorBSplineKernelFunction.h.
typedef vnl_vector<TRealValueType> itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::VectorType |
Definition at line 73 of file itkCoxDeBoorBSplineKernelFunction.h.
itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::CoxDeBoorBSplineKernelFunction | ( | ) | [protected] |
virtual itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::~CoxDeBoorBSplineKernelFunction | ( | ) | [protected, virtual] |
itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::CoxDeBoorBSplineKernelFunction | ( | const Self & | ) | [private] |
PolynomialType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::CoxDeBoor | ( | const unsigned | short, |
const VectorType | , | ||
const unsigned | int, | ||
const unsigned | int | ||
) | [private] |
Use the CoxDeBoor recursion relation to generate the piecewise polynomials which compose the basis function. See, for example, L. Piegl, L. Tiller, "The NURBS Book," Springer 1997, p. 50.
virtual::itk::LightObject::Pointer itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
TRealValueType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::Evaluate | ( | const TRealValueType & | ) | const [virtual] |
Evaluate the function.
Implements itk::KernelFunctionBase< TRealValueType >.
TRealValueType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::EvaluateDerivative | ( | const TRealValueType & | ) | const |
Evaluate the first derivative.
TRealValueType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::EvaluateNthDerivative | ( | const TRealValueType & | , |
const unsigned | int | ||
) | const |
Evaluate the Nth derivative.
void itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::GenerateBSplineShapeFunctions | ( | const unsigned | int | ) | [private] |
For a specific order, generate the (this->m_SplineOrder+1) pieces of the single basis function centered at zero.
virtual const char* itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
MatrixType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::GetShapeFunctions | ( | ) |
For a specific order, return the ceil( 0.5*(m_SplineOrder+1) ) pieces of the single basis function centered at zero for positive parametric values.
MatrixType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::GetShapeFunctionsInZeroToOneInterval | ( | ) |
For a specific order, generate and return the (this->m_SplineOrder+1) pieces of the different basis functions in the [0, 1] interval.
virtual unsigned int itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::GetSplineOrder | ( | ) | const [virtual] |
Get the spline order.
static Pointer itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::operator= | ( | const Self & | ) | [private] |
void itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::KernelFunctionBase< TRealValueType >.
void itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::SetSplineOrder | ( | const unsigned | int | ) |
Set the spline order.
MatrixType itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::m_BSplineShapeFunctions [private] |
Definition at line 131 of file itkCoxDeBoorBSplineKernelFunction.h.
unsigned int itk::CoxDeBoorBSplineKernelFunction< VSplineOrder, TRealValueType >::m_SplineOrder [private] |
Definition at line 132 of file itkCoxDeBoorBSplineKernelFunction.h.