go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::AdvancedSimilarity3DTransform< TScalarType > Class Template Reference

#include <itkAdvancedSimilarity3DTransform.h>

Detailed Description

template<class TScalarType = double>
class itk::AdvancedSimilarity3DTransform< TScalarType >

AdvancedSimilarity3DTransform of a vector space (e.g. space coordinates)

This transform applies a rotation, translation and isotropic scaling to the space.

The parameters for this transform can be set either using individual Set methods or in serialized form using SetParameters() and SetFixedParameters().

The serialization of the optimizable parameters is an array of 7 elements. The first 3 elements are the components of the versor representation of 3D rotation. The next 3 parameters defines the translation in each dimension. The last parameter defines the isotropic scaling.

The serialization of the fixed parameters is an array of 3 elements defining the center of rotation.

See also
VersorRigid3DTransform

Definition at line 63 of file itkAdvancedSimilarity3DTransform.h.

Inheritance diagram for itk::AdvancedSimilarity3DTransform< TScalarType >:

Public Types

using ConstPointer = SmartPointer<const Self>
 
using Pointer = SmartPointer<Self>
 
using ScaleType = TScalarType
 
using Self = AdvancedSimilarity3DTransform
 
using Superclass = AdvancedVersorRigid3DTransform<TScalarType>
 
- Public Types inherited from itk::AdvancedVersorRigid3DTransform< double >
using AngleType
 
using AxisType
 
using ConstPointer
 
using Pointer
 
using Self
 
using Superclass
 
using VersorType
 
- Public Types inherited from itk::AdvancedVersorTransform< double >
using AngleType
 
using AxisType
 
using CenterType
 
using ConstPointer
 
using InverseMatrixType
 
using MatrixType
 
using OffsetType
 
using Pointer
 
using Self
 
using Superclass
 
using VersorType
 
using VnlQuaternionType
 
- Public Types inherited from itk::AdvancedRigid3DTransform< double >
using CenterType
 
using ConstPointer
 
using InverseMatrixType
 
using MatrixType
 
using OffsetType
 
using Pointer
 
using Self
 
using Superclass
 
using TranslationType
 
- Public Types inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
using CenterType
 
using ConstPointer
 
using InverseMatrixType
 
using MatrixType
 
using OffsetType
 
using Pointer
 
using Self
 
using Superclass
 
using TranslationType
 
- Public Types inherited from itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions >
using ConstPointer
 
using InternalMatrixType
 
using InverseTransformBaseType
 
using JacobianOfSpatialHessianType
 
using JacobianOfSpatialJacobianType
 
using MovingImageGradientType
 
using MovingImageGradientValueType
 
using NonZeroJacobianIndicesType
 
using Pointer
 
using Self
 
using SpatialHessianType
 
using SpatialJacobianType
 
using Superclass
 
using TransformType
 
using TransformTypeConstPointer
 
using TransformTypePointer
 

Public Member Functions

virtual const char * GetClassName () const
 
void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
 
const ParametersType & GetParameters () const override
 
virtual const ScaleTypeGetScale ()
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedSimilarity3DTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 7)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
void SetMatrix (const MatrixType &matrix) override
 
void SetParameters (const ParametersType &parameters) override
 
void SetScale (ScaleType scale)
 
- Public Member Functions inherited from itk::AdvancedVersorRigid3DTransform< double >
void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
 
const ParametersType & GetParameters () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedVersorRigid3DTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 6)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
void SetParameters (const ParametersType &parameters) override
 
- Public Member Functions inherited from itk::AdvancedVersorTransform< double >
void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
 
const ParametersType & GetParameters () const override
 
virtual const VersorTypeGetVersor ()
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 3)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
void SetIdentity () override
 
void SetParameters (const ParametersType &parameters) override
 
void SetRotation (const AxisType &axis, AngleType angle)
 
void SetRotation (const VersorType &versor)
 
- Public Member Functions inherited from itk::AdvancedRigid3DTransform< double >
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedRigid3DTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 12)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
bool MatrixIsOrthogonal (const MatrixType &matrix, double tol=1e-10)
 
void SetParameters (const ParametersType &parameters) override
 
- Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
const InputPointType & GetCenter () const
 
const FixedParametersType & GetFixedParameters () const override
 
void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
 
const MatrixTypeGetMatrix () const
 
const ParametersType & GetParameters () const override
 
void GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override
 
void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
const OutputVectorType & GetTranslation () const
 
bool IsLinear () const override
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, NOutputDimensions *(NInputDimensions+1))
 
void SetCenter (const InputPointType &center)
 
void SetFixedParameters (const FixedParametersType &) override
 
void SetParameters (const ParametersType &parameters) override
 
void SetTranslation (const OutputVectorType &translation)
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const override
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
OutputVectorType TransformVector (const InputVectorType &vector) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const override
 
- Public Member Functions inherited from itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedVersorRigid3DTransform< double >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedVersorTransform< double >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedRigid3DTransform< double >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
static Pointer New ()
 

Protected Member Functions

 AdvancedSimilarity3DTransform ()
 
 AdvancedSimilarity3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 
 AdvancedSimilarity3DTransform (unsigned int outputSpaceDim, unsigned int paramDim)
 
void ComputeMatrix () override
 
void ComputeMatrixParameters () override
 
virtual void PrecomputeJacobianOfSpatialJacobian ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~AdvancedSimilarity3DTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedVersorRigid3DTransform< double >
 AdvancedVersorRigid3DTransform ()
 
 AdvancedVersorRigid3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 
 AdvancedVersorRigid3DTransform (unsigned int paramDim)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~AdvancedVersorRigid3DTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedVersorTransform< double >
 AdvancedVersorTransform ()
 
 AdvancedVersorTransform (const MatrixType &matrix, const OutputVectorType &offset)
 
 AdvancedVersorTransform (unsigned int paramDims)
 
void ComputeMatrix () override
 
void ComputeMatrixParameters () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void SetVarVersor (const VersorType &newVersor)
 
 ~AdvancedVersorTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedRigid3DTransform< double >
 AdvancedRigid3DTransform ()
 
 AdvancedRigid3DTransform (unsigned int paramDim)
 
void PrintSelf (std::ostream &s, Indent indent) const override
 
 ~AdvancedRigid3DTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
 AdvancedMatrixOffsetTransformBase (const unsigned int paramDims=ParametersDimension)
 
virtual void ComputeOffset ()
 
void ComputeTranslation ()
 
const OutputVectorType & GetOffset () const
 
void PrintSelf (std::ostream &s, Indent indent) const override
 
void SetVarMatrix (const MatrixType &matrix)
 
void SetVarTranslation (const OutputVectorType &translation)
 
 ~AdvancedMatrixOffsetTransformBase () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Attributes

ScaleType m_Scale {}
 

Additional Inherited Members

- Protected Attributes inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
JacobianOfSpatialHessianType m_JacobianOfSpatialHessian
 
JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
 
SpatialHessianType m_SpatialHessian
 
- Protected Attributes inherited from itk::AdvancedTransform< double, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType = double>
using itk::AdvancedSimilarity3DTransform< TScalarType >::ConstPointer = SmartPointer<const Self>

Definition at line 72 of file itkAdvancedSimilarity3DTransform.h.

◆ Pointer

template<class TScalarType = double>
using itk::AdvancedSimilarity3DTransform< TScalarType >::Pointer = SmartPointer<Self>

Definition at line 71 of file itkAdvancedSimilarity3DTransform.h.

◆ ScaleType

template<class TScalarType = double>
using itk::AdvancedSimilarity3DTransform< TScalarType >::ScaleType = TScalarType

Definition at line 109 of file itkAdvancedSimilarity3DTransform.h.

◆ Self

Standard class typedefs.

Definition at line 69 of file itkAdvancedSimilarity3DTransform.h.

◆ Superclass

Constructor & Destructor Documentation

◆ AdvancedSimilarity3DTransform() [1/3]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::AdvancedSimilarity3DTransform ( unsigned int outputSpaceDim,
unsigned int paramDim )
protected

◆ AdvancedSimilarity3DTransform() [2/3]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::AdvancedSimilarity3DTransform ( const MatrixType & matrix,
const OutputVectorType & offset )
protected

◆ AdvancedSimilarity3DTransform() [3/3]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::AdvancedSimilarity3DTransform ( )
protected

◆ ~AdvancedSimilarity3DTransform()

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::~AdvancedSimilarity3DTransform ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeMatrix()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::ComputeMatrix ( )
overrideprotectedvirtual

Recomputes the matrix by calling the Superclass::ComputeMatrix() and then applying the scale factor.

Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.

◆ ComputeMatrixParameters()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::ComputeMatrixParameters ( )
overrideprotectedvirtual

Computes the parameters from an input matrix.

Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.

◆ GetClassName()

template<class TScalarType = double>
virtual const char * itk::AdvancedSimilarity3DTransform< TScalarType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedVersorRigid3DTransform< double >.

Reimplemented in itk::GPUAdvancedSimilarity3DTransform< TScalarType, TParentTransform >.

◆ GetJacobian()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::GetJacobian ( const InputPointType & ,
JacobianType & ,
NonZeroJacobianIndicesType &  ) const
overridevirtual

This method computes the Jacobian matrix of the transformation.

Reimplemented from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >.

◆ GetParameters()

template<class TScalarType = double>
const ParametersType & itk::AdvancedSimilarity3DTransform< TScalarType >::GetParameters ( ) const
override

◆ GetScale()

template<class TScalarType = double>
virtual const ScaleType & itk::AdvancedSimilarity3DTransform< TScalarType >::GetScale ( )
virtual

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::ITK_DISALLOW_COPY_AND_MOVE ( AdvancedSimilarity3DTransform< TScalarType > )

◆ itkStaticConstMacro() [1/4]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::itkStaticConstMacro ( InputSpaceDimension ,
unsigned int ,
3  )

◆ itkStaticConstMacro() [2/4]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::itkStaticConstMacro ( OutputSpaceDimension ,
unsigned int ,
3  )

◆ itkStaticConstMacro() [3/4]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::itkStaticConstMacro ( ParametersDimension ,
unsigned int ,
7  )

◆ itkStaticConstMacro() [4/4]

template<class TScalarType = double>
itk::AdvancedSimilarity3DTransform< TScalarType >::itkStaticConstMacro ( SpaceDimension ,
unsigned int ,
3  )

Dimension of parameters.

◆ New()

template<class TScalarType = double>
static Pointer itk::AdvancedSimilarity3DTransform< TScalarType >::New ( )
static

New macro for creation of through a Smart Pointer.

◆ PrecomputeJacobianOfSpatialJacobian()

template<class TScalarType = double>
virtual void itk::AdvancedSimilarity3DTransform< TScalarType >::PrecomputeJacobianOfSpatialJacobian ( )
protectedvirtual

Update the m_JacobianOfSpatialJacobian.

◆ PrintSelf()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotected

◆ SetMatrix()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::SetMatrix ( const MatrixType & matrix)
overridevirtual

Directly set the rotation matrix of the transform.

Warning
The input matrix must be orthogonal with isotropic scaling to within a specified tolerance, else an exception is thrown.
See also
MatrixOffsetTransformBase::SetMatrix()

Reimplemented from itk::AdvancedRigid3DTransform< double >.

◆ SetParameters()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::SetParameters ( const ParametersType & parameters)
override

Set the transformation from a container of parameters This is typically used by optimizers. There are 7 parameters. The first three represent the versor, the next three represent the translation and the last one represents the scaling factor.

◆ SetScale()

template<class TScalarType = double>
void itk::AdvancedSimilarity3DTransform< TScalarType >::SetScale ( ScaleType scale)

Set/Get the value of the isotropic scaling factor

Field Documentation

◆ m_Scale

template<class TScalarType = double>
ScaleType itk::AdvancedSimilarity3DTransform< TScalarType >::m_Scale {}
private

Definition at line 169 of file itkAdvancedSimilarity3DTransform.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo