ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkKernelTransform.h>
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.
KernelTransform: 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.
Definition at line 61 of file itkKernelTransform.h.
Public Types | |
using | AMatrixType = vnl_matrix_fixed< TParametersValueType, NDimensions, NDimensions > |
using | BMatrixType = vnl_vector_fixed< TParametersValueType, NDimensions > |
using | ColumnMatrixType = vnl_matrix_fixed< TParametersValueType, NDimensions, 1 > |
using | ConstPointer = SmartPointer< const Self > |
using | DMatrixType = vnl_matrix< TParametersValueType > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | GMatrixType = vnl_matrix_fixed< TParametersValueType, NDimensions, NDimensions > |
using | IMatrixType = vnl_matrix_fixed< TParametersValueType, NDimensions, NDimensions > |
using | InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
using | InputPointType = typename Superclass::InputPointType |
using | InputVectorType = typename Superclass::InputVectorType |
using | InputVnlVectorType = typename Superclass::InputVnlVectorType |
using | InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
using | JacobianPositionType = typename Superclass::JacobianPositionType |
using | JacobianType = typename Superclass::JacobianType |
using | KMatrixType = vnl_matrix< TParametersValueType > |
using | LMatrixType = vnl_matrix< TParametersValueType > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
using | OutputPointType = typename Superclass::OutputPointType |
using | OutputVectorType = typename Superclass::OutputVectorType |
using | OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
using | ParametersType = typename Superclass::ParametersType |
using | PMatrixType = vnl_matrix< TParametersValueType > |
using | Pointer = SmartPointer< Self > |
using | PointIdentifier = typename PointSetType::PointIdentifier |
using | PointsConstIterator = typename PointSetType::PointsContainerConstIterator |
using | PointsContainer = typename PointSetType::PointsContainer |
using | PointSetPointer = typename PointSetType::Pointer |
using | PointSetTraitsType = DefaultStaticMeshTraits< TParametersValueType, NDimensions, NDimensions, TParametersValueType, TParametersValueType > |
using | PointSetType = PointSet< InputPointType, NDimensions, PointSetTraitsType > |
using | PointsIterator = typename PointSetType::PointsContainerIterator |
using | RowMatrixType = vnl_matrix_fixed< TParametersValueType, 1, NDimensions > |
using | ScalarType = typename Superclass::ScalarType |
using | Self = KernelTransform |
using | Superclass = Transform< TParametersValueType, NDimensions, NDimensions > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
using | VectorSetPointer = typename VectorSetType::Pointer |
using | VectorSetType = itk::VectorContainer< SizeValueType, InputVectorType > |
using | WMatrixType = vnl_matrix< TParametersValueType > |
using | YMatrixType = vnl_matrix< TParametersValueType > |
Public Types inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeType = Array< ParametersValueType > |
using | DirectionChangeMatrix = Matrix< double, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | FixedParametersType = typename Superclass::FixedParametersType |
using | FixedParametersValueType = typename Superclass::FixedParametersValueType |
using | InputCovariantVectorType = CovariantVector< TParametersValueType, NInputDimensions > |
using | InputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | InputDirectionMatrix = Matrix< double, Self::InputSpaceDimension, Self::InputSpaceDimension > |
using | InputPointType = Point< TParametersValueType, NInputDimensions > |
using | InputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NInputDimensions > |
using | InputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | InputVectorType = Vector< TParametersValueType, NInputDimensions > |
using | InputVnlVectorType = vnl_vector_fixed< TParametersValueType, NInputDimensions > |
using | InverseJacobianPositionType = vnl_matrix_fixed< ParametersValueType, NInputDimensions, NOutputDimensions > |
using | InverseTransformBasePointer = typename InverseTransformBaseType::Pointer |
using | InverseTransformBaseType = Transform< TParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianPositionType = vnl_matrix_fixed< ParametersValueType, NOutputDimensions, NInputDimensions > |
using | JacobianType = Array2D< ParametersValueType > |
using | MatrixType = Matrix< TParametersValueType, Self::OutputSpaceDimension, Self::InputSpaceDimension > |
using | NumberOfParametersType = typename Superclass::NumberOfParametersType |
using | OutputCovariantVectorType = CovariantVector< TParametersValueType, NOutputDimensions > |
using | OutputDiffusionTensor3DType = DiffusionTensor3D< TParametersValueType > |
using | OutputDirectionMatrix = Matrix< double, Self::OutputSpaceDimension, Self::OutputSpaceDimension > |
using | OutputPointType = Point< TParametersValueType, NOutputDimensions > |
using | OutputSymmetricSecondRankTensorType = SymmetricSecondRankTensor< TParametersValueType, NOutputDimensions > |
using | OutputVectorPixelType = VariableLengthVector< TParametersValueType > |
using | OutputVectorType = Vector< TParametersValueType, NOutputDimensions > |
using | OutputVnlVectorType = vnl_vector_fixed< TParametersValueType, NOutputDimensions > |
using | ParametersType = typename Superclass::ParametersType |
using | ParametersValueType = typename Superclass::ParametersValueType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = ParametersValueType |
using | Self = Transform |
using | Superclass = TransformBaseTemplate< TParametersValueType > |
using | TransformCategoryType = typename Superclass::TransformCategoryType |
Public Types inherited from itk::TransformBaseTemplate< TParametersValueType > | |
using | ConstPointer = SmartPointer< const Self > |
using | FixedParametersType = OptimizerParameters< FixedParametersValueType > |
using | FixedParametersValueType = double |
using | NumberOfParametersType = IdentifierType |
using | ParametersType = OptimizerParameters< ParametersValueType > |
using | ParametersValueType = TParametersValueType |
using | Pointer = SmartPointer< Self > |
using | Self = TransformBaseTemplate |
using | Superclass = Object |
enum | TransformCategoryType { UnknownTransformCategory =0, Linear =1, BSpline =2, Spline =3, DisplacementField =4, VelocityField =5 } |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | SpaceDimension = NDimensions |
Static Public Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
static constexpr unsigned int | InputSpaceDimension |
static constexpr unsigned int | OutputSpaceDimension |
Protected Member Functions | |
void | ComputeD () |
virtual void | ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const |
virtual void | ComputeG (const InputVectorType &landmarkVector, GMatrixType &gmatrix) const |
void | ComputeK () |
void | ComputeL () |
void | ComputeP () |
virtual const GMatrixType & | ComputeReflexiveG (PointsIterator) const |
void | ComputeY () |
KernelTransform () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | ReorganizeW () |
~KernelTransform () override=default | |
Protected Member Functions inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
LightObject::Pointer | InternalClone () const override |
OutputDiffusionTensor3DType | PreservationOfPrincipalDirectionDiffusionTensor3DReorientation (const InputDiffusionTensor3DType &, const InverseJacobianPositionType &) const |
Transform () | |
Transform (NumberOfParametersType NumberOfParameters) | |
~Transform () override=default | |
Protected Member Functions inherited from itk::TransformBaseTemplate< TParametersValueType > | |
TransformBaseTemplate ()=default | |
~TransformBaseTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes | |
AMatrixType | m_AMatrix |
BMatrixType | m_BVector |
VectorSetPointer | m_Displacements |
DMatrixType | m_DMatrix |
GMatrixType | m_GMatrix |
IMatrixType | m_I |
KMatrixType | m_KMatrix |
LMatrixType | m_LMatrix |
PMatrixType | m_PMatrix |
PointSetPointer | m_SourceLandmarks |
double | m_Stiffness |
PointSetPointer | m_TargetLandmarks |
WMatrixType | m_WMatrix |
bool | m_WMatrixComputed |
YMatrixType | m_YMatrix |
Protected Attributes inherited from itk::Transform< TParametersValueType, NDimensions, NDimensions > | |
DirectionChangeMatrix | m_DirectionChange |
FixedParametersType | m_FixedParameters |
ParametersType | m_Parameters |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::KernelTransform< TParametersValueType, NDimensions >::AMatrixType = vnl_matrix_fixed<TParametersValueType, NDimensions, NDimensions> |
'A' matrix type alias. Rotational part of the Affine component
Definition at line 258 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::BMatrixType = vnl_vector_fixed<TParametersValueType, NDimensions> |
'B' matrix type alias. Translational part of the Affine component
Definition at line 261 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::ColumnMatrixType = vnl_matrix_fixed<TParametersValueType, NDimensions, 1> |
Column matrix type alias.
Definition at line 267 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::ConstPointer = SmartPointer<const Self> |
Definition at line 71 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::DMatrixType = vnl_matrix<TParametersValueType> |
'D' matrix type alias. Deformation component
Definition at line 255 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::FixedParametersType = typename Superclass::FixedParametersType |
Parameters type.
Definition at line 86 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::GMatrixType = vnl_matrix_fixed<TParametersValueType, NDimensions, NDimensions> |
'G' matrix type alias.
Definition at line 237 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::IMatrixType = vnl_matrix_fixed<TParametersValueType, NDimensions, NDimensions> |
'I' (identity) matrix type alias.
Definition at line 173 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::InputCovariantVectorType = typename Superclass::InputCovariantVectorType |
Standard covariant vector type for this class
Definition at line 106 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::InputPointType = typename Superclass::InputPointType |
Standard coordinate point type for this class.
Definition at line 98 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::InputVectorType = typename Superclass::InputVectorType |
Standard vector type for this class.
Definition at line 102 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::InputVnlVectorType = typename Superclass::InputVnlVectorType |
Standard vnl_vector type for this class.
Definition at line 110 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::InverseJacobianPositionType = typename Superclass::InverseJacobianPositionType |
Definition at line 92 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::JacobianPositionType = typename Superclass::JacobianPositionType |
Definition at line 91 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::JacobianType = typename Superclass::JacobianType |
Jacobian types.
Definition at line 90 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::KMatrixType = vnl_matrix<TParametersValueType> |
'K' matrix type alias.
Definition at line 243 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::LMatrixType = vnl_matrix<TParametersValueType> |
'L' matrix type alias.
Definition at line 240 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::NumberOfParametersType = typename Superclass::NumberOfParametersType |
The number of parameters defininig this transform.
Definition at line 114 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::OutputCovariantVectorType = typename Superclass::OutputCovariantVectorType |
Definition at line 107 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::OutputPointType = typename Superclass::OutputPointType |
Definition at line 99 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::OutputVectorType = typename Superclass::OutputVectorType |
Definition at line 103 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::OutputVnlVectorType = typename Superclass::OutputVnlVectorType |
Definition at line 111 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::ParametersType = typename Superclass::ParametersType |
Definition at line 87 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PMatrixType = vnl_matrix<TParametersValueType> |
'P' matrix type alias.
Definition at line 246 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::Pointer = SmartPointer<Self> |
Definition at line 70 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointIdentifier = typename PointSetType::PointIdentifier |
Definition at line 125 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointsConstIterator = typename PointSetType::PointsContainerConstIterator |
Definition at line 124 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointsContainer = typename PointSetType::PointsContainer |
Definition at line 122 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointSetPointer = typename PointSetType::Pointer |
Definition at line 121 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointSetTraitsType = DefaultStaticMeshTraits<TParametersValueType, NDimensions, NDimensions, TParametersValueType, TParametersValueType> |
PointList type alias. This type is used for maintaining lists of points, specifically, the source and target landmark lists.
Definition at line 118 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointSetType = PointSet<InputPointType, NDimensions, PointSetTraitsType> |
Definition at line 119 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::PointsIterator = typename PointSetType::PointsContainerIterator |
Definition at line 123 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::RowMatrixType = vnl_matrix_fixed<TParametersValueType, 1, NDimensions> |
Row matrix type alias.
Definition at line 264 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::ScalarType = typename Superclass::ScalarType |
Scalar type.
Definition at line 83 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::Self = KernelTransform |
Standard class type aliases.
Definition at line 68 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::Superclass = Transform<TParametersValueType, NDimensions, NDimensions> |
Definition at line 69 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::TransformCategoryType = typename Superclass::TransformCategoryType |
Transform category type.
Definition at line 95 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::VectorSetPointer = typename VectorSetType::Pointer |
Definition at line 129 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::VectorSetType = itk::VectorContainer<SizeValueType, InputVectorType> |
VectorSet type alias.
Definition at line 128 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::WMatrixType = vnl_matrix<TParametersValueType> |
'W' matrix type alias.
Definition at line 252 of file itkKernelTransform.h.
using itk::KernelTransform< TParametersValueType, NDimensions >::YMatrixType = vnl_matrix<TParametersValueType> |
'Y' matrix type alias.
Definition at line 249 of file itkKernelTransform.h.
|
protected |
|
overrideprotecteddefault |
|
protected |
Compute displacements .
|
protectedvirtual |
Compute the contribution of the landmarks weighted by the kernel funcion to the global deformation of the space
Reimplemented in itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, and itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >.
|
protectedvirtual |
Compute G(x) This is essentially the kernel of the transform. By overriding this method, we can obtain (among others): Elastic body spline Thin plate spline Volume spline
Reimplemented in itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >, and itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >.
|
override |
Compute the Jacobian Matrix of the transformation at one point
|
inlineoverride |
Definition at line 178 of file itkKernelTransform.h.
|
protected |
Compute K matrix.
|
protected |
Compute L matrix.
|
protected |
Compute P matrix.
|
protectedvirtual |
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.
void itk::KernelTransform< TParametersValueType, NDimensions >::ComputeWMatrix | ( | ) |
Compute W matrix.
|
protected |
Compute Y matrix.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, and itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >.
|
virtual |
|
overridevirtual |
Get Transform Fixed Parameters - Gets the Target Landmarks
Implements itk::TransformBaseTemplate< TParametersValueType >.
|
virtual |
Get the displacements list, which we will denote , where .
|
virtual |
Get/Set the source landmarks list, which we will denote .
|
virtual |
Get the target landmarks list, which we will denote .
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Transform< TParametersValueType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodySplineKernelTransform< TParametersValueType, NDimensions >, itk::ElasticBodyReciprocalSplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform< TParametersValueType, NDimensions >, itk::ThinPlateSplineKernelTransform< TParametersValueType, NDimensions >, and itk::VolumeSplineKernelTransform< TParametersValueType, NDimensions >.
|
overridevirtual |
Get the Transformation Parameters - Gets the Source Landmarks
Implements itk::TransformBaseTemplate< TParametersValueType >.
|
virtual |
Get/Set the source landmarks list, which we will denote .
|
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.
|
virtual |
Get the target landmarks list, which we will denote .
|
inlineoverridevirtual |
This transform is not linear, because the transformation of a linear combination of points is not equal to the linear combination of the transformations of individual points
Implements itk::TransformBaseTemplate< TParametersValueType >.
Definition at line 211 of file itkKernelTransform.h.
|
static |
New macro for creation of through a Smart Pointer
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::Object.
|
protected |
Reorganize the components of W into D (deformable), A (rotation part of affine) and B (translational part of affine ) components.
|
override |
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
|
override |
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>.
|
virtual |
Get/Set the source landmarks list, which we will denote .
|
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.
|
virtual |
Get the target landmarks list, which we will denote .
|
inlineoverride |
Definition at line 166 of file itkKernelTransform.h.
|
override |
Compute the position of point in the new space
|
inlineoverride |
Definition at line 153 of file itkKernelTransform.h.
|
inlineoverride |
Definition at line 159 of file itkKernelTransform.h.
|
virtual |
Update the Parameters array from the landmarks corrdinates.
|
protected |
Rotatinoal/Shearing part of the Affine component of the Transformation
Definition at line 344 of file itkKernelTransform.h.
|
protected |
Translational part of the Affine component of the Transformation
Definition at line 347 of file itkKernelTransform.h.
|
protected |
The list of displacements. d[i] = q[i] - p[i];
Definition at line 319 of file itkKernelTransform.h.
|
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 341 of file itkKernelTransform.h.
|
mutableprotected |
The G matrix. It is made mutable because m_GMatrix was made an ivar only to avoid copying the matrix at return time
Definition at line 352 of file itkKernelTransform.h.
|
protected |
Identity matrix.
Definition at line 358 of file itkKernelTransform.h.
|
protected |
The K matrix.
Definition at line 325 of file itkKernelTransform.h.
|
protected |
The L matrix.
Definition at line 322 of file itkKernelTransform.h.
|
protected |
The P matrix.
Definition at line 328 of file itkKernelTransform.h.
|
protected |
The list of source landmarks, denoted 'p'.
Definition at line 361 of file itkKernelTransform.h.
|
protected |
Stiffness parameter
Definition at line 315 of file itkKernelTransform.h.
|
protected |
The list of target landmarks, denoted 'q'.
Definition at line 364 of file itkKernelTransform.h.
|
protected |
The W matrix.
Definition at line 334 of file itkKernelTransform.h.
|
protected |
Has the W matrix been computed?
Definition at line 355 of file itkKernelTransform.h.
|
protected |
The Y matrix.
Definition at line 331 of file itkKernelTransform.h.
|
static |
Dimension of the domain space.
Definition at line 80 of file itkKernelTransform.h.