Medical Imaging Interaction Toolkit
2023.04.00
Medical Imaging Interaction Toolkit
|
BSpline with nonuniform knot spacing. More...
#include <mitkItkNonUniformBSpline.h>
Public Types | |
typedef NonUniformBSpline | Self |
typedef Object | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef double | ScalarType |
typedef itk::Point< ScalarType, TDimension > | PointType |
typedef std::vector< PointType > | PointListType |
typedef PointListType * | PointListPointer |
typedef std::vector< double > | KnotListType |
typedef std::vector< double > | CoordinateListType |
typedef itk::Point< double, TDimension > | ControlPointType |
typedef std::vector< ControlPointType > | ControlPointListType |
typedef ControlPointListType * | ControlPointListPointer |
typedef std::vector< double > | ChordLengthListType |
Public Member Functions | |
Pointer | Clone () const |
virtual const char * | GetClassName () const |
void | SetPoints (PointListType &newPoints) |
const PointListType & | GetPoints () const |
void | SetKnots (KnotListType &newKnots) |
const KnotListType & | GetKnots () const |
void | ComputeChordLengths () |
PointType | EvaluateSpline (const Array< double > &p) const |
PointType | EvaluateSpline (double t) const |
void | ComputeControlPoints () |
void | SetControlPoints (ControlPointListType &ctrlpts) |
const ControlPointListType & | GetControlPoints () const |
double | NonUniformBSplineFunctionRecursive (unsigned int order, unsigned int i, double t) const |
virtual void | SetSplineOrder (unsigned int _arg) |
virtual const unsigned int & | GetSplineOrder () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
NonUniformBSpline () | |
~NonUniformBSpline () override | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
Protected Attributes | |
PointListType | m_Points |
KnotListType | m_Knots |
ControlPointListType | m_ControlPoints |
ChordLengthListType | m_ChordLength |
ChordLengthListType | m_CumulativeChordLength |
unsigned int | m_SplineOrder |
unsigned int | m_SpatialDimension |
BSpline with nonuniform knot spacing.
This class is a bspline with nonuniform knot spacing. The use can specify a set of points and a set of knots and the spline will attempt to find the control points which will cause the spline to interpolate the points.
Definition at line 55 of file mitkItkNonUniformBSpline.h.
typedef std::vector<double> itk::NonUniformBSpline< TDimension >::ChordLengthListType |
Definition at line 75 of file mitkItkNonUniformBSpline.h.
typedef SmartPointer< const Self > itk::NonUniformBSpline< TDimension >::ConstPointer |
Definition at line 65 of file mitkItkNonUniformBSpline.h.
typedef ControlPointListType* itk::NonUniformBSpline< TDimension >::ControlPointListPointer |
Definition at line 74 of file mitkItkNonUniformBSpline.h.
typedef std::vector< ControlPointType > itk::NonUniformBSpline< TDimension >::ControlPointListType |
Definition at line 73 of file mitkItkNonUniformBSpline.h.
typedef itk::Point<double, TDimension > itk::NonUniformBSpline< TDimension >::ControlPointType |
Definition at line 72 of file mitkItkNonUniformBSpline.h.
typedef std::vector<double> itk::NonUniformBSpline< TDimension >::CoordinateListType |
Definition at line 71 of file mitkItkNonUniformBSpline.h.
typedef std::vector< double > itk::NonUniformBSpline< TDimension >::KnotListType |
Definition at line 70 of file mitkItkNonUniformBSpline.h.
typedef SmartPointer< Self > itk::NonUniformBSpline< TDimension >::Pointer |
Definition at line 64 of file mitkItkNonUniformBSpline.h.
typedef PointListType* itk::NonUniformBSpline< TDimension >::PointListPointer |
Definition at line 69 of file mitkItkNonUniformBSpline.h.
typedef std::vector< PointType > itk::NonUniformBSpline< TDimension >::PointListType |
Definition at line 68 of file mitkItkNonUniformBSpline.h.
typedef itk::Point< ScalarType, TDimension > itk::NonUniformBSpline< TDimension >::PointType |
Definition at line 67 of file mitkItkNonUniformBSpline.h.
typedef double itk::NonUniformBSpline< TDimension >::ScalarType |
Definition at line 66 of file mitkItkNonUniformBSpline.h.
typedef NonUniformBSpline itk::NonUniformBSpline< TDimension >::Self |
Typedefs
Definition at line 62 of file mitkItkNonUniformBSpline.h.
typedef Object itk::NonUniformBSpline< TDimension >::Superclass |
Definition at line 63 of file mitkItkNonUniformBSpline.h.
|
protected |
Constructor
|
overrideprotected |
Virtual destructor
Pointer itk::NonUniformBSpline< TDimension >::Clone | ( | ) | const |
void itk::NonUniformBSpline< TDimension >::ComputeChordLengths | ( | ) |
Computes the chord lengths based on the points.
void itk::NonUniformBSpline< TDimension >::ComputeControlPoints | ( | ) |
Compute the control points.
PointType itk::NonUniformBSpline< TDimension >::EvaluateSpline | ( | const Array< double > & | p | ) | const |
Methods for evaluating the spline. The parameterization is always between 0 and 1.
PointType itk::NonUniformBSpline< TDimension >::EvaluateSpline | ( | double | t | ) | const |
|
virtual |
Method for creation through the object factory.
const ControlPointListType& itk::NonUniformBSpline< TDimension >::GetControlPoints | ( | ) | const |
Get the control points for the spline
const KnotListType& itk::NonUniformBSpline< TDimension >::GetKnots | ( | ) | const |
Get the knot vector.
const PointListType& itk::NonUniformBSpline< TDimension >::GetPoints | ( | ) | const |
Get the points the spline is trying to interpolate.
|
virtual |
|
static |
Method for creation through the object factory.
double itk::NonUniformBSpline< TDimension >::NonUniformBSplineFunctionRecursive | ( | unsigned int | order, |
unsigned int | i, | ||
double | t | ||
) | const |
Evaluate the basis functions directly. order - order of the basis function, i.e. 3 = cubic. i - basis function number, zero based. t - parameter of the spline.
|
overrideprotected |
Method to print the object.
void itk::NonUniformBSpline< TDimension >::SetControlPoints | ( | ControlPointListType & | ctrlpts | ) |
Set the control points for the spline.
void itk::NonUniformBSpline< TDimension >::SetKnots | ( | KnotListType & | newKnots | ) |
Set the knot vector. Knots may be nonuniformly spaced. Knots will be rescaled to be between 0 and 1.
void itk::NonUniformBSpline< TDimension >::SetPoints | ( | PointListType & | newPoints | ) |
Set points which the spline will attempt to interpolate.
|
virtual |
Set the order of the spline.
|
protected |
The chord length computed from m_Points.
Definition at line 182 of file mitkItkNonUniformBSpline.h.
|
protected |
The control points of the spline.
Definition at line 177 of file mitkItkNonUniformBSpline.h.
|
protected |
The cumulative chord length computed from m_Points
Definition at line 187 of file mitkItkNonUniformBSpline.h.
|
protected |
The knots of spline.
Definition at line 172 of file mitkItkNonUniformBSpline.h.
|
protected |
Points that the spline attempts to intepolate.
Definition at line 167 of file mitkItkNonUniformBSpline.h.
|
protected |
The spatial dimension. Saved from the template parameter.
Definition at line 197 of file mitkItkNonUniformBSpline.h.
|
protected |
The order of the spline.
Definition at line 192 of file mitkItkNonUniformBSpline.h.