MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
itk::NonUniformBSpline< TDimension > Class Template Reference

BSpline with nonuniform knot spacing. More...

#include <mitkItkNonUniformBSpline.h>

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

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

 itkFactorylessNewMacro (Self)
 
 itkCloneMacro (Self)
 
 itkTypeMacro (NonUniformBSpline, Object)
 
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
 
 itkSetMacro (SplineOrder, unsigned int)
 
 itkGetConstReferenceMacro (SplineOrder, unsigned int)
 

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
 

Additional Inherited Members

- Static Public Member Functions inherited from Object
static ObjectobjRef (Object *obj)
 
static ObjectobjUnref (Object *obj)
 

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 53 of file mitkItkNonUniformBSpline.h.

Member Typedef Documentation

◆ ChordLengthListType

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

Definition at line 73 of file mitkItkNonUniformBSpline.h.

◆ ConstPointer

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

Definition at line 63 of file mitkItkNonUniformBSpline.h.

◆ ControlPointListPointer

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

Definition at line 72 of file mitkItkNonUniformBSpline.h.

◆ ControlPointListType

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

Definition at line 71 of file mitkItkNonUniformBSpline.h.

◆ ControlPointType

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

Definition at line 70 of file mitkItkNonUniformBSpline.h.

◆ CoordinateListType

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

Definition at line 69 of file mitkItkNonUniformBSpline.h.

◆ KnotListType

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

Definition at line 68 of file mitkItkNonUniformBSpline.h.

◆ Pointer

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

Definition at line 62 of file mitkItkNonUniformBSpline.h.

◆ PointListPointer

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

Definition at line 67 of file mitkItkNonUniformBSpline.h.

◆ PointListType

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

Definition at line 66 of file mitkItkNonUniformBSpline.h.

◆ PointType

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

Definition at line 65 of file mitkItkNonUniformBSpline.h.

◆ ScalarType

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

Definition at line 64 of file mitkItkNonUniformBSpline.h.

◆ Self

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

Typedefs

Definition at line 60 of file mitkItkNonUniformBSpline.h.

◆ Superclass

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

Definition at line 61 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

◆ 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

◆ 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.

◆ itkCloneMacro()

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

◆ itkFactorylessNewMacro()

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

Method for creation through the object factory.

◆ itkGetConstReferenceMacro()

template<unsigned int TDimension = 3>
itk::NonUniformBSpline< TDimension >::itkGetConstReferenceMacro ( SplineOrder ,
unsigned int  )

◆ itkSetMacro()

template<unsigned int TDimension = 3>
itk::NonUniformBSpline< TDimension >::itkSetMacro ( SplineOrder ,
unsigned int  )

Set the order of the spline.

◆ itkTypeMacro()

template<unsigned int TDimension = 3>
itk::NonUniformBSpline< TDimension >::itkTypeMacro ( NonUniformBSpline< TDimension > ,
Object  )

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.

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 180 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 175 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 185 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 170 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 165 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 195 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 190 of file mitkItkNonUniformBSpline.h.


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