Medical Imaging Interaction Toolkit  2016.11.0
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 ()
 
virtual ~NonUniformBSpline ()
 
virtual 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 57 of file mitkItkNonUniformBSpline.h.

Member Typedef Documentation

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

Definition at line 77 of file mitkItkNonUniformBSpline.h.

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

Definition at line 67 of file mitkItkNonUniformBSpline.h.

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

Definition at line 76 of file mitkItkNonUniformBSpline.h.

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

Definition at line 75 of file mitkItkNonUniformBSpline.h.

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

Definition at line 74 of file mitkItkNonUniformBSpline.h.

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

Definition at line 73 of file mitkItkNonUniformBSpline.h.

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

Definition at line 72 of file mitkItkNonUniformBSpline.h.

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

Definition at line 66 of file mitkItkNonUniformBSpline.h.

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

Definition at line 71 of file mitkItkNonUniformBSpline.h.

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

Definition at line 70 of file mitkItkNonUniformBSpline.h.

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

Definition at line 69 of file mitkItkNonUniformBSpline.h.

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

Definition at line 68 of file mitkItkNonUniformBSpline.h.

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

Typedefs

Definition at line 64 of file mitkItkNonUniformBSpline.h.

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

Definition at line 65 of file mitkItkNonUniformBSpline.h.

Constructor & Destructor Documentation

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

Constructor

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

Virtual destructor

Member Function Documentation

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

Computes the chord lengths based on the points.

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

Compute the control points.

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.

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

Method for creation through the object factory.

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

Get the control points for the spline

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

Get the knot vector.

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

Get the points the spline is trying to interpolate.

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

Method for creation through the object factory.

Referenced by mitk::VirtualTrackingTool::VirtualTrackingTool().

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.

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

Method to print the object.

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

Set the control points for the spline.

Referenced by mitk::VirtualTrackingDevice::InitializeSpline().

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.

Referenced by mitk::VirtualTrackingDevice::InitializeSpline().

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

Set points which the spline will attempt to interpolate.

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

Set the order of the spline.

Member Data Documentation

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

The chord length computed from m_Points.

Definition at line 184 of file mitkItkNonUniformBSpline.h.

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

The control points of the spline.

Definition at line 179 of file mitkItkNonUniformBSpline.h.

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

The cumulative chord length computed from m_Points

Definition at line 189 of file mitkItkNonUniformBSpline.h.

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

The knots of spline.

Definition at line 174 of file mitkItkNonUniformBSpline.h.

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

Points that the spline attempts to intepolate.

Definition at line 169 of file mitkItkNonUniformBSpline.h.

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

The spatial dimension. Saved from the template parameter.

Definition at line 199 of file mitkItkNonUniformBSpline.h.

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

The order of the spline.

Definition at line 194 of file mitkItkNonUniformBSpline.h.


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