![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkKernelTransform2.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.
KernelTransform2: 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.
This class was modified to support its use in the ITK registration framework by Rupert Brooks, McGill Centre for Intelligent Machines, Montreal, Canada March 2007. See the Insight Journal Paper by Brooks, R., Arbel, T. "Improvements to the itk::KernelTransform and its subclasses."
Modified to include it in elastix:
Definition at line 80 of file itkKernelTransform2.h.
typedef vnl_matrix_fixed<TScalarType,NDimensions,NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::AMatrixType |
'A' matrix typedef. Rotational part of the Affine component
Definition at line 279 of file itkKernelTransform2.h.
typedef vnl_vector_fixed<TScalarType,NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::BMatrixType |
'B' matrix typedef. Translational part of the Affine component
Definition at line 282 of file itkKernelTransform2.h.
typedef vnl_matrix_fixed<TScalarType, NDimensions, 1> itk::KernelTransform2< TScalarType, NDimensions >::ColumnMatrixType |
Column matrix typedef.
Definition at line 288 of file itkKernelTransform2.h.
typedef SmartPointer<const Self> itk::KernelTransform2< TScalarType, NDimensions >::ConstPointer |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 90 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::DMatrixType |
'D' matrix typedef. Deformation component
Definition at line 276 of file itkKernelTransform2.h.
typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::GMatrixType |
'G' matrix typedef.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >, and itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 258 of file itkKernelTransform2.h.
typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::IMatrixType |
'I' (identity) matrix typedef.
Definition at line 138 of file itkKernelTransform2.h.
typedef Superclass::InputPointType itk::KernelTransform2< TScalarType, NDimensions >::InputPointType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 105 of file itkKernelTransform2.h.
typedef Superclass::InputVectorType itk::KernelTransform2< TScalarType, NDimensions >::InputVectorType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 107 of file itkKernelTransform2.h.
typedef Superclass::InternalMatrixType itk::KernelTransform2< TScalarType, NDimensions >::InternalMatrixType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 119 of file itkKernelTransform2.h.
typedef Superclass ::JacobianOfSpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialHessianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 118 of file itkKernelTransform2.h.
typedef Superclass ::JacobianOfSpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialJacobianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 115 of file itkKernelTransform2.h.
typedef Superclass::JacobianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 104 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::KMatrixType |
'K' matrix typedef.
Definition at line 264 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::LMatrixType |
'L' matrix typedef.
Definition at line 261 of file itkKernelTransform2.h.
typedef Superclass ::NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::NonZeroJacobianIndicesType |
AdvancedTransform typedefs.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 112 of file itkKernelTransform2.h.
typedef Superclass::OutputPointType itk::KernelTransform2< TScalarType, NDimensions >::OutputPointType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 106 of file itkKernelTransform2.h.
typedef Superclass::OutputVectorType itk::KernelTransform2< TScalarType, NDimensions >::OutputVectorType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 108 of file itkKernelTransform2.h.
typedef Superclass::ParametersType itk::KernelTransform2< TScalarType, NDimensions >::ParametersType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 103 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::PMatrixType |
'P' matrix typedef.
Definition at line 267 of file itkKernelTransform2.h.
typedef SmartPointer<Self> itk::KernelTransform2< TScalarType, NDimensions >::Pointer |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 89 of file itkKernelTransform2.h.
typedef PointSetType::PointsContainerConstIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsConstIterator |
Definition at line 131 of file itkKernelTransform2.h.
typedef PointSetType::PointsContainer itk::KernelTransform2< TScalarType, NDimensions >::PointsContainer |
Definition at line 129 of file itkKernelTransform2.h.
typedef PointSetType::Pointer itk::KernelTransform2< TScalarType, NDimensions >::PointSetPointer |
Definition at line 128 of file itkKernelTransform2.h.
typedef DefaultStaticMeshTraits< TScalarType, NDimensions, NDimensions, TScalarType, TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::PointSetTraitsType |
PointList typedef. This type is used for maintaining lists of points, specifically, the source and target landmark lists.
Definition at line 125 of file itkKernelTransform2.h.
typedef PointSet<InputPointType, NDimensions, PointSetTraitsType> itk::KernelTransform2< TScalarType, NDimensions >::PointSetType |
Definition at line 127 of file itkKernelTransform2.h.
typedef PointSetType::PointsContainerIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsIterator |
Reimplemented in itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >, and itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 130 of file itkKernelTransform2.h.
typedef vnl_qr< ScalarType > itk::KernelTransform2< TScalarType, NDimensions >::QRDecompositionType [protected] |
Definition at line 407 of file itkKernelTransform2.h.
typedef vnl_matrix_fixed<TScalarType, 1, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::RowMatrixType |
Row matrix typedef.
Definition at line 285 of file itkKernelTransform2.h.
typedef Superclass::ScalarType itk::KernelTransform2< TScalarType, NDimensions >::ScalarType |
Typedefs.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 102 of file itkKernelTransform2.h.
typedef KernelTransform2 itk::KernelTransform2< TScalarType, NDimensions >::Self |
Standard class typedefs.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 86 of file itkKernelTransform2.h.
typedef Superclass::SpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialHessianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 116 of file itkKernelTransform2.h.
typedef Superclass::SpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialJacobianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 113 of file itkKernelTransform2.h.
typedef AdvancedTransform< TScalarType, NDimensions, NDimensions > itk::KernelTransform2< TScalarType, NDimensions >::Superclass |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 88 of file itkKernelTransform2.h.
typedef vnl_svd< ScalarType > itk::KernelTransform2< TScalarType, NDimensions >::SVDDecompositionType [protected] |
Decompositions, needed for the L matrix. These decompositions are cached for performance reasons during registration. During registration, in every iteration SetParameters() is called, which in turn calls ComputeWMatrix(). The L matrix is not changed however, and therefore it is not needed to redo the decomposition.
Definition at line 406 of file itkKernelTransform2.h.
typedef VectorSetType::Pointer itk::KernelTransform2< TScalarType, NDimensions >::VectorSetPointer |
Definition at line 135 of file itkKernelTransform2.h.
typedef VectorContainer<unsigned long,InputVectorType> itk::KernelTransform2< TScalarType, NDimensions >::VectorSetType |
VectorSet typedef.
Definition at line 134 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::WMatrixType |
'W' matrix typedef.
Definition at line 273 of file itkKernelTransform2.h.
typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::YMatrixType |
'Y' matrix typedef.
Definition at line 270 of file itkKernelTransform2.h.
itk::KernelTransform2< TScalarType, NDimensions >::KernelTransform2 | ( | ) | [protected] |
virtual itk::KernelTransform2< TScalarType, NDimensions >::~KernelTransform2 | ( | ) | [protected, virtual] |
itk::KernelTransform2< TScalarType, NDimensions >::KernelTransform2 | ( | const Self & | ) | [private] |
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeD | ( | void | ) | [protected] |
Compute displacements .
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeDeformationContribution | ( | const InputPointType & | inputPoint, |
OutputPointType & | result | ||
) | const [protected, virtual] |
Compute the contribution of the landmarks weighted by the kernel function to the global deformation of the space.
Reimplemented in itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeG | ( | const InputVectorType & | landmarkVector, |
GMatrixType & | GMatrix | ||
) | const [protected, virtual] |
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::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeK | ( | void | ) | [protected] |
Compute K matrix.
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeL | ( | void | ) | [protected] |
Compute L matrix.
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeLInverse | ( | void | ) |
Compute L matrix inverse.
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeP | ( | void | ) | [protected] |
Compute P matrix.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::ComputeReflexiveG | ( | PointsIterator | , |
GMatrixType & | GMatrix | ||
) | const [protected, virtual] |
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::KernelTransform2< TScalarType, NDimensions >::ComputeWMatrix | ( | void | ) |
Compute W matrix.
void itk::KernelTransform2< TScalarType, NDimensions >::ComputeY | ( | void | ) | [protected] |
Compute Y matrix.
virtual TScalarType itk::KernelTransform2< TScalarType, NDimensions >::GetAlpha | ( | void | ) | const [inline, virtual] |
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 233 of file itkKernelTransform2.h.
virtual const char* itk::KernelTransform2< TScalarType, NDimensions >::GetClassName | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
virtual VectorSetType* itk::KernelTransform2< TScalarType, NDimensions >::GetDisplacements | ( | ) | [virtual] |
Get the displacements list, which we will denote , where
.
virtual const ParametersType& itk::KernelTransform2< TScalarType, NDimensions >::GetFixedParameters | ( | void | ) | const [virtual] |
Get Transform Fixed Parameters - Gets the target landmarks.
virtual const JacobianType& itk::KernelTransform2< TScalarType, NDimensions >::GetJacobian | ( | const InputPointType & | point | ) | const [virtual] |
Compute the Jacobian of the transformation at one point.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::GetJacobian | ( | const InputPointType & | , |
JacobianType & | , | ||
NonZeroJacobianIndicesType & | |||
) | const [virtual] |
Compute the Jacobian of the transformation.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
virtual const std::string& itk::KernelTransform2< TScalarType, NDimensions >::GetMatrixInversionMethod | ( | ) | [virtual] |
virtual unsigned int itk::KernelTransform2< TScalarType, NDimensions >::GetNumberOfParameters | ( | void | ) | const [inline, virtual] |
Return the number of parameters that completely define the Transform.
Definition at line 141 of file itkKernelTransform2.h.
virtual const ParametersType& itk::KernelTransform2< TScalarType, NDimensions >::GetParameters | ( | void | ) | const [virtual] |
Get the Transformation Parameters - Gets the source landmarks.
virtual const TScalarType itk::KernelTransform2< TScalarType, NDimensions >::GetPoissonRatio | ( | void | ) | const [inline, virtual] |
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 242 of file itkKernelTransform2.h.
virtual PointSetType* itk::KernelTransform2< TScalarType, NDimensions >::GetSourceLandmarks | ( | ) | [virtual] |
Get the source landmarks list, which we will denote .
virtual double itk::KernelTransform2< TScalarType, NDimensions >::GetStiffness | ( | ) | [virtual] |
virtual PointSetType* itk::KernelTransform2< TScalarType, NDimensions >::GetTargetLandmarks | ( | ) | [virtual] |
Get the target landmarks list, which we will denote .
itk::KernelTransform2< TScalarType, NDimensions >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned | int, | ||
NDimensions | |||
) |
Dimension of the domain space.
static Pointer itk::KernelTransform2< TScalarType, NDimensions >::New | ( | ) | [static] |
New macro for creation of through a Smart Pointer.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
void itk::KernelTransform2< TScalarType, NDimensions >::operator= | ( | const Self & | ) | [private] |
void itk::KernelTransform2< TScalarType, NDimensions >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected] |
void itk::KernelTransform2< TScalarType, NDimensions >::ReorganizeW | ( | void | ) | [protected] |
Reorganize the components of W into D (deformable), A (rotation part of affine) and B (translational part of affine ) components.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetAlpha | ( | TScalarType | ) | [inline, virtual] |
This method makes only sense for the ElasticBody splines. Declare here, so that you can always call it if you don't know the type of kernel beforehand. It will be overridden in the ElasticBodySplineKernelTransform and in the ElasticBodyReciprocalSplineKernelTransform.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 232 of file itkKernelTransform2.h.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetFixedParameters | ( | const ParametersType & | ) | [virtual] |
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
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetIdentity | ( | void | ) | [virtual] |
Set the Transformation Parameters to be an identity transform.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetMatrixInversionMethod | ( | std::string | _arg | ) | [virtual] |
Matrix inversion by SVD or QR decomposition.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetParameters | ( | const ParametersType & | ) | [virtual] |
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 void itk::KernelTransform2< TScalarType, NDimensions >::SetPoissonRatio | ( | TScalarType | _arg | ) | [virtual] |
This method makes only sense for the ElasticBody splines. Declare here, so that you can always call it if you don't know the type of kernel beforehand. It will be overridden in the ElasticBodySplineKernelTransform and in the ElasticBodyReciprocalSplineKernelTransform.
Reimplemented in itk::ElasticBodyReciprocalSplineKernelTransform2< TScalarType, NDimensions >, and itk::ElasticBodySplineKernelTransform2< TScalarType, NDimensions >.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetSourceLandmarks | ( | PointSetType * | ) | [virtual] |
Set the source landmarks list.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetStiffness | ( | double | stiffness | ) | [inline, 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.
Definition at line 217 of file itkKernelTransform2.h.
virtual void itk::KernelTransform2< TScalarType, NDimensions >::SetTargetLandmarks | ( | PointSetType * | ) | [virtual] |
Set the target landmarks list.
virtual OutputPointType itk::KernelTransform2< TScalarType, NDimensions >::TransformPoint | ( | const InputPointType & | thisPoint | ) | const [virtual] |
Compute the position of point in the new space
virtual void itk::KernelTransform2< TScalarType, NDimensions >::UpdateParameters | ( | void | ) | [virtual] |
Update the Parameters array from the landmarks coordinates.
AMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_AMatrix [protected] |
Rotational/Shearing part of the Affine component of the Transformation.
Definition at line 379 of file itkKernelTransform2.h.
BMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_BVector [protected] |
Translational part of the Affine component of the Transformation.
Definition at line 382 of file itkKernelTransform2.h.
VectorSetPointer itk::KernelTransform2< TScalarType, NDimensions >::m_Displacements [protected] |
The list of displacements. d[i] = q[i] - p[i];
Definition at line 351 of file itkKernelTransform2.h.
DMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_DMatrix [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 376 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_FastComputationPossible [protected] |
The Jacobian can be computed much faster for some of the derived kerbel transforms, most notably the TPS.
Definition at line 424 of file itkKernelTransform2.h.
IMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_I [protected] |
Identity matrix.
Definition at line 413 of file itkKernelTransform2.h.
KMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_KMatrix [protected] |
The K matrix.
Definition at line 360 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LInverseComputed [protected] |
Has the L inverse matrix been computed?
Definition at line 396 of file itkKernelTransform2.h.
LMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrix [protected] |
The L matrix.
Definition at line 354 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixComputed [protected] |
Has the L matrix been computed?
Definition at line 394 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixDecompositionComputed [protected] |
Has the L matrix decomposition been computed?
Definition at line 398 of file itkKernelTransform2.h.
QRDecompositionType* itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixDecompositionQR [protected] |
Definition at line 410 of file itkKernelTransform2.h.
SVDDecompositionType* itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixDecompositionSVD [protected] |
Definition at line 409 of file itkKernelTransform2.h.
LMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixInverse [protected] |
The inverse of L, which we also cache.
Definition at line 357 of file itkKernelTransform2.h.
std::string itk::KernelTransform2< TScalarType, NDimensions >::m_MatrixInversionMethod [private] |
Using SVD or QR decomposition.
Definition at line 433 of file itkKernelTransform2.h.
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndices [protected] |
Precomputed nonzero Jacobian indices (simply all params)
Definition at line 416 of file itkKernelTransform2.h.
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndicesTemp [mutable, protected] |
for old GetJacobian() method:
Definition at line 419 of file itkKernelTransform2.h.
PMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_PMatrix [protected] |
The P matrix.
Definition at line 363 of file itkKernelTransform2.h.
TScalarType itk::KernelTransform2< TScalarType, NDimensions >::m_PoissonRatio [private] |
Definition at line 430 of file itkKernelTransform2.h.
PointSetPointer itk::KernelTransform2< TScalarType, NDimensions >::m_SourceLandmarks |
The list of source landmarks, denoted 'p'.
Definition at line 291 of file itkKernelTransform2.h.
double itk::KernelTransform2< TScalarType, NDimensions >::m_Stiffness [protected] |
Stiffness parameter.
Definition at line 346 of file itkKernelTransform2.h.
PointSetPointer itk::KernelTransform2< TScalarType, NDimensions >::m_TargetLandmarks |
The list of target landmarks, denoted 'q'.
Definition at line 294 of file itkKernelTransform2.h.
WMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_WMatrix [protected] |
The W matrix.
Definition at line 369 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_WMatrixComputed [protected] |
The G matrix. It used to be mutable because m_GMatrix was made an ivar only to avoid copying the matrix at return time but this is not necessary. SK: we don't need this matrix anymore as a member. Has the W matrix been computed?
Definition at line 392 of file itkKernelTransform2.h.
YMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_YMatrix [protected] |
The Y matrix.
Definition at line 366 of file itkKernelTransform2.h.
Generated on 11-05-2012 for elastix by ![]() |
![]() |