go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Private Member Functions
itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions > Class Template Reference

#include <itkThinPlateSplineKernelTransform2.h>

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

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::JacobianType JacobianType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::PointsIterator PointsIterator
 
typedef Superclass::ScalarType ScalarType
 
typedef
ThinPlateSplineKernelTransform2 
Self
 
typedef KernelTransform2
< TScalarType, NDimensions > 
Superclass
 
- Public Types inherited from itk::KernelTransform2< TScalarType, NDimensions >
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
AMatrixType
 
typedef vnl_vector_fixed
< TScalarType, NDimensions > 
BMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions, 1 > 
ColumnMatrixType
 
typedef SmartPointer< const SelfConstPointer
 
typedef vnl_matrix< TScalarType > DMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
GMatrixType
 
typedef vnl_matrix_fixed
< TScalarType, NDimensions,
NDimensions > 
IMatrixType
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
Superclass::InternalMatrixType 
InternalMatrixType
 
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
 
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef vnl_matrix< TScalarType > KMatrixType
 
typedef vnl_matrix< TScalarType > LMatrixType
 
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef vnl_matrix< TScalarType > PMatrixType
 
typedef SmartPointer< SelfPointer
 
typedef
PointSetType::PointsContainerConstIterator 
PointsConstIterator
 
typedef
PointSetType::PointsContainer 
PointsContainer
 
typedef PointSetType::Pointer PointSetPointer
 
typedef
DefaultStaticMeshTraits
< TScalarType, NDimensions,
NDimensions, TScalarType,
TScalarType > 
PointSetTraitsType
 
typedef PointSet
< InputPointType, NDimensions,
PointSetTraitsType
PointSetType
 
typedef
PointSetType::PointsContainerIterator 
PointsIterator
 
typedef vnl_matrix_fixed
< TScalarType, 1, NDimensions > 
RowMatrixType
 
typedef Superclass::ScalarType ScalarType
 
typedef KernelTransform2 Self
 
typedef
Superclass::SpatialHessianType 
SpatialHessianType
 
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
 
typedef AdvancedTransform
< TScalarType, NDimensions,
NDimensions > 
Superclass
 
typedef VectorSetType::Pointer VectorSetPointer
 
typedef VectorContainer
< unsigned long,
InputVectorType
VectorSetType
 
typedef vnl_matrix< TScalarType > WMatrixType
 
typedef vnl_matrix< TScalarType > YMatrixType
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::InputCovariantVectorType 
InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef
Superclass::InputVnlVectorType 
InputVnlVectorType
 
typedef
SpatialJacobianType::InternalMatrixType 
InternalMatrixType
 
typedef
Superclass::InverseTransformBasePointer 
InverseTransformBasePointer
 
typedef
Superclass::InverseTransformBaseType 
InverseTransformBaseType
 
typedef std::vector
< SpatialHessianType
JacobianOfSpatialHessianType
 
typedef std::vector
< SpatialJacobianType
JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef std::vector< unsigned
long > 
NonZeroJacobianIndicesType
 
typedef
Superclass::NumberOfParametersType 
NumberOfParametersType
 
typedef
Superclass::OutputCovariantVectorType 
OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef
Superclass::OutputVectorType 
OutputVectorType
 
typedef
Superclass::OutputVnlVectorType 
OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef
Superclass::ParametersValueType 
ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix
< ScalarType,
InputSpaceDimension,
InputSpaceDimension >
, OutputSpaceDimension > 
SpatialHessianType
 
typedef Matrix< ScalarType,
OutputSpaceDimension,
InputSpaceDimension > 
SpatialJacobianType
 
typedef Transform< TScalarType,
NInputDimensions,
NOutputDimensions > 
Superclass
 
typedef Transform< TScalarType,
NInputDimensions,
NOutputDimensions > 
TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)
 
- Public Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeLInverse (void)
 
void ComputeWMatrix (void)
 
virtual TScalarType GetAlpha (void) const
 
virtual VectorSetTypeGetDisplacements ()
 
virtual const ParametersTypeGetFixedParameters (void) const
 
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const std::string & GetMatrixInversionMethod ()
 
virtual NumberOfParametersType GetNumberOfParameters (void) const
 
virtual const ParametersTypeGetParameters (void) const
 
virtual const TScalarType GetPoissonRatio (void) const
 
virtual PointSetTypeGetSourceLandmarks ()
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual double GetStiffness ()
 
virtual PointSetTypeGetTargetLandmarks ()
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetAlpha (TScalarType)
 
virtual void SetFixedParameters (const ParametersType &)
 
virtual void SetIdentity (void)
 
virtual void SetMatrixInversionMethod (std::string _arg)
 
virtual void SetParameters (const ParametersType &)
 
virtual void SetPoissonRatio (TScalarType _arg)
 
virtual void SetSourceLandmarks (PointSetType *)
 
virtual void SetStiffness (double stiffness)
 
virtual void SetTargetLandmarks (PointSetType *)
 
virtual OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const
 
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
 
virtual OutputVectorType TransformVector (const InputVectorType &) const
 
virtual OutputVnlVectorType TransformVector (const InputVnlVectorType &) const
 
virtual void UpdateParameters (void)
 
- Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
virtual void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const
 
virtual void ComputeJacobianWithRespectToPosition (const InputPointType &, JacobianType &) const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
static Pointer New ()
 

Protected Types

typedef Superclass::GMatrixType GMatrixType
 
- Protected Types inherited from itk::KernelTransform2< TScalarType, NDimensions >
typedef vnl_qr< ScalarTypeQRDecompositionType
 
typedef vnl_svd< ScalarTypeSVDDecompositionType
 

Protected Member Functions

virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
 
void ComputeG (const InputVectorType &x, GMatrixType &GMatrix) const
 
 ThinPlateSplineKernelTransform2 ()
 
virtual ~ThinPlateSplineKernelTransform2 ()
 
- Protected Member Functions inherited from itk::KernelTransform2< TScalarType, NDimensions >
void ComputeD (void)
 
void ComputeK (void)
 
void ComputeL (void)
 
void ComputeP (void)
 
virtual void ComputeReflexiveG (PointsIterator, GMatrixType &GMatrix) const
 
void ComputeY (void)
 
 KernelTransform2 ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void ReorganizeW (void)
 
virtual ~KernelTransform2 ()
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
virtual ~AdvancedTransform ()
 

Private Member Functions

void operator= (const Self &)
 
 ThinPlateSplineKernelTransform2 (const Self &)
 

Additional Inherited Members

- Data Fields inherited from itk::KernelTransform2< TScalarType, NDimensions >
PointSetPointer m_SourceLandmarks
 
PointSetPointer m_TargetLandmarks
 
- Protected Attributes inherited from itk::KernelTransform2< TScalarType, NDimensions >
AMatrixType m_AMatrix
 
BMatrixType m_BVector
 
VectorSetPointer m_Displacements
 
DMatrixType m_DMatrix
 
bool m_FastComputationPossible
 
IMatrixType m_I
 
KMatrixType m_KMatrix
 
bool m_LInverseComputed
 
LMatrixType m_LMatrix
 
bool m_LMatrixComputed
 
bool m_LMatrixDecompositionComputed
 
QRDecompositionTypem_LMatrixDecompositionQR
 
SVDDecompositionTypem_LMatrixDecompositionSVD
 
LMatrixType m_LMatrixInverse
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndicesTemp
 
PMatrixType m_PMatrix
 
double m_Stiffness
 
WMatrixType m_WMatrix
 
bool m_WMatrixComputed
 
YMatrixType m_YMatrix
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::ThinPlateSplineKernelTransform2< 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

Definition at line 35 of file itkThinPlateSplineKernelTransform2.h.

Member Typedef Documentation

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

Definition at line 44 of file itkThinPlateSplineKernelTransform2.h.

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

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

Definition at line 88 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 71 of file itkThinPlateSplineKernelTransform2.h.

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

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

Definition at line 67 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 69 of file itkThinPlateSplineKernelTransform2.h.

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

Jacobian Type

Definition at line 59 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 72 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 68 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 70 of file itkThinPlateSplineKernelTransform2.h.

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

Parameters type.

Definition at line 56 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 43 of file itkThinPlateSplineKernelTransform2.h.

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

Definition at line 73 of file itkThinPlateSplineKernelTransform2.h.

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

Scalar type.

Definition at line 50 of file itkThinPlateSplineKernelTransform2.h.

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

Standard class typedefs.

Definition at line 41 of file itkThinPlateSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
typedef KernelTransform2< TScalarType, NDimensions > itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Superclass

Definition at line 42 of file itkThinPlateSplineKernelTransform2.h.

Constructor & Destructor Documentation

template<class TScalarType , unsigned int NDimensions = 3>
itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ThinPlateSplineKernelTransform2 ( )
inlineprotected

Definition at line 77 of file itkThinPlateSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
virtual itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::~ThinPlateSplineKernelTransform2 ( )
inlineprotectedvirtual

Definition at line 83 of file itkThinPlateSplineKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions = 3>
itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ThinPlateSplineKernelTransform2 ( const Self )
private

Member Function Documentation

template<class TScalarType , unsigned int NDimensions = 3>
virtual void itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution ( const InputPointType inputPoint,
OutputPointType result 
) const
protectedvirtual

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

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

template<class TScalarType , unsigned int NDimensions = 3>
void itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ComputeG ( const InputVectorType x,
GMatrixType GMatrix 
) const
protectedvirtual

Compute G(x) For the thin plate spline, this is: G(x) = r(x)*I $ G(x) = 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::KernelTransform2< TScalarType, NDimensions >.

template<class TScalarType , unsigned int NDimensions = 3>
virtual const char* itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

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

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

Dimension of the domain space.

template<class TScalarType , unsigned int NDimensions = 3>
static Pointer itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::New ( )
static

New macro for creation of through a Smart Pointer

template<class TScalarType , unsigned int NDimensions = 3>
void itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::operator= ( const Self )
private


Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo