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

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

#include <itkKernelTransform.h>

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

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

Collaboration graph
[legend]
List of all members.

Public Types

typedef KernelTransform Self
typedef Transform< TScalarType,
NDimensions, 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 DefaultStaticMeshTraits<
TScalarType, NDimensions,
NDimensions, TScalarType,
TScalarType > 
PointSetTraitsType
typedef PointSet< InputPointType,
NDimensions, PointSetTraitsType
PointSetType
typedef PointSetType::Pointer PointSetPointer
typedef PointSetType::PointsContainer PointsContainer
typedef PointSetType::PointsContainerIterator PointsIterator
typedef PointSetType::PointsContainerConstIterator PointsConstIterator
typedef itk::VectorContainer<
unsigned long, InputVectorType
VectorSetType
typedef VectorSetType::Pointer VectorSetPointer
typedef vnl_matrix_fixed<
TScalarType, NDimensions,
NDimensions > 
IMatrixType
typedef vnl_matrix_fixed<
TScalarType, NDimensions,
NDimensions > 
GMatrixType
typedef vnl_matrix< TScalarType > LMatrixType
typedef vnl_matrix< TScalarType > KMatrixType
typedef vnl_matrix< TScalarType > PMatrixType
typedef vnl_matrix< TScalarType > YMatrixType
typedef vnl_matrix< TScalarType > WMatrixType
typedef vnl_matrix< TScalarType > DMatrixType
typedef vnl_matrix_fixed<
TScalarType, NDimensions,
NDimensions > 
AMatrixType
typedef vnl_vector_fixed<
TScalarType, NDimensions > 
BMatrixType
typedef vnl_matrix_fixed<
TScalarType, 1, NDimensions > 
RowMatrixType
typedef vnl_matrix_fixed<
TScalarType, NDimensions, 1 > 
ColumnMatrixType

Public Member Functions

virtual const char * GetNameOfClass () const
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
virtual PointSetTypeGetSourceLandmarks ()
virtual void SetSourceLandmarks (PointSetType *)
virtual PointSetTypeGetTargetLandmarks ()
virtual void SetTargetLandmarks (PointSetType *)
virtual VectorSetTypeGetDisplacements ()
void ComputeWMatrix (void)
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void SetParameters (const ParametersType &)
virtual void SetFixedParameters (const ParametersType &)
virtual void UpdateParameters (void) const
virtual const ParametersTypeGetParameters (void) const
virtual const ParametersTypeGetFixedParameters (void) const
virtual void SetStiffness (double _arg)
virtual double GetStiffness ()

Static Public Member Functions

Pointer New ()

Public Attributes

PointSetPointer m_SourceLandmarks
PointSetPointer m_TargetLandmarks

Protected Member Functions

 KernelTransform ()
virtual ~KernelTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
virtual const GMatrixTypeComputeG (const InputVectorType &landmarkVector) const
virtual const GMatrixTypeComputeReflexiveG (PointsIterator) const
virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
void ComputeK ()
void ComputeL ()
void ComputeP ()
void ComputeY ()
void ComputeD ()
void ReorganizeW (void)

Protected Attributes

double m_Stiffness
VectorSetPointer m_Displacements
LMatrixType m_LMatrix
KMatrixType m_KMatrix
PMatrixType m_PMatrix
YMatrixType m_YMatrix
WMatrixType m_WMatrix
DMatrixType m_DMatrix
AMatrixType m_AMatrix
BMatrixType m_BVector
GMatrixType m_GMatrix
bool m_WMatrixComputed
IMatrixType m_I

Detailed Description

template<class TScalarType, unsigned int NDimensions>
class itk::KernelTransform< TScalarType, NDimensions >

Intended to be a base class for elastic body spline and thin plate spline. This 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. Notation closely follows their paper, so if you have it in front of you, this code will make a lot more sense.

KernelTransform: Provides support for defining source and target landmarks Defines a number of data types used in the computations Defines the mathematical framework used to compute all splines, so that subclasses need only provide a kernel specific to that spline

This formulation allows the stiffness of the spline to be adjusted, allowing the spline to vary from interpolating the landmarks to approximating the landmarks. This part of the formulation is based on the short paper by R. Sprengel, K. Rohr, H. Stiehl. "Thin-Plate Spline Approximation for Image Registration". In 18th International Conference of the IEEE Engineering in Medicine and Biology Society. 1996.

Definition at line 64 of file itkKernelTransform.h.


Member Typedef Documentation

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType,NDimensions,NDimensions> itk::KernelTransform< TScalarType, NDimensions >::AMatrixType
 

'A' matrix typedef. Rotational part of the Affine component

Definition at line 211 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_vector_fixed<TScalarType,NDimensions> itk::KernelTransform< TScalarType, NDimensions >::BMatrixType
 

'B' matrix typedef. Translational part of the Affine component

Definition at line 214 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType, NDimensions, 1> itk::KernelTransform< TScalarType, NDimensions >::ColumnMatrixType
 

Column matrix typedef.

Definition at line 220 of file itkKernelTransform.h.

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

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 72 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::DMatrixType
 

'D' matrix typedef. Deformation component

Definition at line 208 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions> itk::KernelTransform< TScalarType, NDimensions >::GMatrixType
 

'G' matrix typedef.

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 190 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions> itk::KernelTransform< TScalarType, NDimensions >::IMatrixType
 

'I' (identity) matrix typedef.

Definition at line 140 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::InputPointType itk::KernelTransform< TScalarType, NDimensions >::InputPointType
 

Standard coordinate point type for this class.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 93 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::InputVectorType itk::KernelTransform< TScalarType, NDimensions >::InputVectorType
 

Standard vector type for this class.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 97 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::JacobianType itk::KernelTransform< TScalarType, NDimensions >::JacobianType
 

Jacobian type.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 90 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::KMatrixType
 

'K' matrix typedef.

Definition at line 196 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::LMatrixType
 

'L' matrix typedef.

Definition at line 193 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::OutputPointType itk::KernelTransform< TScalarType, NDimensions >::OutputPointType
 

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 94 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::OutputVectorType itk::KernelTransform< TScalarType, NDimensions >::OutputVectorType
 

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 98 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::ParametersType itk::KernelTransform< TScalarType, NDimensions >::ParametersType
 

Parameters type.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 87 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::PMatrixType
 

'P' matrix typedef.

Definition at line 199 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef SmartPointer<Self> itk::KernelTransform< TScalarType, NDimensions >::Pointer
 

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 71 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef PointSetType::PointsContainerConstIterator itk::KernelTransform< TScalarType, NDimensions >::PointsConstIterator
 

Definition at line 111 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef PointSetType::PointsContainer itk::KernelTransform< TScalarType, NDimensions >::PointsContainer
 

Definition at line 109 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef PointSetType::Pointer itk::KernelTransform< TScalarType, NDimensions >::PointSetPointer
 

Definition at line 108 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef DefaultStaticMeshTraits<TScalarType, NDimensions, NDimensions, TScalarType, TScalarType> itk::KernelTransform< TScalarType, NDimensions >::PointSetTraitsType
 

PointList typedef. This type is used for maintaining lists of points, specifically, the source and target landmark lists.

Definition at line 106 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef PointSet<InputPointType, NDimensions, PointSetTraitsType> itk::KernelTransform< TScalarType, NDimensions >::PointSetType
 

Definition at line 107 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef PointSetType::PointsContainerIterator itk::KernelTransform< TScalarType, NDimensions >::PointsIterator
 

Reimplemented in itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 110 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType, 1, NDimensions> itk::KernelTransform< TScalarType, NDimensions >::RowMatrixType
 

Row matrix typedef.

Definition at line 217 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Superclass::ScalarType itk::KernelTransform< TScalarType, NDimensions >::ScalarType
 

Scalar type.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 84 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef KernelTransform itk::KernelTransform< TScalarType, NDimensions >::Self
 

Standard class typedefs.

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 69 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef Transform<TScalarType, NDimensions, NDimensions > itk::KernelTransform< TScalarType, NDimensions >::Superclass
 

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

Definition at line 70 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef VectorSetType::Pointer itk::KernelTransform< TScalarType, NDimensions >::VectorSetPointer
 

Definition at line 115 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef itk::VectorContainer<unsigned long,InputVectorType> itk::KernelTransform< TScalarType, NDimensions >::VectorSetType
 

VectorSet typedef.

Definition at line 114 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::WMatrixType
 

'W' matrix typedef.

Definition at line 205 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform< TScalarType, NDimensions >::YMatrixType
 

'Y' matrix typedef.

Definition at line 202 of file itkKernelTransform.h.


Constructor & Destructor Documentation

template<class TScalarType, unsigned int NDimensions>
itk::KernelTransform< TScalarType, NDimensions >::KernelTransform  )  [protected]
 

template<class TScalarType, unsigned int NDimensions>
virtual itk::KernelTransform< TScalarType, NDimensions >::~KernelTransform  )  [protected, virtual]
 


Member Function Documentation

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeD  )  [protected]
 

Compute displacements $ q_i - p_i $.

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< 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 in itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions>
virtual const GMatrixType& itk::KernelTransform< TScalarType, NDimensions >::ComputeG const InputVectorType landmarkVector  )  const [protected, virtual]
 

Compute G(x) This is essentially the kernel of the transform. By overriding this method, we can obtain (among others): Elastic body spline Thin plate spline Volume spline

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeK  )  [protected]
 

Compute K matrix.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeL  )  [protected]
 

Compute L matrix.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeP  )  [protected]
 

Compute P matrix.

template<class TScalarType, unsigned int NDimensions>
virtual const GMatrixType& itk::KernelTransform< TScalarType, NDimensions >::ComputeReflexiveG PointsIterator   )  const [protected, virtual]
 

Compute a G(x) for a point to itself (i.e. for the block diagonal elements of the matrix K. Parameter indicates for which landmark the reflexive G is to be computed. The default implementation for the reflexive contribution is a diagonal matrix where the diagonal elements are the stiffness of the spline.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeWMatrix void   ) 
 

Compute W matrix.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ComputeY  )  [protected]
 

Compute Y matrix.

template<class TScalarType, unsigned int NDimensions>
virtual VectorSetType* itk::KernelTransform< TScalarType, NDimensions >::GetDisplacements  )  [virtual]
 

Get the displacements list, which we will denote $ d $, where $ d_i = q_i - p_i $.

template<class TScalarType, unsigned int NDimensions>
virtual const ParametersType& itk::KernelTransform< TScalarType, NDimensions >::GetFixedParameters void   )  const [virtual]
 

Get Transform Fixed Parameters - Gets the Target Landmarks

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

template<class TScalarType, unsigned int NDimensions>
virtual const JacobianType& itk::KernelTransform< TScalarType, NDimensions >::GetJacobian const InputPointType point  )  const [virtual]
 

Compute the Jacobian Matrix of the transformation at one point

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

template<class TScalarType, unsigned int NDimensions>
virtual const char* itk::KernelTransform< TScalarType, NDimensions >::GetNameOfClass  )  const [virtual]
 

Run-time type information (and related methods).

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions>
virtual const ParametersType& itk::KernelTransform< TScalarType, NDimensions >::GetParameters void   )  const [virtual]
 

Get the Transformation Parameters - Gets the Source Landmarks

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

template<class TScalarType, unsigned int NDimensions>
virtual PointSetType* itk::KernelTransform< TScalarType, NDimensions >::GetSourceLandmarks  )  [virtual]
 

Get the source landmarks list, which we will denote $ p $.

template<class TScalarType, unsigned int NDimensions>
virtual double itk::KernelTransform< TScalarType, NDimensions >::GetStiffness  )  [virtual]
 

Stiffness of the spline. A stiffness of zero results in the standard interpolating spline. A non-zero stiffness allows the spline to approximate rather than interpolate the landmarks. Stiffness values are usually rather small, typically in the range of 0.001 to 0.1. The approximating spline formulation is based on the short paper by R. Sprengel, K. Rohr, H. Stiehl. "Thin-Plate Spline Approximation for Image Registration". In 18th International Conference of the IEEE Engineering in Medicine and Biology Society. 1996.

template<class TScalarType, unsigned int NDimensions>
virtual PointSetType* itk::KernelTransform< TScalarType, NDimensions >::GetTargetLandmarks  )  [virtual]
 

Get the target landmarks list, which we will denote $ q $.

template<class TScalarType, unsigned int NDimensions>
itk::KernelTransform< TScalarType, NDimensions >::itkStaticConstMacro SpaceDimension  ,
unsigned  int,
NDimensions 
 

Dimension of the domain space.

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

New macro for creation of through a Smart Pointer

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

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::PrintSelf std::ostream &  os,
Indent  indent
const [protected, virtual]
 

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::Object.

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform< TScalarType, NDimensions >.

template<class TScalarType, unsigned int NDimensions>
void itk::KernelTransform< TScalarType, NDimensions >::ReorganizeW void   )  [protected]
 

Reorganize the components of W into D (deformable), A (rotation part of affine) and B (translational part of affine ) components.

Warning:
This method release the memory of the W Matrix

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::SetFixedParameters const ParametersType  )  [virtual]
 

Set Transform Fixed Parameters: To support the transform file writer this function was added to set the target landmarks similar to the SetParameters function setting the source landmarks

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

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::SetParameters const ParametersType  )  [virtual]
 

Set the Transformation Parameters and update the internal transformation. The parameters represent the source landmarks. Each landmark point is represented by NDimensions doubles. All the landmarks are concatenated to form one flat Array<double>.

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

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::SetSourceLandmarks PointSetType  )  [virtual]
 

Set the source landmarks list.

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::SetStiffness double  _arg  )  [virtual]
 

Stiffness of the spline. A stiffness of zero results in the standard interpolating spline. A non-zero stiffness allows the spline to approximate rather than interpolate the landmarks. Stiffness values are usually rather small, typically in the range of 0.001 to 0.1. The approximating spline formulation is based on the short paper by R. Sprengel, K. Rohr, H. Stiehl. "Thin-Plate Spline Approximation for Image Registration". In 18th International Conference of the IEEE Engineering in Medicine and Biology Society. 1996.

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::SetTargetLandmarks PointSetType  )  [virtual]
 

Set the target landmarks list.

template<class TScalarType, unsigned int NDimensions>
virtual OutputPointType itk::KernelTransform< TScalarType, NDimensions >::TransformPoint const InputPointType thisPoint  )  const [virtual]
 

Compute the position of point in the new space

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

template<class TScalarType, unsigned int NDimensions>
virtual void itk::KernelTransform< TScalarType, NDimensions >::UpdateParameters void   )  const [virtual]
 

Update the Parameters array from the landmarks corrdinates.


Member Data Documentation

template<class TScalarType, unsigned int NDimensions>
AMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_AMatrix [protected]
 

Rotatinoal/Shearing part of the Affine component of the Transformation

Definition at line 302 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
BMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_BVector [protected]
 

Translational part of the Affine component of the Transformation

Definition at line 305 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
VectorSetPointer itk::KernelTransform< TScalarType, NDimensions >::m_Displacements [protected]
 

The list of displacements. d[i] = q[i] - p[i];

Definition at line 277 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
DMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_DMatrix [protected]
 

The Deformation matrix. This is an auxiliary matrix that will hold the Deformation (non-affine) part of the transform. Those are the coefficients that will multiply the Kernel function

Definition at line 299 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
GMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_GMatrix [mutable, protected]
 

The G matrix. It is made mutable because m_GMatrix was made an ivar only to avoid copying the matrix at return time

Definition at line 310 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
IMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_I [protected]
 

Identity matrix.

Definition at line 316 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
KMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_KMatrix [protected]
 

The K matrix.

Definition at line 283 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
LMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_LMatrix [protected]
 

The L matrix.

Definition at line 280 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
PMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_PMatrix [protected]
 

The P matrix.

Definition at line 286 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
PointSetPointer itk::KernelTransform< TScalarType, NDimensions >::m_SourceLandmarks
 

The list of source landmarks, denoted 'p'.

Definition at line 223 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
double itk::KernelTransform< TScalarType, NDimensions >::m_Stiffness [protected]
 

Stiffness parameter

Definition at line 273 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
PointSetPointer itk::KernelTransform< TScalarType, NDimensions >::m_TargetLandmarks
 

The list of target landmarks, denoted 'q'.

Definition at line 226 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
WMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_WMatrix [protected]
 

The W matrix.

Definition at line 292 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
bool itk::KernelTransform< TScalarType, NDimensions >::m_WMatrixComputed [protected]
 

Has the W matrix been computed?

Definition at line 313 of file itkKernelTransform.h.

template<class TScalarType, unsigned int NDimensions>
YMatrixType itk::KernelTransform< TScalarType, NDimensions >::m_YMatrix [protected]
 

The Y matrix.

Definition at line 289 of file itkKernelTransform.h.


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