Loading...
Searching...
No Matches
itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions > Class Template Reference
Components » Transforms

`#include <itkThinPlateSplineKernelTransform2.h>`

## 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 51 of file itkThinPlateSplineKernelTransform2.h.

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

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | Pointer = SmartPointer<Self>
using | PointsIterator
using | Self = ThinPlateSplineKernelTransform2
using | Superclass = KernelTransform2<TScalarType, NDimensions>
Public Types inherited from itk::KernelTransform2< TScalarType, 3 >
using | AMatrixType
using | BMatrixType
using | ColumnMatrixType
using | ConstPointer
using | DMatrixType
using | GMatrixType
using | IMatrixType
typedef typename SpatialJacobianType::InternalMatrixType | InternalMatrixType
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType
using | KMatrixType
using | LMatrixType
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType
using | PMatrixType
using | Pointer
using | PointsConstIterator
using | PointsContainer
using | PointSetPointer
using | PointSetTraitsType
using | PointSetType
using | PointsIterator
using | RowMatrixType
using | Self
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType
using | Superclass
using | VectorSetPointer
using | VectorSetType
using | WMatrixType
using | YMatrixType
Public Types inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
using | ConstPointer
using | InternalMatrixType
using | InverseTransformBaseType
using | JacobianOfSpatialHessianType
using | JacobianOfSpatialJacobianType
using | MovingImageGradientType
using | MovingImageGradientValueType
using | NonZeroJacobianIndicesType
using | Pointer
using | Self
using | SpatialHessianType
using | SpatialJacobianType
using | Superclass
using | TransformType
using | TransformTypeConstPointer
using | TransformTypePointer

## Public Member Functions

virtual const char * | GetClassName () const
| ITK_DISALLOW_COPY_AND_MOVE (ThinPlateSplineKernelTransform2)
| itkStaticConstMacro (SpaceDimension, unsigned int, Superclass::SpaceDimension)
Public Member Functions inherited from itk::KernelTransform2< TScalarType, 3 >
void | ComputeLInverse ()
void | ComputeWMatrix ()
const ParametersType & | GetFixedParameters () const override
void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
void | GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
virtual const std::string & | GetMatrixInversionMethod ()
NumberOfParametersType | GetNumberOfParameters () const override
const ParametersType & | GetParameters () const override
virtual const TScalarType | GetPoissonRatio () const
void | GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override
void | GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override
virtual double | GetStiffness () const
| ITK_DISALLOW_COPY_AND_MOVE (KernelTransform2)
| itkGetModifiableObjectMacro (SourceLandmarks, PointSetType)
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
virtual void | SetAlpha (TScalarType)
void | SetFixedParameters (const ParametersType &) override
virtual void | SetIdentity ()
virtual void | SetMatrixInversionMethod (std::string _arg)
void | SetParameters (const ParametersType &) override
virtual void | SetPoissonRatio (TScalarType _arg)
virtual void | SetSourceLandmarks (PointSetType *)
virtual void | SetStiffness (double stiffness)
virtual void | SetTargetLandmarks (PointSetType *)
OutputCovariantVectorType | TransformCovariantVector (const InputCovariantVectorType &) const override
OutputPointType | TransformPoint (const InputPointType &thisPoint) const override
OutputVectorType | TransformVector (const InputVectorType &) const override
virtual void | UpdateParameters ()
Public Member Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const
virtual bool | GetHasNonZeroSpatialHessian () const
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
| 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, 3 >
static Pointer | New ()

## Protected Types

using | GMatrixType
Protected Types inherited from itk::KernelTransform2< TScalarType, 3 >
using | QRDecompositionType
using | SVDDecompositionType

## Protected Member Functions

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

## Additional Inherited Members

Data Fields inherited from itk::KernelTransform2< TScalarType, 3 >
PointSetPointer | m_SourceLandmarks
PointSetPointer | m_TargetLandmarks
Protected Attributes inherited from itk::KernelTransform2< TScalarType, 3 >
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
QRDecompositionType * | m_LMatrixDecompositionQR
SVDDecompositionType * | m_LMatrixDecompositionSVD
LMatrixType | m_LMatrixInverse
NonZeroJacobianIndicesType | m_NonZeroJacobianIndices
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

## Member Typedef Documentation

## ConstPointer

template<class TScalarType, unsigned int NDimensions = 3>

using itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 60 of file itkThinPlateSplineKernelTransform2.h.

## GMatrixType

template<class TScalarType, unsigned int NDimensions = 3>

using itk::KernelTransform2< TScalarType, NDimensions >::GMatrixType

protected

'G' matrix typedef.

Definition at line 365 of file itkKernelTransform2.h.

## Pointer

template<class TScalarType, unsigned int NDimensions = 3>

using itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 59 of file itkThinPlateSplineKernelTransform2.h.

## PointsIterator

template<class TScalarType, unsigned int NDimensions = 3>

using itk::KernelTransform2< TScalarType, NDimensions >::PointsIterator

Definition at line 146 of file itkKernelTransform2.h.

## Self

template<class TScalarType, unsigned int NDimensions = 3>

using itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Self = ThinPlateSplineKernelTransform2

Standard class typedefs.

Definition at line 57 of file itkThinPlateSplineKernelTransform2.h.

## Superclass

template<class TScalarType, unsigned int NDimensions = 3>

using itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Superclass = KernelTransform2<TScalarType, NDimensions>

Definition at line 58 of file itkThinPlateSplineKernelTransform2.h.

## Constructor & Destructor Documentation

## ThinPlateSplineKernelTransform2()

template<class TScalarType, unsigned int NDimensions = 3>

itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ThinPlateSplineKernelTransform2 | ( |  | ) |

inline protected

Definition at line 92 of file itkThinPlateSplineKernelTransform2.h.

## ~ThinPlateSplineKernelTransform2()

template<class TScalarType, unsigned int NDimensions = 3>

itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::~ThinPlateSplineKernelTransform2 | ( |  | ) |

override protected default

## Member Function Documentation

## ComputeDeformationContribution()

template<class TScalarType, unsigned int NDimensions = 3>

void itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution | ( | const InputPointType & | inputPoint,
|  | OutputPointType & | result ) const

override protected virtual

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

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

## ComputeG()

template<class TScalarType, unsigned int NDimensions = 3>

void itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ComputeG | ( | const InputVectorType & | x,
|  | GMatrixType & | GMatrix ) const

override protected virtual

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

I = identity matrix.

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

## GetClassName()

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, 3 >.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TScalarType, unsigned int NDimensions = 3>

itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE | ( | ThinPlateSplineKernelTransform2< TScalarType, NDimensions > |  | ) |

## itkStaticConstMacro()

template<class TScalarType, unsigned int NDimensions = 3>

itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::itkStaticConstMacro | ( | SpaceDimension | ,
|  | unsigned int | ,
|  | Superclass::SpaceDimension | )

Dimension of the domain space.

## New()

template<class TScalarType, unsigned int NDimensions = 3>

Pointer itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::New | ( |  | ) |

static

New macro for creation of through a Smart Pointer

Generated on 1768596610 for elastix by 1.15.0 |