go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions > Class Template Reference

#include <itkAdvancedMatrixOffsetTransformBase.h>

Detailed Description

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
class itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >

Matrix and Offset transformation of a vector space (e.g. space coordinates)

This class serves as a base class for transforms that can be expressed as a linear transformation plus a constant offset (e.g., affine, similarity and rigid transforms). This base class also provides the concept of using a center of rotation and a translation instead of an offset.

As derived instances of this class are specializations of an affine transform, any two of these transformations may be composed and the result is an affine transformation. However, the order is important. Given two affine transformations T1 and T2, we will say that "precomposing T1 with T2" yields the transformation which applies T1 to the source, and then applies T2 to that result to obtain the target. Conversely, we will say that "postcomposing T1 with T2" yields the transformation which applies T2 to the source, and then applies T1 to that result to obtain the target. (Whether T1 or T2 comes first lexicographically depends on whether you choose to write mappings from right-to-left or vice versa; we avoid the whole problem by referring to the order of application rather than the textual order.)

There are three template parameters for this class:

ScalarT The type to be used for scalar numeric values. Either float or double.

NInputDimensions The number of dimensions of the input vector space.

NOutputDimensions The number of dimensions of the output vector space.

This class provides several methods for setting the matrix and offset defining the transform. To support the registration framework, the transform parameters can also be set as an Array<double> of size (NInputDimension + 1) * NOutputDimension using method SetParameters(). The first (NOutputDimension x NInputDimension) parameters defines the matrix in row-major order (where the column index varies the fastest). The last NOutputDimension parameters defines the translation in each dimensions.

Definition at line 97 of file itkAdvancedMatrixOffsetTransformBase.h.

+ Inheritance diagram for itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >:

Public Types

typedef InputPointType CenterType
 
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Matrix< TScalarType, itkGetStaticConstMacro(InputSpaceDimension), itkGetStaticConstMacro(OutputSpaceDimension) > InverseMatrixType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Matrix< TScalarType, itkGetStaticConstMacro(OutputSpaceDimension), itkGetStaticConstMacro(InputSpaceDimension) > MatrixType
 
typedef Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef OutputVectorType 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 AdvancedMatrixOffsetTransformBase Self
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
typedef OutputVectorType TranslationType
 
- Public Types inherited from itk::AdvancedTransform< double, 3, 3 >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef SpatialJacobianType::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
 
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
 
typedef Transform< double, NInputDimensions, NOutputDimensions > Superclass
 
typedef Transform< double, NInputDimensions, NOutputDimensions > TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 

Public Member Functions

void Compose (const Self *other, bool pre=0)
 
const InputPointTypeGetCenter (void) const
 
virtual const char * GetClassName () const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
bool GetInverse (Self *inverse) const
 
const InverseMatrixTypeGetInverseMatrix (void) const
 
void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, 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 (void) const
 
const OutputVectorTypeGetOffset (void) const
 
const ParametersTypeGetParameters (void) const override
 
void GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override
 
void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
const OutputVectorTypeGetTranslation (void) const
 
bool IsLinear (void) 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
 
virtual void SetIdentity (void)
 
virtual void SetMatrix (const MatrixType &matrix)
 
void SetOffset (const OutputVectorType &offset)
 
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, 3, 3 >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual const char * GetClassName () const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &ipp, JacobianType &j, 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
 
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 NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 AdvancedMatrixOffsetTransformBase ()
 
 AdvancedMatrixOffsetTransformBase (const MatrixType &matrix, const OutputVectorType &offset)
 
 AdvancedMatrixOffsetTransformBase (unsigned int paramDims)
 
virtual void ComputeMatrix (void)
 
virtual void ComputeMatrixParameters (void)
 
virtual void ComputeOffset (void)
 
virtual void ComputeTranslation (void)
 
const InverseMatrixTypeGetVarInverseMatrix (void) const
 
bool InverseMatrixIsOld (void) const
 
virtual void PrecomputeJacobians (unsigned int paramDims)
 
void PrintSelf (std::ostream &s, Indent indent) const override
 
void SetVarCenter (const InputPointType &center)
 
void SetVarInverseMatrix (const InverseMatrixType &matrix) const
 
void SetVarMatrix (const MatrixType &matrix)
 
void SetVarOffset (const OutputVectorType &offset)
 
void SetVarTranslation (const OutputVectorType &translation)
 
 ~AdvancedMatrixOffsetTransformBase () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< double, 3, 3 >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 

Protected Attributes

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

Private Member Functions

 AdvancedMatrixOffsetTransformBase (const Self &other)
 
const Selfoperator= (const Self &)
 

Private Attributes

InputPointType m_Center
 
InverseMatrixType m_InverseMatrix
 
TimeStamp m_InverseMatrixMTime
 
MatrixType m_Matrix
 
TimeStamp m_MatrixMTime
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndicesTemp
 
OutputVectorType m_Offset
 
bool m_Singular
 
OutputVectorType m_Translation
 

Member Typedef Documentation

◆ CenterType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef InputPointType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::CenterType

Typedefs.

Definition at line 161 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ ConstPointer

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef SmartPointer< const Self > itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ConstPointer

Definition at line 107 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ FixedParametersType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::FixedParametersType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::FixedParametersType

Definition at line 124 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InputCovariantVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InputCovariantVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InputCovariantVectorType

Definition at line 131 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InputPointType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InputPointType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InputPointType

Definition at line 136 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InputVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InputVectorType

Definition at line 128 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InputVnlVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InputVnlVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InputVnlVectorType

Definition at line 134 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InternalMatrixType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::InternalMatrixType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InternalMatrixType

Definition at line 148 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InverseMatrixType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Matrix< TScalarType, itkGetStaticConstMacro( InputSpaceDimension ), itkGetStaticConstMacro( OutputSpaceDimension ) > itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InverseMatrixType

Standard inverse matrix type for this class.

Definition at line 158 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ JacobianOfSpatialHessianType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::JacobianOfSpatialHessianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialHessianType

Definition at line 147 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ JacobianOfSpatialJacobianType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::JacobianOfSpatialJacobianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::JacobianOfSpatialJacobianType

Definition at line 144 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ JacobianType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::JacobianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::JacobianType

Definition at line 127 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ MatrixType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Matrix< TScalarType, itkGetStaticConstMacro( OutputSpaceDimension ), itkGetStaticConstMacro( InputSpaceDimension ) > itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::MatrixType

Standard matrix type for this class.

Definition at line 153 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ NonZeroJacobianIndicesType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::NonZeroJacobianIndicesType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::NonZeroJacobianIndicesType

Definition at line 141 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ NumberOfParametersType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::NumberOfParametersType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::NumberOfParametersType

Definition at line 126 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ OffsetType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OffsetType

Definition at line 162 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ OutputCovariantVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::OutputCovariantVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OutputCovariantVectorType

Definition at line 133 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ OutputPointType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::OutputPointType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OutputPointType

Definition at line 137 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ OutputVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OutputVectorType

Definition at line 129 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ OutputVnlVectorType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::OutputVnlVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::OutputVnlVectorType

Definition at line 135 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ ParametersType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::ParametersType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ParametersType

Definition at line 123 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ Pointer

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef SmartPointer< Self > itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Pointer

Definition at line 106 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ ScalarType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::ScalarType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ScalarType

Typedefs from the Superclass.

Definition at line 122 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ Self

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef AdvancedMatrixOffsetTransformBase itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Self

Standard typedefs

Definition at line 103 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SpatialHessianType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::SpatialHessianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SpatialHessianType

Definition at line 145 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SpatialJacobianType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::SpatialJacobianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SpatialJacobianType

Definition at line 142 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ Superclass

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions > itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Superclass

Definition at line 105 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ TransformCategoryEnum

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef Superclass::TransformCategoryEnum itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TransformCategoryEnum

Definition at line 138 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ TranslationType

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
typedef OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TranslationType

Definition at line 163 of file itkAdvancedMatrixOffsetTransformBase.h.

Constructor & Destructor Documentation

◆ AdvancedMatrixOffsetTransformBase() [1/4]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::AdvancedMatrixOffsetTransformBase ( const MatrixType matrix,
const OutputVectorType offset 
)
protected

Construct an AdvancedMatrixOffsetTransformBase object

This method constructs a new AdvancedMatrixOffsetTransformBase object and initializes the matrix and offset parts of the transformation to values specified by the caller. If the arguments are omitted, then the AdvancedMatrixOffsetTransformBase is initialized to an identity transformation in the appropriate number of dimensions.

◆ AdvancedMatrixOffsetTransformBase() [2/4]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::AdvancedMatrixOffsetTransformBase ( unsigned int  paramDims)
protected

◆ AdvancedMatrixOffsetTransformBase() [3/4]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::AdvancedMatrixOffsetTransformBase ( )
protected

◆ ~AdvancedMatrixOffsetTransformBase()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::~AdvancedMatrixOffsetTransformBase ( )
inlineoverrideprotected

Destroy an AdvancedMatrixOffsetTransformBase object.

Definition at line 459 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ AdvancedMatrixOffsetTransformBase() [4/4]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::AdvancedMatrixOffsetTransformBase ( const Self other)
private

Member Function Documentation

◆ Compose()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::Compose ( const Self other,
bool  pre = 0 
)

Compose with another AdvancedMatrixOffsetTransformBase

This method composes self with another AdvancedMatrixOffsetTransformBase of the same dimension, modifying self to be the composition of self and other. If the argument pre is true, then other is precomposed with self; that is, the resulting transformation consists of first applying other to the source, followed by self. If pre is false or omitted, then other is post-composed with self; that is the resulting transformation consists of first applying self to the source, followed by other. This updates the Translation based on current center.

◆ ComputeMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ComputeMatrix ( void  )
protectedvirtual

◆ ComputeMatrixParameters()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ComputeMatrixParameters ( void  )
protectedvirtual

◆ ComputeOffset()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ComputeOffset ( void  )
protectedvirtual

◆ ComputeTranslation()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::ComputeTranslation ( void  )
protectedvirtual

◆ GetCenter()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const InputPointType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetCenter ( void  ) const
inline

Get center of rotation of the AdvancedMatrixOffsetTransformBase

This method returns the point used as the fixed center of rotation for the AdvancedMatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 272 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ GetClassName()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual const char * itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetClassName ( ) const
virtual

◆ GetFixedParameters()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const FixedParametersType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetFixedParameters ( void  ) const
override

Get the Fixed Parameters.

◆ GetInverse()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
bool itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetInverse ( Self inverse) const

Create inverse of an affine transformation

This populates the parameters an affine transform such that the transform is the inverse of self. If self is not invertible, an exception is thrown. Note that by default the inverese transform is centered at the origin. If you need to compute the inverse centered at a point, p,

transform2->SetCenter( p );
transform1->GetInverse( transform2 );

transform2 will now contain the inverse of transform1 and will with its center set to p. Flipping the two statements will produce an incorrect transform.

◆ GetInverseMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const InverseMatrixType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetInverseMatrix ( void  ) const
Deprecated:
Use GetInverse instead.

Method will eventually be made a protected member function.

◆ GetJacobian()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobian ( const InputPointType ,
JacobianType ,
NonZeroJacobianIndicesType  
) const
override

◆ GetJacobianOfSpatialHessian() [1/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ,
JacobianOfSpatialHessianType ,
NonZeroJacobianIndicesType  
) const
override

Compute the Jacobian of the spatial Hessian of the transformation.

◆ GetJacobianOfSpatialHessian() [2/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const
override

Compute both the spatial Hessian and the Jacobian of the spatial Hessian of the transformation.

◆ GetJacobianOfSpatialJacobian() [1/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
JacobianOfSpatialJacobianType ,
NonZeroJacobianIndicesType  
) const
override

Compute the Jacobian of the spatial Jacobian of the transformation.

◆ GetJacobianOfSpatialJacobian() [2/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
SpatialJacobianType ,
JacobianOfSpatialJacobianType ,
NonZeroJacobianIndicesType  
) const
override

Compute the Jacobian of the spatial Jacobian of the transformation.

◆ GetMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const MatrixType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetMatrix ( void  ) const
inline

Get matrix of an AdvancedMatrixOffsetTransformBase

This method returns the value of the matrix of the AdvancedMatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 199 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ GetOffset()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const OutputVectorType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetOffset ( void  ) const
inline

Get offset of an AdvancedMatrixOffsetTransformBase

This method returns the offset value of the AdvancedMatrixOffsetTransformBase. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 228 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ GetParameters()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const ParametersType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetParameters ( void  ) const
override

Get the Transformation Parameters.

◆ GetSpatialHessian()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetSpatialHessian ( const InputPointType ,
SpatialHessianType  
) const
overridevirtual

Compute the spatial Hessian of the transformation.

Implements itk::AdvancedTransform< double, 3, 3 >.

◆ GetSpatialJacobian()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetSpatialJacobian ( const InputPointType ,
SpatialJacobianType  
) const
overridevirtual

Compute the spatial Jacobian of the transformation.

Implements itk::AdvancedTransform< double, 3, 3 >.

◆ GetTransformCategory()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
TransformCategoryEnum itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetTransformCategory ( ) const
inlineoverride

Indicates the category transform. e.g. an affine transform, or a local one, e.g. a deformation field.

Definition at line 391 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ GetTranslation()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const OutputVectorType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetTranslation ( void  ) const
inline

Get translation component of the AdvancedMatrixOffsetTransformBase

This method returns the translation used after rotation about the center point. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 300 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ GetVarInverseMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const InverseMatrixType & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::GetVarInverseMatrix ( void  ) const
inlineprotected

Definition at line 464 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ InverseMatrixIsOld()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
bool itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::InverseMatrixIsOld ( void  ) const
inlineprotected

Definition at line 477 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ IsLinear()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
bool itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::IsLinear ( void  ) const
inlineoverride

Indicates that this transform is linear. That is, given two points P and Q, and scalar coefficients a and b, then

      T( a*P + b*Q ) = a * T(P) + b * T(Q)

Definition at line 382 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ itkStaticConstMacro() [1/3]

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

Dimension of the domain space.

◆ itkStaticConstMacro() [2/3]

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

◆ itkStaticConstMacro() [3/3]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::itkStaticConstMacro ( ParametersDimension  ,
unsigned int  ,
NOutputDimensions *  NInputDimensions+1 
)

◆ New()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
static Pointer itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::New ( )
static

New macro for creation of through a Smart Pointer.

◆ operator=()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
const Self & itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::operator= ( const Self )
private

◆ PrecomputeJacobians()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::PrecomputeJacobians ( unsigned int  paramDims)
protectedvirtual

Called by constructors:

◆ PrintSelf()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::PrintSelf ( std::ostream &  s,
Indent  indent 
) const
overrideprotected

Print contents of an AdvancedMatrixOffsetTransformBase.

◆ SetCenter()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetCenter ( const InputPointType center)
inline

Set center of rotation of an AdvancedMatrixOffsetTransformBase

This method sets the center of rotation of an AdvancedMatrixOffsetTransformBase to a fixed point - for most transforms derived from this class, this point is not a "parameter" of the transform - the exception is that "centered" transforms have center as a parameter during optimization.

This method updates offset wrt to current translation and matrix. That is, changing the center changes the transform!

WARNING: When using the Center, we strongly recommend only changing the matrix and translation to define a transform. Changing a transform's center, changes the mapping between spaces - specifically, translation is not changed with respect to that new center, and so the offset is updated to * maintain the consistency with translation. If a center is not used, or is set before the matrix and the offset, then it is safe to change the offset directly. As a rule of thumb, if you wish to set the center explicitly, set before Offset computations are done.

To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 257 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetFixedParameters()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetFixedParameters ( const FixedParametersType )
override

Set the fixed parameters and update internal transformation.

◆ SetIdentity()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetIdentity ( void  )
virtual

◆ SetMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
virtual void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetMatrix ( const MatrixType matrix)
inlinevirtual

Set matrix of an AdvancedMatrixOffsetTransformBase

This method sets the matrix of an AdvancedMatrixOffsetTransformBase to a value specified by the user.

This updates the Offset wrt to current translation and center. See the warning regarding offset-versus-translation in the documentation for SetCenter.

To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Reimplemented in itk::AdvancedRigid2DTransform< double >, itk::AdvancedRigid2DTransform< float >, itk::AdvancedRigid3DTransform< double >, itk::AdvancedRigid3DTransform< float >, itk::AdvancedSimilarity2DTransform< float >, and itk::AdvancedSimilarity3DTransform< float >.

Definition at line 182 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetOffset()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetOffset ( const OutputVectorType offset)
inline

Set offset (origin) of an MatrixOffset TransformBase.

This method sets the offset of an AdvancedMatrixOffsetTransformBase to a value specified by the user. This updates Translation wrt current center. See the warning regarding offset-versus-translation in the documentation for SetCenter. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 214 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetParameters()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetParameters ( const ParametersType parameters)
override

Set the transformation from a container of parameters. The first (NOutputDimension x NInputDimension) parameters define the matrix and the last NOutputDimension parameters the translation. Offset is updated based on current center.

◆ SetTranslation()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetTranslation ( const OutputVectorType translation)
inline

Set translation of an AdvancedMatrixOffsetTransformBase

This method sets the translation of an AdvancedMatrixOffsetTransformBase. This updates Offset to reflect current translation. To define an affine transform, you must set the matrix, center, and translation OR the matrix and offset.

Definition at line 285 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetVarCenter()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetVarCenter ( const InputPointType center)
inlineprotected

Definition at line 517 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetVarInverseMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetVarInverseMatrix ( const InverseMatrixType matrix) const
inlineprotected

Definition at line 470 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetVarMatrix()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetVarMatrix ( const MatrixType matrix)
inlineprotected

Definition at line 494 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetVarOffset()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetVarOffset ( const OutputVectorType offset)
inlineprotected

Definition at line 511 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ SetVarTranslation()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
void itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::SetVarTranslation ( const OutputVectorType translation)
inlineprotected

Definition at line 503 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ TransformCovariantVector()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputCovariantVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TransformCovariantVector ( const InputCovariantVectorType vector) const
override

◆ TransformPoint()

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputPointType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TransformPoint ( const InputPointType point) const
override

Transform by an affine transformation

This method applies the affine transform given by self to a given point or vector, returning the transformed point or vector. The TransformPoint method transforms its argument as an affine point, whereas the TransformVector method transforms its argument as a vector.

◆ TransformVector() [1/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector ( const InputVectorType vector) const
override

◆ TransformVector() [2/2]

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVnlVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::TransformVector ( const InputVnlVectorType vector) const
override

Field Documentation

◆ m_Center

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
InputPointType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Center
private

Definition at line 542 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_InverseMatrix

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
InverseMatrixType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_InverseMatrix
mutableprivate

Definition at line 539 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_InverseMatrixMTime

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
TimeStamp itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_InverseMatrixMTime
mutableprivate

Definition at line 547 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_JacobianOfSpatialHessian

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
JacobianOfSpatialHessianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_JacobianOfSpatialHessian
protected

Definition at line 529 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_JacobianOfSpatialJacobian

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
JacobianOfSpatialJacobianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_JacobianOfSpatialJacobian
protected

Definition at line 528 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_Matrix

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
MatrixType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Matrix
private

Member variables.

Definition at line 537 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_MatrixMTime

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
TimeStamp itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_MatrixMTime
private

To avoid recomputation of the inverse if not needed.

Definition at line 546 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_NonZeroJacobianIndices

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_NonZeroJacobianIndices
protected

(spatial) Jacobians and Hessians can mostly be precomputed by this transform. Store them in these member variables. SpatialJacobian is simply m_Matrix

Definition at line 526 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_NonZeroJacobianIndicesTemp

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_NonZeroJacobianIndicesTemp
mutableprivate

Used by the GetJacobian() function which returns the Jacobian as an output variable.

Definition at line 551 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_Offset

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Offset
private

Definition at line 538 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_Singular

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
bool itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Singular
mutableprivate

Definition at line 540 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_SpatialHessian

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
SpatialHessianType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_SpatialHessian
protected

Definition at line 527 of file itkAdvancedMatrixOffsetTransformBase.h.

◆ m_Translation

template<class TScalarType = double, unsigned int NInputDimensions = 3, unsigned int NOutputDimensions = 3>
OutputVectorType itk::AdvancedMatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::m_Translation
private

Definition at line 543 of file itkAdvancedMatrixOffsetTransformBase.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo