ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes
itk::NonUniformBSpline< TDimension > Class Template Reference

BSpline with nonuniform knot spacing. More...

#include <itkNonUniformBSpline.h>

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

List of all members.

Public Types

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

Public Member Functions

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

Static Public Member Functions

static Pointer New ()

Protected Member Functions

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

Protected Attributes

ChordLengthListType m_ChordLength
ControlPointListType m_ControlPoints
ChordLengthListType m_CumulativeChordLength
KnotListType m_Knots
PointListType m_Points
unsigned int m_SpatialDimension
unsigned int m_SplineOrder

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


Member Typedef Documentation

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

Definition at line 66 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 56 of file itkNonUniformBSpline.h.

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

Definition at line 65 of file itkNonUniformBSpline.h.

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

Definition at line 64 of file itkNonUniformBSpline.h.

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

Definition at line 63 of file itkNonUniformBSpline.h.

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

Definition at line 62 of file itkNonUniformBSpline.h.

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

Definition at line 61 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 55 of file itkNonUniformBSpline.h.

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

Definition at line 60 of file itkNonUniformBSpline.h.

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

Definition at line 59 of file itkNonUniformBSpline.h.

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

Definition at line 58 of file itkNonUniformBSpline.h.

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

Definition at line 57 of file itkNonUniformBSpline.h.

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

Typedefs

Reimplemented from itk::Object.

Definition at line 53 of file itkNonUniformBSpline.h.

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

Reimplemented from itk::Object.

Definition at line 54 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>
virtual::itk::LightObject::Pointer itk::NonUniformBSpline< TDimension >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

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>
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>
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>
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]

Set the order of the spline.

template<unsigned int TDimension = 3>
static 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>
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 172 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 167 of file itkNonUniformBSpline.h.

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

The cumulative chord length computed from m_Points

Definition at line 177 of file itkNonUniformBSpline.h.

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

The knots of spline.

Definition at line 162 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 157 of file itkNonUniformBSpline.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 187 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 182 of file itkNonUniformBSpline.h.


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