itk::ThinPlateSplineKernelTransform2
#include <itkThinPlateSplineKernelTransform2.h>
Inherits from itk::KernelTransform2< TScalarType, 3 >, itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >, Transform< TScalarType, 3, 3 >
Public Types
| Name | |
|---|---|
| typedef ThinPlateSplineKernelTransform2 | Self |
| typedef KernelTransform2< TScalarType, NDimensions > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef Superclass::ScalarType | ScalarType |
| typedef Superclass::ParametersType | ParametersType |
| typedef Superclass::JacobianType | JacobianType |
| typedef Superclass::InputPointType | InputPointType |
| typedef Superclass::OutputPointType | OutputPointType |
| typedef Superclass::InputVectorType | InputVectorType |
| typedef Superclass::OutputVectorType | OutputVectorType |
| typedef Superclass::InputCovariantVectorType | InputCovariantVectorType |
| typedef Superclass::OutputCovariantVectorType | OutputCovariantVectorType |
| typedef Superclass::PointsIterator | PointsIterator |
Protected Types
| Name | |
|---|---|
| typedef Superclass::GMatrixType | GMatrixType |
Public Functions
| Name | |
|---|---|
| itkNewMacro(Self ) | |
| itkTypeMacro(ThinPlateSplineKernelTransform2 , KernelTransform2 ) | |
| itkStaticConstMacro(SpaceDimension , unsigned int , Superclass::SpaceDimension ) | |
| void | SetSigma(double sigma) |
Protected Functions
| Name | |
|---|---|
| ThinPlateSplineKernelTransform2() | |
| virtual | ~ThinPlateSplineKernelTransform2() |
| virtual void | ComputeG(const InputVectorType & x, GMatrixType & GMatrix) const |
| virtual void | ComputeDeformationContribution(const InputPointType & inputPoint, OutputPointType & result) const |
Additional inherited members
Public Types inherited from itk::KernelTransform2< TScalarType, 3 >
| Name | |
|---|---|
| typedef Superclass::NumberOfParametersType | NumberOfParametersType |
| typedef Superclass::InputVnlVectorType | InputVnlVectorType |
| typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
| typedef Superclass ::NonZeroJacobianIndicesType | NonZeroJacobianIndicesType |
| typedef Superclass::SpatialJacobianType | SpatialJacobianType |
| typedef Superclass ::JacobianOfSpatialJacobianType | JacobianOfSpatialJacobianType |
| typedef Superclass::SpatialHessianType | SpatialHessianType |
| typedef Superclass ::JacobianOfSpatialHessianType | JacobianOfSpatialHessianType |
| typedef Superclass::InternalMatrixType | InternalMatrixType |
| typedef DefaultStaticMeshTraits< TScalarType, NDimensions, NDimensions, TScalarType, TScalarType > | PointSetTraitsType |
| typedef PointSet< InputPointType, NDimensions, PointSetTraitsType > | PointSetType |
| typedef PointSetType::Pointer | PointSetPointer |
| typedef PointSetType::PointsContainer | PointsContainer |
| typedef PointSetType::PointsContainerConstIterator | PointsConstIterator |
| typedef VectorContainer< unsigned long, InputVectorType > | VectorSetType |
| typedef VectorSetType::Pointer | VectorSetPointer |
| typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions > | IMatrixType |
| typedef vnl_matrix< TScalarType > | LMatrixType |
| typedef vnl_matrix< TScalarType > | KMatrixType |
| typedef vnl_matrix< TScalarType > | PMatrixType |
| typedef vnl_matrix< TScalarType > | YMatrixType |
| typedef vnl_matrix< TScalarType > | WMatrixType |
| typedef vnl_matrix< TScalarType > | DMatrixType |
| typedef vnl_matrix_fixed< TScalarType, NDimensions, NDimensions > | AMatrixType |
| typedef vnl_vector_fixed< TScalarType, NDimensions > | BMatrixType |
| typedef vnl_matrix_fixed< TScalarType, 1, NDimensions > | RowMatrixType |
| typedef vnl_matrix_fixed< TScalarType, NDimensions, 1 > | ColumnMatrixType |
Protected Types inherited from itk::KernelTransform2< TScalarType, 3 >
| Name | |
|---|---|
| typedef vnl_svd< ScalarType > | SVDDecompositionType |
| typedef vnl_qr< ScalarType > | QRDecompositionType |
Public Functions inherited from itk::KernelTransform2< TScalarType, 3 >
| Name | |
|---|---|
| virtual NumberOfParametersType | GetNumberOfParameters(void ) const |
| itkGetObjectMacro(SourceLandmarks , PointSetType ) | |
| virtual void | SetSourceLandmarks(PointSetType * ) |
| itkGetObjectMacro(TargetLandmarks , PointSetType ) | |
| virtual void | SetTargetLandmarks(PointSetType * ) |
| itkGetObjectMacro(Displacements , VectorSetType ) | |
| void | ComputeWMatrix(void ) |
| void | ComputeLInverse(void ) |
| virtual OutputPointType | TransformPoint(const InputPointType & thisPoint) const |
| virtual OutputVectorType | TransformVector(const InputVectorType & ) const |
| virtual OutputVnlVectorType | TransformVector(const InputVnlVectorType & ) const |
| virtual OutputCovariantVectorType | TransformCovariantVector(const InputCovariantVectorType & ) const |
| virtual void | GetJacobian(const InputPointType & , JacobianType & , NonZeroJacobianIndicesType & ) const |
| virtual void | SetIdentity(void ) |
| virtual void | SetParameters(const ParametersType & ) |
| virtual void | SetFixedParameters(const ParametersType & ) |
| virtual void | UpdateParameters(void ) |
| virtual const ParametersType & | GetParameters(void ) const |
| virtual const ParametersType & | GetFixedParameters(void ) const |
| virtual void | SetStiffness(double stiffness) |
| itkGetMacro(Stiffness , double ) | |
| virtual void | SetAlpha(TScalarType itkNotUsedAlpha) |
| virtual TScalarType | GetAlpha(void ) const |
| itkSetMacro(PoissonRatio , TScalarType ) | |
| virtual const TScalarType | GetPoissonRatio(void ) const |
| itkSetMacro(MatrixInversionMethod , std::string ) | |
| itkGetConstReferenceMacro(MatrixInversionMethod , std::string ) | |
| virtual void | GetSpatialJacobian(const InputPointType & ipp, SpatialJacobianType & sj) const |
| virtual void | GetSpatialHessian(const InputPointType & ipp, SpatialHessianType & sh) const |
| virtual void | GetJacobianOfSpatialJacobian(const InputPointType & ipp, JacobianOfSpatialJacobianType & jsj, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const |
| virtual void | GetJacobianOfSpatialJacobian(const InputPointType & ipp, SpatialJacobianType & sj, JacobianOfSpatialJacobianType & jsj, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const |
| virtual void | GetJacobianOfSpatialHessian(const InputPointType & ipp, JacobianOfSpatialHessianType & jsh, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const |
| virtual void | GetJacobianOfSpatialHessian(const InputPointType & ipp, SpatialHessianType & sh, JacobianOfSpatialHessianType & jsh, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const |
Protected Functions inherited from itk::KernelTransform2< TScalarType, 3 >
| Name | |
|---|---|
| KernelTransform2() | |
| virtual | ~KernelTransform2() |
| void | PrintSelf(std::ostream & os, Indent indent) const |
| virtual void | ComputeReflexiveG(PointsIterator , GMatrixType & GMatrix) const |
| void | ComputeK(void ) |
| void | ComputeL(void ) |
| void | ComputeP(void ) |
| void | ComputeY(void ) |
| void | ComputeD(void ) |
| void | ReorganizeW(void ) |
Public Attributes inherited from itk::KernelTransform2< TScalarType, 3 >
| Name | |
|---|---|
| PointSetPointer | m_SourceLandmarks |
| PointSetPointer | m_TargetLandmarks |
Protected Attributes inherited from itk::KernelTransform2< TScalarType, 3 >
Public Types inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
| Name | |
|---|---|
| typedef Superclass::ParametersValueType | ParametersValueType |
| typedef Superclass::NumberOfParametersType | NumberOfParametersType |
| typedef Superclass::DerivativeType | DerivativeType |
| typedef Superclass::InputVnlVectorType | InputVnlVectorType |
| typedef Superclass::OutputVnlVectorType | OutputVnlVectorType |
| typedef Superclass::InverseTransformBaseType | InverseTransformBaseType |
| typedef Superclass::InverseTransformBasePointer | InverseTransformBasePointer |
| typedef Transform< TScalarType, NInputDimensions, NOutputDimensions > | TransformType |
| typedef TransformType::Pointer | TransformTypePointer |
| typedef TransformType::ConstPointer | TransformTypeConstPointer |
| typedef std::vector< unsigned long > | NonZeroJacobianIndicesType |
| typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType |
| typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType |
| typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType |
| typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType |
| typedef SpatialJacobianType::InternalMatrixType | InternalMatrixType |
| typedef OutputCovariantVectorType | MovingImageGradientType |
| typedef MovingImageGradientType::ValueType | MovingImageGradientValueType |
Public Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
| Name | |
|---|---|
| virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices(void ) const |
| itkGetConstMacro(HasNonZeroSpatialHessian , bool ) | |
| itkGetConstMacro(HasNonZeroJacobianOfSpatialHessian , bool ) | |
| virtual void | GetJacobian(const InputPointType & ipp, JacobianType & j, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const =0 |
| virtual void | EvaluateJacobianWithImageGradientProduct(const InputPointType & ipp, const MovingImageGradientType & movingImageGradient, DerivativeType & imageJacobian, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const |
| virtual void | GetSpatialJacobian(const InputPointType & ipp, SpatialJacobianType & sj) const =0 |
| virtual void | ComputeJacobianWithRespectToParameters(const InputPointType & itkNotUsedp, JacobianType & itkNotUsedj) const |
| virtual void | ComputeJacobianWithRespectToPosition(const InputPointType & itkNotUsedp, JacobianType & itkNotUsedj) const |
| virtual void | GetSpatialHessian(const InputPointType & ipp, SpatialHessianType & sh) const =0 |
| virtual void | GetJacobianOfSpatialJacobian(const InputPointType & ipp, JacobianOfSpatialJacobianType & jsj, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const =0 |
| virtual void | GetJacobianOfSpatialJacobian(const InputPointType & ipp, SpatialJacobianType & sj, JacobianOfSpatialJacobianType & jsj, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const =0 |
| virtual void | GetJacobianOfSpatialHessian(const InputPointType & ipp, JacobianOfSpatialHessianType & jsh, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const =0 |
| virtual void | GetJacobianOfSpatialHessian(const InputPointType & ipp, SpatialHessianType & sh, JacobianOfSpatialHessianType & jsh, NonZeroJacobianIndicesType & nonZeroJacobianIndices) const =0 |
Protected Functions inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
| Name | |
|---|---|
| AdvancedTransform() | |
| AdvancedTransform(NumberOfParametersType numberOfParameters) | |
| virtual | ~AdvancedTransform() |
Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >
| Name | |
|---|---|
| bool | m_HasNonZeroSpatialHessian |
| bool | m_HasNonZeroJacobianOfSpatialHessian |
Detailed Description
template <class TScalarType ,
unsigned int NDimensions =3>
class itk::ThinPlateSplineKernelTransform2;
This class defines the thin plate spline (TPS) transformation. It is implemented in as straightforward a manner as possible from the IEEE TMI paper by Davis, Khotanzad, Flamig, and Harms, Vol. 16 No. 3 June 1997
Public Types Documentation
typedef Self
typedef ThinPlateSplineKernelTransform2 itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Self;
Standard class typedefs.
typedef Superclass
typedef KernelTransform2< TScalarType, NDimensions > itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Superclass;
typedef Pointer
typedef SmartPointer< Self > itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::Pointer;
typedef ConstPointer
typedef SmartPointer< const Self > itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ConstPointer;
typedef ScalarType
typedef Superclass::ScalarType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ScalarType;
Scalar type.
typedef ParametersType
typedef Superclass::ParametersType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::ParametersType;
Parameters type.
typedef JacobianType
typedef Superclass::JacobianType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::JacobianType;
Jacobian Type
typedef InputPointType
typedef Superclass::InputPointType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::InputPointType;
These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited.
typedef OutputPointType
typedef Superclass::OutputPointType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::OutputPointType;
typedef InputVectorType
typedef Superclass::InputVectorType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::InputVectorType;
typedef OutputVectorType
typedef Superclass::OutputVectorType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::OutputVectorType;
typedef InputCovariantVectorType
typedef Superclass::InputCovariantVectorType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::InputCovariantVectorType;
typedef OutputCovariantVectorType
typedef Superclass::OutputCovariantVectorType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::OutputCovariantVectorType;
typedef PointsIterator
typedef Superclass::PointsIterator itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::PointsIterator;
Protected Types Documentation
typedef GMatrixType
typedef Superclass::GMatrixType itk::ThinPlateSplineKernelTransform2< TScalarType, NDimensions >::GMatrixType;
These (rather redundant) typedefs are needed because on SGI, typedefs are not inherited.
Public Functions Documentation
function itkNewMacro
itkNewMacro(
Self
)
New macro for creation of through a Smart Pointer
function itkTypeMacro
itkTypeMacro(
ThinPlateSplineKernelTransform2 ,
KernelTransform2
)
Run-time type information (and related methods).
function itkStaticConstMacro
itkStaticConstMacro(
SpaceDimension ,
unsigned int ,
Superclass::SpaceDimension
)
Dimension of the domain space.
function SetSigma
inline void SetSigma(
double sigma
)
Protected Functions Documentation
function ThinPlateSplineKernelTransform2
inline ThinPlateSplineKernelTransform2()
function ~ThinPlateSplineKernelTransform2
inline virtual ~ThinPlateSplineKernelTransform2()
function ComputeG
virtual void ComputeG(
const InputVectorType & x,
GMatrixType & GMatrix
) const
Reimplements: itk::KernelTransform2::ComputeG
Compute G(x) For the thin plate spline, this is: G(x) = r(x)*I \( G(x) = r(x)*I \) where r(x) = Euclidean norm = sqrt[x1^2 + x2^2 + x3^2] I = identity matrix.
function ComputeDeformationContribution
virtual void ComputeDeformationContribution(
const InputPointType & inputPoint,
OutputPointType & result
) const
Reimplements: itk::KernelTransform2::ComputeDeformationContribution
Compute the contribution of the landmarks weighted by the kernel function to the global deformation of the space.
Updated on 2022-07-23 at 17:50:03 -0600