|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkKernelTransform2.h>


Public Types | |
| typedef vnl_matrix_fixed < TScalarType, NDimensions, NDimensions > | AMatrixType |
| typedef vnl_vector_fixed < TScalarType, NDimensions > | BMatrixType |
| typedef vnl_matrix_fixed < TScalarType, NDimensions, 1 > | ColumnMatrixType |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef vnl_matrix< TScalarType > | DMatrixType |
| typedef vnl_matrix_fixed < TScalarType, NDimensions, NDimensions > | GMatrixType |
| typedef vnl_matrix_fixed < TScalarType, NDimensions, NDimensions > | IMatrixType |
| typedef Superclass::InputPointType | InputPointType |
| typedef Superclass::InputVectorType | InputVectorType |
| typedef Superclass::InternalMatrixType | InternalMatrixType |
| typedef Superclass::JacobianOfSpatialHessianType | JacobianOfSpatialHessianType |
| typedef Superclass::JacobianOfSpatialJacobianType | JacobianOfSpatialJacobianType |
| typedef Superclass::JacobianType | JacobianType |
| typedef vnl_matrix< TScalarType > | KMatrixType |
| typedef vnl_matrix< TScalarType > | LMatrixType |
| typedef Superclass::NonZeroJacobianIndicesType | NonZeroJacobianIndicesType |
| typedef Superclass::OutputPointType | OutputPointType |
| typedef Superclass::OutputVectorType | OutputVectorType |
| typedef Superclass::ParametersType | ParametersType |
| typedef vnl_matrix< TScalarType > | PMatrixType |
| typedef SmartPointer< Self > | Pointer |
| typedef PointSetType::PointsContainerConstIterator | PointsConstIterator |
| typedef PointSetType::PointsContainer | PointsContainer |
| typedef PointSetType::Pointer | PointSetPointer |
| typedef DefaultStaticMeshTraits < TScalarType, NDimensions, NDimensions, TScalarType, TScalarType > | PointSetTraitsType |
| typedef PointSet < InputPointType, NDimensions, PointSetTraitsType > | PointSetType |
| typedef PointSetType::PointsContainerIterator | PointsIterator |
| typedef vnl_matrix_fixed < TScalarType, 1, NDimensions > | RowMatrixType |
| typedef Superclass::ScalarType | ScalarType |
| typedef KernelTransform2 | Self |
| typedef Superclass::SpatialHessianType | SpatialHessianType |
| typedef Superclass::SpatialJacobianType | SpatialJacobianType |
| typedef AdvancedTransform < TScalarType, NDimensions, NDimensions > | Superclass |
| typedef VectorSetType::Pointer | VectorSetPointer |
| typedef VectorContainer < unsigned long, InputVectorType > | VectorSetType |
| typedef vnl_matrix< TScalarType > | WMatrixType |
| typedef vnl_matrix< TScalarType > | YMatrixType |
Public Member Functions | |
| void | ComputeLInverse (void) |
| void | ComputeWMatrix (void) |
| virtual TScalarType | GetAlpha (void) const |
| virtual const char * | GetClassName () const |
| virtual VectorSetType * | GetDisplacements () |
| virtual const ParametersType & | GetFixedParameters (void) const |
| virtual bool | GetHasNonZeroSpatialHessian (void) const |
| virtual const JacobianType & | GetJacobian (const InputPointType &point) const |
| virtual void | GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const |
| virtual unsigned int | GetNumberOfParameters (void) const |
| virtual const ParametersType & | GetParameters (void) const |
| virtual const TScalarType | GetPoissonRatio (void) const |
| virtual PointSetType * | GetSourceLandmarks () |
| virtual double | GetStiffness () |
| virtual PointSetType * | GetTargetLandmarks () |
| virtual bool | HasNonZeroJacobianOfSpatialHessian (void) const |
| itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
| virtual void | SetAlpha (TScalarType Alpha) |
| virtual void | SetFixedParameters (const ParametersType &) |
| virtual void | SetIdentity (void) |
| virtual void | SetParameters (const ParametersType &) |
| virtual void | SetPoissonRatio (TScalarType _arg) |
| virtual void | SetSourceLandmarks (PointSetType *) |
| virtual void | SetStiffness (double stiffness) |
| virtual void | SetTargetLandmarks (PointSetType *) |
| virtual OutputPointType | TransformPoint (const InputPointType &thisPoint) const |
| virtual void | UpdateParameters (void) |
Static Public Member Functions | |
| static Pointer | New () |
Data Fields | |
| PointSetPointer | m_SourceLandmarks |
| PointSetPointer | m_TargetLandmarks |
Protected Member Functions | |
| void | ComputeD (void) |
| virtual void | ComputeDeformationContribution (const InputPointType &inputPoint, OutputPointType &result) const |
| virtual void | ComputeG (const InputVectorType &landmarkVector, GMatrixType &GMatrix) const |
| void | ComputeK (void) |
| void | ComputeL (void) |
| void | ComputeP (void) |
| virtual void | ComputeReflexiveG (PointsIterator, GMatrixType &GMatrix) const |
| void | ComputeY (void) |
| KernelTransform2 () | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| void | ReorganizeW (void) |
| virtual | ~KernelTransform2 () |
Protected Attributes | |
| AMatrixType | m_AMatrix |
| BMatrixType | m_BVector |
| VectorSetPointer | m_Displacements |
| DMatrixType | m_DMatrix |
| IMatrixType | m_I |
| KMatrixType | m_KMatrix |
| bool | m_LInverseComputed |
| LMatrixType | m_LMatrix |
| bool | m_LMatrixComputed |
| LMatrixType | m_LMatrixInverse |
| NonZeroJacobianIndicesType | m_NonZeroJacobianIndices |
| NonZeroJacobianIndicesType | m_NonZeroJacobianIndicesTemp |
| PMatrixType | m_PMatrix |
| double | m_Stiffness |
| WMatrixType | m_WMatrix |
| bool | m_WMatrixComputed |
| YMatrixType | m_YMatrix |
Private Member Functions | |
| KernelTransform2 (const Self &) | |
| void | operator= (const Self &) |
Private Attributes | |
| TScalarType | m_PoissonRatio |
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 a bit to include it in elastix:
Definition at line 75 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 280 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 283 of file itkKernelTransform2.h.
| typedef vnl_matrix_fixed<TScalarType, NDimensions, 1> itk::KernelTransform2< TScalarType, NDimensions >::ColumnMatrixType |
Column matrix typedef.
Definition at line 289 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 85 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::DMatrixType |
'D' matrix typedef. Deformation component
Definition at line 277 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::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 259 of file itkKernelTransform2.h.
| typedef vnl_matrix_fixed<TScalarType, NDimensions, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::IMatrixType |
'I' (identity) matrix typedef.
Definition at line 133 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 100 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 102 of file itkKernelTransform2.h.
| typedef Superclass::InternalMatrixType itk::KernelTransform2< TScalarType, NDimensions >::InternalMatrixType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 114 of file itkKernelTransform2.h.
| typedef Superclass ::JacobianOfSpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialHessianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 113 of file itkKernelTransform2.h.
| typedef Superclass ::JacobianOfSpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::JacobianOfSpatialJacobianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 110 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 99 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::KMatrixType |
'K' matrix typedef.
Definition at line 265 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::LMatrixType |
'L' matrix typedef.
Definition at line 262 of file itkKernelTransform2.h.
| typedef Superclass ::NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::NonZeroJacobianIndicesType |
AdvancedTransform typedefs.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 107 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 101 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 103 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 98 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::PMatrixType |
'P' matrix typedef.
Definition at line 268 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 84 of file itkKernelTransform2.h.
| typedef PointSetType::PointsContainerConstIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsConstIterator |
Definition at line 126 of file itkKernelTransform2.h.
| typedef PointSetType::PointsContainer itk::KernelTransform2< TScalarType, NDimensions >::PointsContainer |
Definition at line 124 of file itkKernelTransform2.h.
| typedef PointSetType::Pointer itk::KernelTransform2< TScalarType, NDimensions >::PointSetPointer |
Definition at line 123 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 120 of file itkKernelTransform2.h.
| typedef PointSet<InputPointType, NDimensions, PointSetTraitsType> itk::KernelTransform2< TScalarType, NDimensions >::PointSetType |
Definition at line 122 of file itkKernelTransform2.h.
| typedef PointSetType::PointsContainerIterator itk::KernelTransform2< TScalarType, NDimensions >::PointsIterator |
Reimplemented in itk::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >, and itk::VolumeSplineKernelTransform2< TScalarType, NDimensions >.
Definition at line 125 of file itkKernelTransform2.h.
| typedef vnl_matrix_fixed<TScalarType, 1, NDimensions> itk::KernelTransform2< TScalarType, NDimensions >::RowMatrixType |
Row matrix typedef.
Definition at line 286 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 97 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 81 of file itkKernelTransform2.h.
| typedef Superclass::SpatialHessianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialHessianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 111 of file itkKernelTransform2.h.
| typedef Superclass::SpatialJacobianType itk::KernelTransform2< TScalarType, NDimensions >::SpatialJacobianType |
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 108 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 83 of file itkKernelTransform2.h.
| typedef VectorSetType::Pointer itk::KernelTransform2< TScalarType, NDimensions >::VectorSetPointer |
Definition at line 130 of file itkKernelTransform2.h.
| typedef VectorContainer<unsigned long,InputVectorType> itk::KernelTransform2< TScalarType, NDimensions >::VectorSetType |
VectorSet typedef.
Definition at line 129 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::WMatrixType |
'W' matrix typedef.
Definition at line 274 of file itkKernelTransform2.h.
| typedef vnl_matrix<TScalarType> itk::KernelTransform2< TScalarType, NDimensions >::YMatrixType |
'Y' matrix typedef.
Definition at line 271 of file itkKernelTransform2.h.
| itk::KernelTransform2< TScalarType, NDimensions >::KernelTransform2 | ( | ) | [protected] |
| virtual itk::KernelTransform2< TScalarType, NDimensions >::~KernelTransform2 | ( | ) | [inline, protected, virtual] |
Definition at line 254 of file itkKernelTransform2.h.
| 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::ThinPlateR2LogRSplineKernelTransform2< TScalarType, NDimensions >, itk::ThinPlateSplineKernelTransform2< 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 238 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 bool itk::KernelTransform2< TScalarType, NDimensions >::GetHasNonZeroSpatialHessian | ( | void | ) | const [inline, virtual] |
Whether the advanced transform has nonzero matrices.
Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.
Definition at line 136 of file itkKernelTransform2.h.
| virtual void itk::KernelTransform2< TScalarType, NDimensions >::GetJacobian | ( | const InputPointType & | , |
| JacobianType & | , | ||
| NonZeroJacobianIndicesType & | |||
| ) | const [virtual] |
Compute the Jacobian of the transformation.
| 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 unsigned int itk::KernelTransform2< TScalarType, NDimensions >::GetNumberOfParameters | ( | void | ) | const [inline, virtual] |
Return the number of parameters that completely define the Transform.
Definition at line 146 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 247 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
.
| virtual bool itk::KernelTransform2< TScalarType, NDimensions >::HasNonZeroJacobianOfSpatialHessian | ( | void | ) | const [inline, virtual] |
Definition at line 140 of file itkKernelTransform2.h.
| 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 | Alpha | ) | [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 237 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 >::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 222 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 380 of file itkKernelTransform2.h.
BMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_BVector [protected] |
Translational part of the Affine component of the Transformation.
Definition at line 383 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 352 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 377 of file itkKernelTransform2.h.
IMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_I [protected] |
Identity matrix.
Definition at line 400 of file itkKernelTransform2.h.
KMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_KMatrix [protected] |
The K matrix.
Definition at line 361 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LInverseComputed [protected] |
Has the L inverse matrix been computed?
Definition at line 397 of file itkKernelTransform2.h.
LMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrix [protected] |
The L matrix.
Definition at line 355 of file itkKernelTransform2.h.
bool itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixComputed [protected] |
Has the L matrix been computed?
Definition at line 395 of file itkKernelTransform2.h.
LMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_LMatrixInverse [protected] |
The inverse of L, which we also cache.
Definition at line 358 of file itkKernelTransform2.h.
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndices [protected] |
Precomputed nonzero Jacobian indices (simply all params)
Definition at line 403 of file itkKernelTransform2.h.
NonZeroJacobianIndicesType itk::KernelTransform2< TScalarType, NDimensions >::m_NonZeroJacobianIndicesTemp [mutable, protected] |
for old GetJacobian() method:
Definition at line 406 of file itkKernelTransform2.h.
PMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_PMatrix [protected] |
The P matrix.
Definition at line 364 of file itkKernelTransform2.h.
TScalarType itk::KernelTransform2< TScalarType, NDimensions >::m_PoissonRatio [private] |
Definition at line 412 of file itkKernelTransform2.h.
| PointSetPointer itk::KernelTransform2< TScalarType, NDimensions >::m_SourceLandmarks |
The list of source landmarks, denoted 'p'.
Definition at line 292 of file itkKernelTransform2.h.
double itk::KernelTransform2< TScalarType, NDimensions >::m_Stiffness [protected] |
Stiffness parameter.
Definition at line 347 of file itkKernelTransform2.h.
| PointSetPointer itk::KernelTransform2< TScalarType, NDimensions >::m_TargetLandmarks |
The list of target landmarks, denoted 'q'.
Definition at line 295 of file itkKernelTransform2.h.
WMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_WMatrix [protected] |
The W matrix.
Definition at line 370 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 393 of file itkKernelTransform2.h.
YMatrixType itk::KernelTransform2< TScalarType, NDimensions >::m_YMatrix [protected] |
The Y matrix.
Definition at line 367 of file itkKernelTransform2.h.
Generated on 11-05-2011 for elastix by 1.7.4 |