Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

itk::NonUniformBSpline< TDimension > Class Template Reference

BSpline with nonuniform knot spacing. More...

#include <itkNonUniformBSpline.h>

Inheritance diagram for itk::NonUniformBSpline< TDimension >:

Inheritance graph
[legend]
Collaboration diagram for itk::NonUniformBSpline< TDimension >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef NonUniformBSpline Self
typedef Object Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
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

virtual const char * GetNameOfClass () const
void SetPoints (PointListType &newPoints)
PointListTypeGetPoints ()
void SetKnots (KnotListType &newKnots)
KnotListTypeGetKnots ()
void ComputeChordLengths ()
void ComputeControlPoints ()
void SetControlPoints (ControlPointListType &ctrlpts)
ControlPointListTypeGetControlPoints ()
double NonUniformBSplineFunctionRecursive (unsigned int order, unsigned int i, double t) const
unsigned int GetSplineOrder ()
PointType EvaluateSpline (const Array< double > &p) const
PointType EvaluateSpline (double t) const
void SetSplineOrder (unsigned int order)

Static Public Member Functions

Pointer New ()

Protected Member Functions

 NonUniformBSpline ()
virtual ~NonUniformBSpline ()
virtual void PrintSelf (std::ostream &os, Indent indent) const

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.

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.

CAUTION: THIS CLASS IS STILL UNDER DEVELOPMENT.

Definition at line 48 of file itkNonUniformBSpline.h.


Member Typedef Documentation

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

Definition at line 68 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 58 of file itkNonUniformBSpline.h.

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

Definition at line 67 of file itkNonUniformBSpline.h.

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

Definition at line 66 of file itkNonUniformBSpline.h.

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

Definition at line 65 of file itkNonUniformBSpline.h.

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

Definition at line 64 of file itkNonUniformBSpline.h.

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

Definition at line 63 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 57 of file itkNonUniformBSpline.h.

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

Definition at line 62 of file itkNonUniformBSpline.h.

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

Definition at line 61 of file itkNonUniformBSpline.h.

Referenced by itk::NonUniformBSpline< TDimension >::GetPoints().

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

Definition at line 60 of file itkNonUniformBSpline.h.

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

Definition at line 59 of file itkNonUniformBSpline.h.

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

Typedefs

Reimplemented from itk::Object.

Definition at line 55 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 56 of file itkNonUniformBSpline.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  )  [protected, virtual]
 

Virtual destructor


Member Function Documentation

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 double  t  )  const
 

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

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>
ControlPointListType& itk::NonUniformBSpline< TDimension >::GetControlPoints  )  [inline]
 

Get the control points for the spline

Definition at line 126 of file itkNonUniformBSpline.h.

References itk::NonUniformBSpline< TDimension >::m_ControlPoints.

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

Get the knot vector.

template<unsigned int TDimension = 3>
virtual const char* itk::NonUniformBSpline< TDimension >::GetNameOfClass  )  const [virtual]
 

Method for creation through the object factory.

Reimplemented from itk::Object.

template<unsigned int TDimension = 3>
PointListType& itk::NonUniformBSpline< TDimension >::GetPoints void   )  [inline]
 

Get the points the spline is trying to interpolate.

Definition at line 84 of file itkNonUniformBSpline.h.

References itk::NonUniformBSpline< TDimension >::m_Points, and itk::NonUniformBSpline< TDimension >::PointListType.

template<unsigned int TDimension = 3>
unsigned int itk::NonUniformBSpline< TDimension >::GetSplineOrder  )  [inline]
 

Get the order of the spline.

Definition at line 152 of file itkNonUniformBSpline.h.

References itk::NonUniformBSpline< TDimension >::m_SplineOrder.

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

Method for creation through the object factory.

Reimplemented from itk::Object.

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 [protected, virtual]
 

Method to print the object.

Reimplemented from itk::Object.

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

Set the control points for the spline.

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.

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>
void itk::NonUniformBSpline< TDimension >::SetSplineOrder unsigned int  order  )  [inline]
 

Set the order of the spline.

Definition at line 142 of file itkNonUniformBSpline.h.

References itk::NonUniformBSpline< TDimension >::m_SplineOrder, and itk::Object::Modified().


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 192 of file itkNonUniformBSpline.h.

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

The control points of the spline.

Definition at line 187 of file itkNonUniformBSpline.h.

Referenced by itk::NonUniformBSpline< TDimension >::GetControlPoints().

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

The cumulative chord length computed from m_Points

Definition at line 197 of file itkNonUniformBSpline.h.

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

The knots of spline.

Definition at line 182 of file itkNonUniformBSpline.h.

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

Points that the spline attempts to intepolate.

Definition at line 177 of file itkNonUniformBSpline.h.

Referenced by itk::NonUniformBSpline< TDimension >::GetPoints().

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

The spatial dimension. Saved from the template parameter.

Definition at line 207 of file itkNonUniformBSpline.h.

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

The order of the spline.

Definition at line 202 of file itkNonUniformBSpline.h.

Referenced by itk::NonUniformBSpline< TDimension >::GetSplineOrder(), and itk::NonUniformBSpline< TDimension >::SetSplineOrder().


The documentation for this class was generated from the following file:
Generated at Thu May 25 01:57:16 2006 for ITK by doxygen 1.3.5 written by Dimitri van Heesch, © 1997-2000