go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions > Class Template Reference

#include <itkVolumeSplineKernelTransform2.h>

Detailed Description

template<class TScalarType, unsigned int NDimensions = 3>
class itk::VolumeSplineKernelTransform2< 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 itkVolumeSplineKernelTransform2.h.

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

Public Types

using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using PointsIterator
 
using Self = VolumeSplineKernelTransform2
 
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
 
using KMatrixType
 
using LMatrixType
 
using PMatrixType
 
using Pointer
 
using PointsConstIterator
 
using PointsContainer
 
using PointSetPointer
 
using PointSetTraitsType
 
using PointSetType
 
using PointsIterator
 
using RowMatrixType
 
using Self
 
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 (VolumeSplineKernelTransform2)
 
 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 GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, 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 (Displacements, VectorSetType)
 
 itkGetModifiableObjectMacro (SourceLandmarks, PointSetType)
 
 itkGetModifiableObjectMacro (TargetLandmarks, 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
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) 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 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
 
 VolumeSplineKernelTransform2 ()
 
 ~VolumeSplineKernelTransform2 () 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
 
QRDecompositionTypem_LMatrixDecompositionQR
 
SVDDecompositionTypem_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::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 60 of file itkVolumeSplineKernelTransform2.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::VolumeSplineKernelTransform2< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 59 of file itkVolumeSplineKernelTransform2.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::VolumeSplineKernelTransform2< TScalarType, NDimensions >::Self = VolumeSplineKernelTransform2

Standard class typedefs.

Definition at line 57 of file itkVolumeSplineKernelTransform2.h.

◆ Superclass

template<class TScalarType , unsigned int NDimensions = 3>
using itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::Superclass = KernelTransform2<TScalarType, NDimensions>

Definition at line 58 of file itkVolumeSplineKernelTransform2.h.

Constructor & Destructor Documentation

◆ VolumeSplineKernelTransform2()

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

Definition at line 91 of file itkVolumeSplineKernelTransform2.h.

◆ ~VolumeSplineKernelTransform2()

template<class TScalarType , unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::~VolumeSplineKernelTransform2 ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeDeformationContribution()

template<class TScalarType , unsigned int NDimensions = 3>
void itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution ( const InputPointType & inputPoint,
OutputPointType & result ) const
overrideprotectedvirtual

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

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

◆ ComputeG()

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

Compute G(x) For the volume plate spline, this is: G(x) = r(x)^3*I $ G(x) = r(x)^3*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, 3 >.

◆ GetClassName()

template<class TScalarType , unsigned int NDimensions = 3>
virtual const char * itk::VolumeSplineKernelTransform2< 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::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE ( VolumeSplineKernelTransform2< TScalarType, NDimensions > )

◆ itkStaticConstMacro()

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

Dimension of the domain space.

◆ New()

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

New macro for creation of through a Smart Pointer



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo