go home Home | Main Page | Topics | 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<typename 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
typedef typename SpatialJacobianType::InternalMatrixType InternalMatrixType
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
using KMatrixType
using LMatrixType
typedef std::vector< uint64_t > 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

 ITK_DISALLOW_COPY_AND_MOVE (VolumeSplineKernelTransform2)
 itkOverrideGetNameOfClassMacro (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 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)
 itkOverrideGetNameOfClassMacro (KernelTransform2)
 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)
 itkOverrideGetNameOfClassMacro (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

Public Attributes 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<typename TScalarType, unsigned int NDimensions = 3>
using itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 60 of file itkVolumeSplineKernelTransform2.h.

◆ GMatrixType

template<typename 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<typename TScalarType, unsigned int NDimensions = 3>
using itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 59 of file itkVolumeSplineKernelTransform2.h.

◆ PointsIterator

template<typename TScalarType, unsigned int NDimensions = 3>
using itk::KernelTransform2< TScalarType, NDimensions >::PointsIterator

Definition at line 146 of file itkKernelTransform2.h.

◆ Self

template<typename 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<typename 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<typename TScalarType, unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::VolumeSplineKernelTransform2 ( )
inlineprotected

Definition at line 91 of file itkVolumeSplineKernelTransform2.h.

◆ ~VolumeSplineKernelTransform2()

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

Member Function Documentation

◆ ComputeDeformationContribution()

template<typename 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<typename 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 >.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TScalarType, unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE ( VolumeSplineKernelTransform2< TScalarType, NDimensions > )

◆ itkOverrideGetNameOfClassMacro()

template<typename TScalarType, unsigned int NDimensions = 3>
itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >::itkOverrideGetNameOfClassMacro ( VolumeSplineKernelTransform2< TScalarType, NDimensions > )

Run-time type information (and related methods).

◆ itkStaticConstMacro()

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

Dimension of the domain space.

◆ New()

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

New macro for creation of through a Smart Pointer



Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo