Medical Imaging Interaction Toolkit  2023.04.00
Medical Imaging Interaction Toolkit
itk::NonUniformBSpline< TDimension > Class Template Reference

BSpline with nonuniform knot spacing. More...

#include <mitkItkNonUniformBSpline.h>

Inheritance diagram for itk::NonUniformBSpline< TDimension >:
Collaboration diagram for itk::NonUniformBSpline< TDimension >:

Public Types

typedef NonUniformBSpline Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef double ScalarType
 
typedef itk::Point< ScalarType, TDimension > PointType
 
typedef std::vector< PointTypePointListType
 
typedef PointListTypePointListPointer
 
typedef std::vector< double > KnotListType
 
typedef std::vector< double > CoordinateListType
 
typedef itk::Point< double, TDimension > ControlPointType
 
typedef std::vector< ControlPointTypeControlPointListType
 
typedef ControlPointListTypeControlPointListPointer
 
typedef std::vector< double > ChordLengthListType
 

Public Member Functions

Pointer Clone () const
 
virtual const char * GetClassName () const
 
void SetPoints (PointListType &newPoints)
 
const PointListTypeGetPoints () const
 
void SetKnots (KnotListType &newKnots)
 
const KnotListTypeGetKnots () const
 
void ComputeChordLengths ()
 
PointType EvaluateSpline (const Array< double > &p) const
 
PointType EvaluateSpline (double t) const
 
void ComputeControlPoints ()
 
void SetControlPoints (ControlPointListType &ctrlpts)
 
const ControlPointListTypeGetControlPoints () 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
 

Detailed Description

template<unsigned int TDimension = 3>
class itk::NonUniformBSpline< TDimension >

BSpline with nonuniform knot spacing.

Warning
This class was taken from an earlier ITK version and slightly modified. The original itkNonUniformBSpline is deprecated in ITK 4.3. Currently, the mitkItkNonUniformBSpline is only used inside the virtual tracking device.

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.

Member Typedef Documentation

◆ ChordLengthListType

template<unsigned int TDimension = 3>
typedef std::vector<double> itk::NonUniformBSpline< TDimension >::ChordLengthListType

Definition at line 75 of file mitkItkNonUniformBSpline.h.

◆ ConstPointer

template<unsigned int TDimension = 3>
typedef SmartPointer< const Self > itk::NonUniformBSpline< TDimension >::ConstPointer

Definition at line 65 of file mitkItkNonUniformBSpline.h.

◆ ControlPointListPointer

template<unsigned int TDimension = 3>
typedef ControlPointListType* itk::NonUniformBSpline< TDimension >::ControlPointListPointer

Definition at line 74 of file mitkItkNonUniformBSpline.h.

◆ ControlPointListType

template<unsigned int TDimension = 3>
typedef std::vector< ControlPointType > itk::NonUniformBSpline< TDimension >::ControlPointListType

Definition at line 73 of file mitkItkNonUniformBSpline.h.

◆ ControlPointType

template<unsigned int TDimension = 3>
typedef itk::Point<double, TDimension > itk::NonUniformBSpline< TDimension >::ControlPointType

Definition at line 72 of file mitkItkNonUniformBSpline.h.

◆ CoordinateListType

template<unsigned int TDimension = 3>
typedef std::vector<double> itk::NonUniformBSpline< TDimension >::CoordinateListType

Definition at line 71 of file mitkItkNonUniformBSpline.h.

◆ KnotListType

template<unsigned int TDimension = 3>
typedef std::vector< double > itk::NonUniformBSpline< TDimension >::KnotListType

Definition at line 70 of file mitkItkNonUniformBSpline.h.

◆ Pointer

template<unsigned int TDimension = 3>
typedef SmartPointer< Self > itk::NonUniformBSpline< TDimension >::Pointer

Definition at line 64 of file mitkItkNonUniformBSpline.h.

◆ PointListPointer

template<unsigned int TDimension = 3>
typedef PointListType* itk::NonUniformBSpline< TDimension >::PointListPointer

Definition at line 69 of file mitkItkNonUniformBSpline.h.

◆ PointListType

template<unsigned int TDimension = 3>
typedef std::vector< PointType > itk::NonUniformBSpline< TDimension >::PointListType

Definition at line 68 of file mitkItkNonUniformBSpline.h.

◆ PointType

template<unsigned int TDimension = 3>
typedef itk::Point< ScalarType, TDimension > itk::NonUniformBSpline< TDimension >::PointType

Definition at line 67 of file mitkItkNonUniformBSpline.h.

◆ ScalarType

template<unsigned int TDimension = 3>
typedef double itk::NonUniformBSpline< TDimension >::ScalarType

Definition at line 66 of file mitkItkNonUniformBSpline.h.

◆ Self

template<unsigned int TDimension = 3>
typedef NonUniformBSpline itk::NonUniformBSpline< TDimension >::Self

Typedefs

Definition at line 62 of file mitkItkNonUniformBSpline.h.

◆ Superclass

template<unsigned int TDimension = 3>
typedef Object itk::NonUniformBSpline< TDimension >::Superclass

Definition at line 63 of file mitkItkNonUniformBSpline.h.

Constructor & Destructor Documentation

◆ NonUniformBSpline()

template<unsigned int TDimension = 3>
itk::NonUniformBSpline< TDimension >::NonUniformBSpline ( )
protected

Constructor

◆ ~NonUniformBSpline()

template<unsigned int TDimension = 3>
itk::NonUniformBSpline< TDimension >::~NonUniformBSpline ( )
overrideprotected

Virtual destructor

Member Function Documentation

◆ Clone()

template<unsigned int TDimension = 3>
Pointer itk::NonUniformBSpline< TDimension >::Clone ( ) const

◆ ComputeChordLengths()

template<unsigned int TDimension = 3>
void itk::NonUniformBSpline< TDimension >::ComputeChordLengths ( )

Computes the chord lengths based on the points.

◆ ComputeControlPoints()

template<unsigned int TDimension = 3>
void itk::NonUniformBSpline< TDimension >::ComputeControlPoints ( )

Compute the control points.

◆ EvaluateSpline() [1/2]

template<unsigned int TDimension = 3>
PointType itk::NonUniformBSpline< TDimension >::EvaluateSpline ( const Array< double > &  p) const

Methods for evaluating the spline. The parameterization is always between 0 and 1.

◆ EvaluateSpline() [2/2]

template<unsigned int TDimension = 3>
PointType itk::NonUniformBSpline< TDimension >::EvaluateSpline ( double  t) const

◆ GetClassName()

template<unsigned int TDimension = 3>
virtual const char* itk::NonUniformBSpline< TDimension >::GetClassName ( ) const
virtual

Method for creation through the object factory.

◆ GetControlPoints()

template<unsigned int TDimension = 3>
const ControlPointListType& itk::NonUniformBSpline< TDimension >::GetControlPoints ( ) const

Get the control points for the spline

◆ GetKnots()

template<unsigned int TDimension = 3>
const KnotListType& itk::NonUniformBSpline< TDimension >::GetKnots ( ) const

Get the knot vector.

◆ GetPoints()

template<unsigned int TDimension = 3>
const PointListType& itk::NonUniformBSpline< TDimension >::GetPoints ( ) const

Get the points the spline is trying to interpolate.

◆ GetSplineOrder()

template<unsigned int TDimension = 3>
virtual const unsigned int& itk::NonUniformBSpline< TDimension >::GetSplineOrder ( )
virtual

◆ New()

template<unsigned int TDimension = 3>
static Pointer itk::NonUniformBSpline< TDimension >::New ( )
static

Method for creation through the object factory.

◆ NonUniformBSplineFunctionRecursive()

template<unsigned int TDimension = 3>
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.

◆ PrintSelf()

template<unsigned int TDimension = 3>
void itk::NonUniformBSpline< TDimension >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

Method to print the object.

◆ SetControlPoints()

template<unsigned int TDimension = 3>
void itk::NonUniformBSpline< TDimension >::SetControlPoints ( ControlPointListType ctrlpts)

Set the control points for the spline.

◆ SetKnots()

template<unsigned int TDimension = 3>
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.

◆ SetPoints()

template<unsigned int TDimension = 3>
void itk::NonUniformBSpline< TDimension >::SetPoints ( PointListType newPoints)

Set points which the spline will attempt to interpolate.

◆ SetSplineOrder()

template<unsigned int TDimension = 3>
virtual void itk::NonUniformBSpline< TDimension >::SetSplineOrder ( unsigned int  _arg)
virtual

Set the order of the spline.

Member Data Documentation

◆ m_ChordLength

template<unsigned int TDimension = 3>
ChordLengthListType itk::NonUniformBSpline< TDimension >::m_ChordLength
protected

The chord length computed from m_Points.

Definition at line 182 of file mitkItkNonUniformBSpline.h.

◆ m_ControlPoints

template<unsigned int TDimension = 3>
ControlPointListType itk::NonUniformBSpline< TDimension >::m_ControlPoints
protected

The control points of the spline.

Definition at line 177 of file mitkItkNonUniformBSpline.h.

◆ m_CumulativeChordLength

template<unsigned int TDimension = 3>
ChordLengthListType itk::NonUniformBSpline< TDimension >::m_CumulativeChordLength
protected

The cumulative chord length computed from m_Points

Definition at line 187 of file mitkItkNonUniformBSpline.h.

◆ m_Knots

template<unsigned int TDimension = 3>
KnotListType itk::NonUniformBSpline< TDimension >::m_Knots
protected

The knots of spline.

Definition at line 172 of file mitkItkNonUniformBSpline.h.

◆ m_Points

template<unsigned int TDimension = 3>
PointListType itk::NonUniformBSpline< TDimension >::m_Points
protected

Points that the spline attempts to intepolate.

Definition at line 167 of file mitkItkNonUniformBSpline.h.

◆ m_SpatialDimension

template<unsigned int TDimension = 3>
unsigned int itk::NonUniformBSpline< TDimension >::m_SpatialDimension
protected

The spatial dimension. Saved from the template parameter.

Definition at line 197 of file mitkItkNonUniformBSpline.h.

◆ m_SplineOrder

template<unsigned int TDimension = 3>
unsigned int itk::NonUniformBSpline< TDimension >::m_SplineOrder
protected

The order of the spline.

Definition at line 192 of file mitkItkNonUniformBSpline.h.


The documentation for this class was generated from the following file: