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

itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions > Class Template Reference
[Transforms]

#include <itkThinPlateR2LogRSplineKernelTransform.h>

Inheritance diagram for itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >:

Inheritance graph
[legend]
Collaboration diagram for itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef ThinPlateR2LogRSplineKernelTransform Self
typedef KernelTransform< TScalarType,
NDimensions > 
Superclass
typedef SmartPointer< SelfPointer
typedef SmartPointer< const
Self
ConstPointer
typedef Superclass::ScalarType ScalarType
typedef Superclass::ParametersType ParametersType
typedef Superclass::JacobianType JacobianType
typedef Superclass::InputPointType InputPointType
typedef Superclass::OutputPointType OutputPointType
typedef Superclass::InputVectorType InputVectorType
typedef Superclass::OutputVectorType OutputVectorType
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
typedef Superclass::PointsIterator PointsIterator

Public Member Functions

virtual const char * GetClassName () const
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)

Static Public Member Functions

Pointer New ()

Protected Types

typedef Superclass::GMatrixType GMatrixType

Protected Member Functions

 ThinPlateR2LogRSplineKernelTransform ()
virtual ~ThinPlateR2LogRSplineKernelTransform ()
const GMatrixTypeComputeG (const InputVectorType &x) const
virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >

This class defines the thin plate spline (TPS) transformation. It is implemented in as straightforward a manner as possible from the IEEE TMI paper by Davis, Khotanzad, Flamig, and Harms, Vol. 16 No. 3 June 1997.

The kernel used in this variant of TPS is $ R^2 log(R) $

Definition at line 36 of file itkThinPlateR2LogRSplineKernelTransform.h.


Member Typedef Documentation

template<class TScalarType, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ConstPointer
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 44 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::GMatrixType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::GMatrixType [protected]
 

These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 81 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::InputCovariantVectorType
 

Standard covariant vector type for this class

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 70 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::InputPointType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::InputPointType
 

These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 66 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::InputVectorType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::InputVectorType
 

Standard vector type for this class.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 68 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::JacobianType
 

Jacobian Type

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 59 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::OutputCovariantVectorType
 

Reimplemented from itk::Transform< TScalarType, NDimensions, NDimensions >.

Definition at line 71 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::OutputPointType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::OutputPointType
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 67 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::OutputVectorType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::OutputVectorType
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 69 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ParametersType
 

Parameters type.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 56 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef SmartPointer<Self> itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::Pointer
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 43 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::PointsIterator itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::PointsIterator
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 72 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef Superclass::ScalarType itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ScalarType
 

Scalar type.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 53 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef ThinPlateR2LogRSplineKernelTransform itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::Self
 

Standard class typedefs.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 41 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
typedef KernelTransform< TScalarType, NDimensions> itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::Superclass
 

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

Definition at line 42 of file itkThinPlateR2LogRSplineKernelTransform.h.


Constructor & Destructor Documentation

template<class TScalarType, unsigned int NDimensions = 3>
itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ThinPlateR2LogRSplineKernelTransform  )  [inline, protected]
 

Definition at line 76 of file itkThinPlateR2LogRSplineKernelTransform.h.

template<class TScalarType, unsigned int NDimensions = 3>
virtual itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::~ThinPlateR2LogRSplineKernelTransform  )  [inline, protected, virtual]
 

Definition at line 77 of file itkThinPlateR2LogRSplineKernelTransform.h.


Member Function Documentation

template<class TScalarType, unsigned int NDimensions = 3>
virtual void itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ComputeDeformationContribution const InputPointType inputPoint,
OutputPointType result
const [protected, virtual]
 

Compute the contribution of the landmarks weighted by the kernel funcion to the global deformation of the space

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions = 3>
const GMatrixType& itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::ComputeG const InputVectorType x  )  const [protected, virtual]
 

Compute G(x) For the thin plate spline, this is: G(x) = r(x)*I $ G(x) = r(x)^2 log( r(x) ) *I $ where r(x) = Euclidean norm = sqrt[x1^2 + x2^2 + x3^2]

\[ r(x) = \sqrt{ x_1^2 + x_2^2 + x_3^2 } \]

I = identity matrix.

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions = 3>
virtual const char* itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::GetClassName  )  const [virtual]
 

Run-time type information (and related methods).

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions = 3>
itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
Superclass::SpaceDimension 
 

Dimension of the domain space.

template<class TScalarType, unsigned int NDimensions = 3>
Pointer itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >::New  )  [static]
 

New macro for creation of through a Smart Pointer

Reimplemented from itk::KernelTransform< TScalarType, NDimensions >.


The documentation for this class was generated from the following file:
Generated at Sat Mar 31 03:00:25 2007 for ITK by doxygen 1.3.8 written by Dimitri van Heesch, © 1997-2000