Loading...
Searching...
No Matches
itk::AdvancedSimilarity3DTransform< TScalarType > Class Template Reference
Components » Transforms

`#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 >:
[legend]

## 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 >
typedef typename VersorType::ValueType | AngleType
typedef typename VersorType::VectorType | AxisType
using | ConstPointer
using | Pointer
using | Self
using | Superclass
typedef Versor< double > | VersorType
Public Types inherited from itk::AdvancedVersorTransform< double >
using | AngleType
using | AxisType
using | ConstPointer
typedef typename SpatialJacobianType::InternalMatrixType | InternalMatrixType
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType
using | Pointer
using | Self
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType
using | Superclass
using | VersorType
using | VnlQuaternionType
Public Types inherited from itk::AdvancedRigid3DTransform< double >
using | ConstPointer
typedef typename SpatialJacobianType::InternalMatrixType | InternalMatrixType
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType
using | Pointer
using | Self
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType
using | Superclass
Public Types inherited from itk::AdvancedMatrixOffsetTransformBase< double, 3, 3 >
using | CenterType
using | ConstPointer
typedef typename SpatialJacobianType::InternalMatrixType | InternalMatrixType
using | InverseMatrixType
typedef std::vector< SpatialHessianType > | JacobianOfSpatialHessianType
typedef std::vector< SpatialJacobianType > | JacobianOfSpatialJacobianType
using | MatrixType
typedef std::vector< unsigned long > | NonZeroJacobianIndicesType
using | OffsetType
using | Pointer
using | Self
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > | SpatialHessianType
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > | SpatialJacobianType
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 ScaleType & | GetScale ()
| 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 (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 VersorType & | GetVersor ()
| itkStaticConstMacro (SpaceDimension, unsigned int, 3)
void | SetIdentity () override
void | SetParameters (const ParametersType &parameters) override
void | SetRotation (const VersorType &versor)
Public Member Functions inherited from itk::AdvancedRigid3DTransform< double >
| ITK_DISALLOW_COPY_AND_MOVE (AdvancedRigid3DTransform)
| 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 | GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const override
const MatrixType & | GetMatrix () 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)
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
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)

## 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 (unsigned int paramDim)
void | PrintSelf (std::ostream &os, Indent indent) const override
| ~AdvancedVersorRigid3DTransform () override=default
Protected Member Functions inherited from itk::AdvancedVersorTransform< double >
| AdvancedVersorTransform (const MatrixType &matrix, const OutputVectorType &offset)
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 (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

template<class TScalarType = double>

using itk::AdvancedSimilarity3DTransform< TScalarType >::Self = AdvancedSimilarity3DTransform

Standard class typedefs.

Definition at line 69 of file itkAdvancedSimilarity3DTransform.h.

## Superclass

template<class TScalarType = double>

using itk::AdvancedSimilarity3DTransform< TScalarType >::Superclass = AdvancedVersorRigid3DTransform<TScalarType>

Definition at line 70 of file itkAdvancedSimilarity3DTransform.h.

## 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 | ( |  | ) |

override protected default

## Member Function Documentation

## ComputeMatrix()

template<class TScalarType = double>

void itk::AdvancedSimilarity3DTransform< TScalarType >::ComputeMatrix | ( |  | ) |

override protected virtual

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 | ( |  | ) |

override protected virtual

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

override virtual

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>

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 | ( |  | ) |

protected virtual

Update the m_JacobianOfSpatialJacobian.

## PrintSelf()

template<class TScalarType = double>

void itk::AdvancedSimilarity3DTransform< TScalarType >::PrintSelf | ( | std::ostream & | os,
|  | Indent | indent ) const

override protected

## SetMatrix()

template<class TScalarType = double>

void itk::AdvancedSimilarity3DTransform< TScalarType >::SetMatrix | ( | const MatrixType & | matrix | ) |

override virtual

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 1768596610 for elastix by 1.15.0 |