template<class
TScalarType , unsigned
int NDimensions = 3>
class itk::ThinPlateR2LogRSplineKernelTransform2< 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.
The kernel used in this variant of TPS is
Definition at line 53 of file itkThinPlateR2LogRSplineKernelTransform2.h .
using ConstPointer = SmartPointer< const Self >
using Pointer = SmartPointer< Self >
using PointsIterator = typename PointSetType::PointsContainerIterator
using Self = ThinPlateR2LogRSplineKernelTransform2
using Superclass = KernelTransform2 < TScalarType , NDimensions >
using AMatrixType = vnl_matrix_fixed< TScalarType , NDimensions, NDimensions >
using BMatrixType = vnl_vector_fixed< TScalarType , NDimensions >
using ColumnMatrixType = vnl_matrix_fixed< TScalarType , NDimensions, 1 >
using ConstPointer = SmartPointer< const Self >
using DMatrixType = vnl_matrix< TScalarType >
using GMatrixType = vnl_matrix_fixed< TScalarType , NDimensions, NDimensions >
using IMatrixType = vnl_matrix_fixed< TScalarType , NDimensions, NDimensions >
using KMatrixType = vnl_matrix< TScalarType >
using LMatrixType = vnl_matrix< TScalarType >
using PMatrixType = vnl_matrix< TScalarType >
using Pointer = SmartPointer< Self >
using PointsConstIterator = typename PointSetType::PointsContainerConstIterator
using PointsContainer = typename PointSetType::PointsContainer
using PointSetPointer = typename PointSetType::Pointer
using PointSetTraitsType = DefaultStaticMeshTraits< TScalarType , NDimensions, NDimensions, TScalarType , TScalarType >
using PointSetType = PointSet< InputPointType, NDimensions, PointSetTraitsType >
using PointsIterator = typename PointSetType::PointsContainerIterator
using RowMatrixType = vnl_matrix_fixed< TScalarType , 1, NDimensions >
using Self = KernelTransform2
using Superclass = AdvancedTransform < TScalarType , NDimensions, NDimensions >
using VectorSetPointer = typename VectorSetType::Pointer
using VectorSetType = VectorContainer< unsigned long, InputVectorType >
using WMatrixType = vnl_matrix< TScalarType >
using YMatrixType = vnl_matrix< TScalarType >
using ConstPointer = SmartPointer< const Self >
using InternalMatrixType = typename SpatialJacobianType::InternalMatrixType
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
using JacobianOfSpatialHessianType = std::vector< SpatialHessianType >
using JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType >
using MovingImageGradientType = OutputCovariantVectorType
using MovingImageGradientValueType = typename MovingImageGradientType::ValueType
using NonZeroJacobianIndicesType = std::vector< unsigned long >
using Pointer = SmartPointer< Self >
using Self = AdvancedTransform
using SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension >
using SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension >
using Superclass = Transform< TScalarType , NInputDimensions, NOutputDimensions >
using TransformType = Transform< TScalarType , NInputDimensions, NOutputDimensions >
using TransformTypeConstPointer = typename TransformType::ConstPointer
using TransformTypePointer = typename TransformType::Pointer
virtual const char * GetClassName () const
ITK_DISALLOW_COPY_AND_MOVE (ThinPlateR2LogRSplineKernelTransform2 )
itkStaticConstMacro (SpaceDimension, unsigned int , Superclass::SpaceDimension)
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 ()
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)