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 | Data Fields | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::KernelTransform2< TScalarType, NDimensions > Class Template Reference

#include <itkKernelTransform2.h>

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

Public Types

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::InputPointType InputPointType
typedef Superclass::InputVectorType InputVectorType
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::OutputPointType OutputPointType
typedef
Superclass::OutputVectorType 
OutputVectorType
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 Member Functions

void ComputeLInverse (void)
void ComputeWMatrix (void)
virtual TScalarType GetAlpha (void) const
virtual const char * GetClassName () const
virtual VectorSetTypeGetDisplacements ()
virtual const ParametersTypeGetFixedParameters (void) const
virtual bool GetHasNonZeroSpatialHessian (void) const
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
virtual unsigned int GetNumberOfParameters (void) const
virtual const ParametersTypeGetParameters (void) const
virtual const TScalarType GetPoissonRatio (void) const
virtual PointSetTypeGetSourceLandmarks ()
virtual double GetStiffness ()
virtual PointSetTypeGetTargetLandmarks ()
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
virtual void SetAlpha (TScalarType Alpha)
virtual void SetFixedParameters (const ParametersType &)
virtual void SetIdentity (void)
virtual void SetParameters (const ParametersType &)
virtual void SetPoissonRatio (TScalarType _arg)
virtual void SetSourceLandmarks (PointSetType *)
virtual void SetStiffness (double stiffness)
virtual void SetTargetLandmarks (PointSetType *)
virtual OutputPointType TransformPoint (const InputPointType &thisPoint) const
virtual void UpdateParameters (void)

Static Public Member Functions

static Pointer New ()

Data Fields

PointSetPointer m_SourceLandmarks
PointSetPointer m_TargetLandmarks

Protected Member Functions

void ComputeD (void)
virtual void ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const
virtual void ComputeG (const InputVectorType &landmarkVector, GMatrixType &GMatrix) const
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 Attributes

AMatrixType m_AMatrix
BMatrixType m_BVector
VectorSetPointer m_Displacements
DMatrixType m_DMatrix
IMatrixType m_I
KMatrixType m_KMatrix
bool m_LInverseComputed
LMatrixType m_LMatrix
bool m_LMatrixComputed
LMatrixType m_LMatrixInverse
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
NonZeroJacobianIndicesType m_NonZeroJacobianIndicesTemp
PMatrixType m_PMatrix
double m_Stiffness
WMatrixType m_WMatrix
bool m_WMatrixComputed
YMatrixType m_YMatrix

Private Member Functions

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

Private Attributes

TScalarType m_PoissonRatio

Detailed Description

template<class TScalarType, unsigned int NDimensions>
class itk::KernelTransform2< 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.

KernelTransform2: 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.

This class was modified to support its use in the ITK registration framework by Rupert Brooks, McGill Centre for Intelligent Machines, Montreal, Canada March 2007. See the Insight Journal Paper by Brooks, R., Arbel, T. "Improvements to the itk::KernelTransform and its subclasses."

Modified a bit to include it in elastix:

Definition at line 75 of file itkKernelTransform2.h.


Member Typedef Documentation

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

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

Definition at line 280 of file itkKernelTransform2.h.

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

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

Definition at line 283 of file itkKernelTransform2.h.

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

Column matrix typedef.

Definition at line 289 of file itkKernelTransform2.h.

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

'D' matrix typedef. Deformation component

Definition at line 277 of file itkKernelTransform2.h.

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

'I' (identity) matrix typedef.

Definition at line 133 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
typedef Superclass::InputPointType itk::KernelTransform2< TScalarType, NDimensions >::InputPointType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::InputVectorType itk::KernelTransform2< TScalarType, NDimensions >::InputVectorType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::InternalMatrixType itk::KernelTransform2< TScalarType, NDimensions >::InternalMatrixType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass ::JacobianOfSpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialHessianType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass ::JacobianOfSpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialJacobianType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::JacobianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianType
template<class TScalarType , unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::KMatrixType

'K' matrix typedef.

Definition at line 265 of file itkKernelTransform2.h.

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

'L' matrix typedef.

Definition at line 262 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
typedef Superclass ::NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::NonZeroJacobianIndicesType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::OutputPointType itk::KernelTransform2< TScalarType, NDimensions >::OutputPointType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::OutputVectorType itk::KernelTransform2< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::ParametersType itk::KernelTransform2< TScalarType, NDimensions >::ParametersType
template<class TScalarType , unsigned int NDimensions>
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::PMatrixType

'P' matrix typedef.

Definition at line 268 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
typedef SmartPointer<Self> itk::KernelTransform2< TScalarType, NDimensions >::Pointer
template<class TScalarType , unsigned int NDimensions>
typedef PointSetType::PointsContainerConstIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsConstIterator

Definition at line 126 of file itkKernelTransform2.h.

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

Definition at line 124 of file itkKernelTransform2.h.

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

Definition at line 123 of file itkKernelTransform2.h.

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

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

Definition at line 120 of file itkKernelTransform2.h.

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

Definition at line 122 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
typedef PointSetType::PointsContainerIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsIterator
template<class TScalarType , unsigned int NDimensions>
typedef vnl_matrix_fixed<TScalarType, 1, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::RowMatrixType

Row matrix typedef.

Definition at line 286 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
typedef Superclass::ScalarType itk::KernelTransform2< TScalarType, NDimensions >::ScalarType
template<class TScalarType , unsigned int NDimensions>
typedef KernelTransform2 itk::KernelTransform2< TScalarType, NDimensions >::Self
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::SpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialHessianType
template<class TScalarType , unsigned int NDimensions>
typedef Superclass::SpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialJacobianType
template<class TScalarType , unsigned int NDimensions>
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > itk::KernelTransform2< TScalarType, NDimensions >::Superclass
template<class TScalarType , unsigned int NDimensions>
typedef VectorSetType::Pointer itk::KernelTransform2< TScalarType, NDimensions >::VectorSetPointer

Definition at line 130 of file itkKernelTransform2.h.

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

VectorSet typedef.

Definition at line 129 of file itkKernelTransform2.h.

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

'W' matrix typedef.

Definition at line 274 of file itkKernelTransform2.h.

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

'Y' matrix typedef.

Definition at line 271 of file itkKernelTransform2.h.


Constructor & Destructor Documentation

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

Definition at line 254 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
itk::KernelTransform2< TScalarType, NDimensions >::KernelTransform2 ( const Self ) [private]

Member Function Documentation

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

Compute displacements $ q_i - p_i $.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution ( const InputPointType inputPoint,
OutputPointType result 
) const [protected, virtual]

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

Reimplemented in itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeG ( const InputVectorType landmarkVector,
GMatrixType GMatrix 
) const [protected, virtual]
template<class TScalarType , unsigned int NDimensions>
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeK ( void  ) [protected]

Compute K matrix.

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

Compute L matrix.

template<class TScalarType , unsigned int NDimensions>
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeLInverse ( void  )

Compute L matrix inverse.

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

Compute P matrix.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeReflexiveG ( PointsIterator  ,
GMatrixType GMatrix 
) 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::KernelTransform2< TScalarType, NDimensions >::ComputeWMatrix ( void  )

Compute W matrix.

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

Compute Y matrix.

template<class TScalarType , unsigned int NDimensions>
virtual TScalarType itk::KernelTransform2< TScalarType, NDimensions >::GetAlpha ( void  ) const [inline, virtual]
template<class TScalarType , unsigned int NDimensions>
virtual const char* itk::KernelTransform2< TScalarType, NDimensions >::GetClassName ( ) const [virtual]
template<class TScalarType , unsigned int NDimensions>
virtual VectorSetType* itk::KernelTransform2< 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::KernelTransform2< TScalarType, NDimensions >::GetFixedParameters ( void  ) const [virtual]

Get Transform Fixed Parameters - Gets the target landmarks.

template<class TScalarType , unsigned int NDimensions>
virtual bool itk::KernelTransform2< TScalarType, NDimensions >::GetHasNonZeroSpatialHessian ( void  ) const [inline, virtual]

Whether the advanced transform has nonzero matrices.

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

Definition at line 136 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::GetJacobian ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const [virtual]

Compute the Jacobian of the transformation.

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

Compute the Jacobian of the transformation at one point.

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

template<class TScalarType , unsigned int NDimensions>
virtual unsigned int itk::KernelTransform2< TScalarType, NDimensions >::GetNumberOfParameters ( void  ) const [inline, virtual]

Return the number of parameters that completely define the Transform.

Definition at line 146 of file itkKernelTransform2.h.

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

Get the Transformation Parameters - Gets the source landmarks.

template<class TScalarType , unsigned int NDimensions>
virtual const TScalarType itk::KernelTransform2< TScalarType, NDimensions >::GetPoissonRatio ( void  ) const [inline, virtual]
template<class TScalarType , unsigned int NDimensions>
virtual PointSetType* itk::KernelTransform2< TScalarType, NDimensions >::GetSourceLandmarks ( ) [virtual]

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

template<class TScalarType , unsigned int NDimensions>
virtual double itk::KernelTransform2< TScalarType, NDimensions >::GetStiffness ( ) [virtual]
template<class TScalarType , unsigned int NDimensions>
virtual PointSetType* itk::KernelTransform2< TScalarType, NDimensions >::GetTargetLandmarks ( ) [virtual]

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

template<class TScalarType , unsigned int NDimensions>
virtual bool itk::KernelTransform2< TScalarType, NDimensions >::HasNonZeroJacobianOfSpatialHessian ( void  ) const [inline, virtual]

Definition at line 140 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
itk::KernelTransform2< TScalarType, NDimensions >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
NDimensions   
)

Dimension of the domain space.

template<class TScalarType , unsigned int NDimensions>
static Pointer itk::KernelTransform2< TScalarType, NDimensions >::New ( ) [static]
template<class TScalarType , unsigned int NDimensions>
void itk::KernelTransform2< TScalarType, NDimensions >::operator= ( const Self ) [private]
template<class TScalarType , unsigned int NDimensions>
void itk::KernelTransform2< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]
template<class TScalarType , unsigned int NDimensions>
void itk::KernelTransform2< 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::KernelTransform2< TScalarType, NDimensions >::SetAlpha ( TScalarType  Alpha) [inline, virtual]

This method makes only sense for the ElasticBody splines. Declare here, so that you can always call it if you don't know the type of kernel beforehand. It will be overridden in the ElasticBodySplineKernelTransform and in the ElasticBodyReciprocalSplineKernelTransform.

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.

Definition at line 237 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< 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

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetIdentity ( void  ) [virtual]

Set the Transformation Parameters to be an identity transform.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< 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>.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetPoissonRatio ( TScalarType  _arg) [virtual]

This method makes only sense for the ElasticBody splines. Declare here, so that you can always call it if you don't know the type of kernel beforehand. It will be overridden in the ElasticBodySplineKernelTransform and in the ElasticBodyReciprocalSplineKernelTransform.

Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.

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

Set the source landmarks list.

template<class TScalarType , unsigned int NDimensions>
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetStiffness ( double  stiffness) [inline, 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.

Definition at line 222 of file itkKernelTransform2.h.

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

Set the target landmarks list.

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

Compute the position of point in the new space

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

Update the Parameters array from the landmarks coordinates.


Field Documentation

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

Rotational/Shearing part of the Affine component of the Transformation.

Definition at line 380 of file itkKernelTransform2.h.

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

Translational part of the Affine component of the Transformation.

Definition at line 383 of file itkKernelTransform2.h.

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

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

Definition at line 352 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
DMatrixType itk::KernelTransform2< 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 377 of file itkKernelTransform2.h.

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

Identity matrix.

Definition at line 400 of file itkKernelTransform2.h.

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

The K matrix.

Definition at line 361 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LInverseComputed [protected]

Has the L inverse matrix been computed?

Definition at line 397 of file itkKernelTransform2.h.

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

The L matrix.

Definition at line 355 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixComputed [protected]

Has the L matrix been computed?

Definition at line 395 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
LMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixInverse [protected]

The inverse of L, which we also cache.

Definition at line 358 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndices [protected]

Precomputed nonzero Jacobian indices (simply all params)

Definition at line 403 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndicesTemp [mutable, protected]

for old GetJacobian() method:

Definition at line 406 of file itkKernelTransform2.h.

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

The P matrix.

Definition at line 364 of file itkKernelTransform2.h.

template<class TScalarType , unsigned int NDimensions>
TScalarType itk::KernelTransform2< TScalarType, NDimensions >::m_PoissonRatio [private]

Definition at line 412 of file itkKernelTransform2.h.

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

The list of source landmarks, denoted 'p'.

Definition at line 292 of file itkKernelTransform2.h.

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

Stiffness parameter.

Definition at line 347 of file itkKernelTransform2.h.

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

The list of target landmarks, denoted 'q'.

Definition at line 295 of file itkKernelTransform2.h.

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

The W matrix.

Definition at line 370 of file itkKernelTransform2.h.

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

The G matrix. It used to be mutable because m_GMatrix was made an ivar only to avoid copying the matrix at return time but this is not necessary. SK: we don't need this matrix anymore as a member. Has the W matrix been computed?

Definition at line 393 of file itkKernelTransform2.h.

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

The Y matrix.

Definition at line 367 of file itkKernelTransform2.h.



Generated on 11-05-2011 for elastix by doxygen 1.7.4 elastix logo