Slicer  4.11
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
List of all members | Public Types | Public Member Functions | Protected Member Functions
itk::AnisotropicSimilarity3DTransform< TScalarType > Class Template Reference

AnisotropicSimilarity3DTransform of a vector space (e.g. space coordinates) More...

#include <Modules/CLI/ExpertAutomatedRegistration/ITKRegistrationHelper/itkAnisotropicSimilarity3DTransform.h>

Inheritance diagram for itk::AnisotropicSimilarity3DTransform< TScalarType >:
Inheritance graph
[legend]
Collaboration diagram for itk::AnisotropicSimilarity3DTransform< TScalarType >:
Collaboration graph
[legend]

Public Types

typedef Superclass::AngleType AngleType
 
typedef Superclass::AxisType AxisType
 
typedef Superclass::CenterType CenterType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InverseMatrixType InverseMatrixType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MatrixType MatrixType
 
typedef Superclass::OffsetType OffsetType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef TScalarType ScaleType
 
typedef AnisotropicSimilarity3DTransform Self
 
typedef VersorRigid3DTransform< TScalarType > Superclass
 
typedef Superclass::TranslationType TranslationType
 
typedef Superclass::InputVectorType VectorType
 
typedef Superclass::VersorType VersorType
 

Public Member Functions

 AnisotropicSimilarity3DTransform (const Self &)=delete
 
void ComputeJacobianWithRespectToParameters (const InputPointType &p, JacobianType &jacobian) const override
 
const ParametersTypeGetParameters () const override
 
 itkGetConstReferenceMacro (Scale, VectorType)
 
 itkNewMacro (Self)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, 3)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 9)
 
 itkTypeMacro (AnisotropicSimilarity3DTransform, VersorRigid3DTransform)
 
void operator= (const Self &)=delete
 
void SetMatrix (const MatrixType &matrix) override
 
void SetParameters (const ParametersType &parameters) override
 
void SetScale (ScaleType scale)
 
void SetScale (VectorType scale)
 

Protected Member Functions

 AnisotropicSimilarity3DTransform (const MatrixType &matrix, const OutputVectorType &offset)
 
 AnisotropicSimilarity3DTransform (unsigned int paramDim)
 
 AnisotropicSimilarity3DTransform ()
 
void ComputeMatrix () override
 
void ComputeMatrixParameters () override
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~AnisotropicSimilarity3DTransform () override=default
 

Detailed Description

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

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

This transform applies a rotation, translation and anisotropic 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 9 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 anisotropic scaling.

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

See also
VersorRigid3DTransform

Definition at line 53 of file itkAnisotropicSimilarity3DTransform.h.

Member Typedef Documentation

◆ AngleType

template<class TScalarType = double>
typedef Superclass::AngleType itk::AnisotropicSimilarity3DTransform< TScalarType >::AngleType

Definition at line 104 of file itkAnisotropicSimilarity3DTransform.h.

◆ AxisType

template<class TScalarType = double>
typedef Superclass::AxisType itk::AnisotropicSimilarity3DTransform< TScalarType >::AxisType

Definition at line 103 of file itkAnisotropicSimilarity3DTransform.h.

◆ CenterType

template<class TScalarType = double>
typedef Superclass::CenterType itk::AnisotropicSimilarity3DTransform< TScalarType >::CenterType

Definition at line 97 of file itkAnisotropicSimilarity3DTransform.h.

◆ ConstPointer

template<class TScalarType = double>
typedef SmartPointer<const Self> itk::AnisotropicSimilarity3DTransform< TScalarType >::ConstPointer

Definition at line 61 of file itkAnisotropicSimilarity3DTransform.h.

◆ InputCovariantVectorType

template<class TScalarType = double>
typedef Superclass::InputCovariantVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::InputCovariantVectorType

Definition at line 91 of file itkAnisotropicSimilarity3DTransform.h.

◆ InputPointType

template<class TScalarType = double>
typedef Superclass::InputPointType itk::AnisotropicSimilarity3DTransform< TScalarType >::InputPointType

Definition at line 83 of file itkAnisotropicSimilarity3DTransform.h.

◆ InputVectorType

template<class TScalarType = double>
typedef Superclass::InputVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::InputVectorType

Definition at line 85 of file itkAnisotropicSimilarity3DTransform.h.

◆ InputVnlVectorType

template<class TScalarType = double>
typedef Superclass::InputVnlVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::InputVnlVectorType

Definition at line 87 of file itkAnisotropicSimilarity3DTransform.h.

◆ InverseMatrixType

template<class TScalarType = double>
typedef Superclass::InverseMatrixType itk::AnisotropicSimilarity3DTransform< TScalarType >::InverseMatrixType

Definition at line 96 of file itkAnisotropicSimilarity3DTransform.h.

◆ JacobianType

template<class TScalarType = double>
typedef Superclass::JacobianType itk::AnisotropicSimilarity3DTransform< TScalarType >::JacobianType

Definition at line 81 of file itkAnisotropicSimilarity3DTransform.h.

◆ MatrixType

template<class TScalarType = double>
typedef Superclass::MatrixType itk::AnisotropicSimilarity3DTransform< TScalarType >::MatrixType

Definition at line 95 of file itkAnisotropicSimilarity3DTransform.h.

◆ OffsetType

template<class TScalarType = double>
typedef Superclass::OffsetType itk::AnisotropicSimilarity3DTransform< TScalarType >::OffsetType

Definition at line 98 of file itkAnisotropicSimilarity3DTransform.h.

◆ OutputCovariantVectorType

template<class TScalarType = double>
typedef Superclass::OutputCovariantVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::OutputCovariantVectorType

Definition at line 93 of file itkAnisotropicSimilarity3DTransform.h.

◆ OutputPointType

template<class TScalarType = double>
typedef Superclass::OutputPointType itk::AnisotropicSimilarity3DTransform< TScalarType >::OutputPointType

Definition at line 84 of file itkAnisotropicSimilarity3DTransform.h.

◆ OutputVectorType

template<class TScalarType = double>
typedef Superclass::OutputVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::OutputVectorType

Definition at line 86 of file itkAnisotropicSimilarity3DTransform.h.

◆ OutputVnlVectorType

template<class TScalarType = double>
typedef Superclass::OutputVnlVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::OutputVnlVectorType

Definition at line 88 of file itkAnisotropicSimilarity3DTransform.h.

◆ ParametersType

template<class TScalarType = double>
typedef Superclass::ParametersType itk::AnisotropicSimilarity3DTransform< TScalarType >::ParametersType

Parameters Type

Definition at line 80 of file itkAnisotropicSimilarity3DTransform.h.

◆ Pointer

template<class TScalarType = double>
typedef SmartPointer<Self> itk::AnisotropicSimilarity3DTransform< TScalarType >::Pointer

Definition at line 60 of file itkAnisotropicSimilarity3DTransform.h.

◆ ScalarType

template<class TScalarType = double>
typedef Superclass::ScalarType itk::AnisotropicSimilarity3DTransform< TScalarType >::ScalarType

Definition at line 82 of file itkAnisotropicSimilarity3DTransform.h.

◆ ScaleType

template<class TScalarType = double>
typedef TScalarType itk::AnisotropicSimilarity3DTransform< TScalarType >::ScaleType

Definition at line 106 of file itkAnisotropicSimilarity3DTransform.h.

◆ Self

template<class TScalarType = double>
typedef AnisotropicSimilarity3DTransform itk::AnisotropicSimilarity3DTransform< TScalarType >::Self

Standard class typedefs.

Definition at line 58 of file itkAnisotropicSimilarity3DTransform.h.

◆ Superclass

template<class TScalarType = double>
typedef VersorRigid3DTransform<TScalarType> itk::AnisotropicSimilarity3DTransform< TScalarType >::Superclass

Definition at line 59 of file itkAnisotropicSimilarity3DTransform.h.

◆ TranslationType

template<class TScalarType = double>
typedef Superclass::TranslationType itk::AnisotropicSimilarity3DTransform< TScalarType >::TranslationType

Definition at line 99 of file itkAnisotropicSimilarity3DTransform.h.

◆ VectorType

template<class TScalarType = double>
typedef Superclass::InputVectorType itk::AnisotropicSimilarity3DTransform< TScalarType >::VectorType

Definition at line 105 of file itkAnisotropicSimilarity3DTransform.h.

◆ VersorType

template<class TScalarType = double>
typedef Superclass::VersorType itk::AnisotropicSimilarity3DTransform< TScalarType >::VersorType

Versor type.

Definition at line 102 of file itkAnisotropicSimilarity3DTransform.h.

Constructor & Destructor Documentation

◆ AnisotropicSimilarity3DTransform() [1/4]

template<class TScalarType = double>
itk::AnisotropicSimilarity3DTransform< TScalarType >::AnisotropicSimilarity3DTransform ( const Self )
delete

Explicitly deleted functions belong in the public interface

◆ AnisotropicSimilarity3DTransform() [2/4]

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

◆ AnisotropicSimilarity3DTransform() [3/4]

template<class TScalarType = double>
itk::AnisotropicSimilarity3DTransform< TScalarType >::AnisotropicSimilarity3DTransform ( unsigned int  paramDim)
protected

◆ AnisotropicSimilarity3DTransform() [4/4]

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

◆ ~AnisotropicSimilarity3DTransform()

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

Member Function Documentation

◆ ComputeJacobianWithRespectToParameters()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::ComputeJacobianWithRespectToParameters ( const InputPointType p,
JacobianType jacobian 
) const
override

This method computes the Jacobian matrix of the transformation. given point or vector, returning the transformed point or vector. The rank of the Jacobian will also indicate if the transform is invertible at this point.

◆ ComputeMatrix()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::ComputeMatrix ( )
overrideprotected

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

◆ ComputeMatrixParameters()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::ComputeMatrixParameters ( )
overrideprotected

Computes the parameters from an input matrix.

◆ GetParameters()

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

◆ itkGetConstReferenceMacro()

template<class TScalarType = double>
itk::AnisotropicSimilarity3DTransform< TScalarType >::itkGetConstReferenceMacro ( Scale  ,
VectorType   
)

◆ itkNewMacro()

template<class TScalarType = double>
itk::AnisotropicSimilarity3DTransform< TScalarType >::itkNewMacro ( Self  )

New macro for creation of through a Smart Pointer.

◆ itkStaticConstMacro() [1/4]

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

Dimension of parameters.

◆ itkStaticConstMacro() [2/4]

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

◆ itkStaticConstMacro() [3/4]

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

◆ itkStaticConstMacro() [4/4]

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

◆ itkTypeMacro()

template<class TScalarType = double>
itk::AnisotropicSimilarity3DTransform< TScalarType >::itkTypeMacro ( AnisotropicSimilarity3DTransform< TScalarType >  ,
VersorRigid3DTransform   
)

Run-time type information (and related methods).

◆ operator=()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::operator= ( const Self )
delete

◆ PrintSelf()

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

◆ SetMatrix()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::SetMatrix ( const MatrixType matrix)
override

◆ SetParameters()

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< 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() [1/2]

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

Set/Get the value of the isotropic scaling factor

◆ SetScale() [2/2]

template<class TScalarType = double>
void itk::AnisotropicSimilarity3DTransform< TScalarType >::SetScale ( VectorType  scale)

The documentation for this class was generated from the following file: