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

#include <itkAdvancedTranslationTransform.h>

Detailed Description

template<class TScalarType = double, unsigned int NDimensions = 3>
class itk::AdvancedTranslationTransform< TScalarType, NDimensions >

Translation transformation of a vector space (e.g. space coordinates)

The same functionality could be obtained by using the Affine transform, but with a large difference in performance.

Definition at line 54 of file itkAdvancedTranslationTransform.h.

Inheritance diagram for itk::AdvancedTranslationTransform< TScalarType, NDimensions >:

Public Types

using ConstPointer = SmartPointer<const Self>
 
using InputCovariantVectorType = CovariantVector<TScalarType, Self::SpaceDimension>
 
using InputPointType = Point<TScalarType, Self::SpaceDimension>
 
using InputVectorType = Vector<TScalarType, Self::SpaceDimension>
 
using InputVnlVectorType = vnl_vector_fixed<TScalarType, Self::SpaceDimension>
 
using OutputCovariantVectorType = CovariantVector<TScalarType, Self::SpaceDimension>
 
using OutputPointType = Point<TScalarType, Self::SpaceDimension>
 
using OutputVectorType = Vector<TScalarType, Self::SpaceDimension>
 
using OutputVnlVectorType = vnl_vector_fixed<TScalarType, Self::SpaceDimension>
 
using Pointer = SmartPointer<Self>
 
using Self = AdvancedTranslationTransform
 
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
 
- Public Types inherited from itk::AdvancedTransform< double, 3, 3 >
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
 
const FixedParametersType & GetFixedParameters () const override
 
void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) 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
 
NumberOfParametersType GetNumberOfParameters () const override
 
const OutputVectorTypeGetOffset () const
 
const ParametersType & GetParameters () const override
 
void GetSpatialHessian (const InputPointType &, SpatialHessianType &) const override
 
void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
bool IsLinear () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTranslationTransform)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
void SetFixedParameters (const FixedParametersType &) override
 
void SetIdentity ()
 
void SetOffset (const OutputVectorType &offset)
 
void SetParameters (const ParametersType &parameters) override
 
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 &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 
virtual bool GetHasNonZeroSpatialHessian () const
 
virtual void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const
 
virtual void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const=0
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 AdvancedTranslationTransform ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
 ~AdvancedTranslationTransform () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< double, 3, 3 >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Attributes

const JacobianOfSpatialHessianType m_JacobianOfSpatialHessian { JacobianOfSpatialHessianType(NDimensions) }
 
const JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian { JacobianOfSpatialJacobianType(NDimensions) }
 
const JacobianType m_LocalJacobian
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndices { NonZeroJacobianIndicesType(NDimensions) }
 
OutputVectorType m_Offset {}
 
const SpatialHessianType m_SpatialHessian {}
 
const SpatialJacobianType m_SpatialJacobian { SpatialJacobianType::GetIdentity() }
 

Additional Inherited Members

- Protected Attributes inherited from itk::AdvancedTransform< double, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 

Member Typedef Documentation

◆ ConstPointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::ConstPointer = SmartPointer<const Self>

Definition at line 63 of file itkAdvancedTranslationTransform.h.

◆ InputCovariantVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputCovariantVectorType = CovariantVector<TScalarType, Self::SpaceDimension>

Standard covariant vector type for this class.

Definition at line 92 of file itkAdvancedTranslationTransform.h.

◆ InputPointType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputPointType = Point<TScalarType, Self::SpaceDimension>

Standard coordinate point type for this class.

Definition at line 100 of file itkAdvancedTranslationTransform.h.

◆ InputVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputVectorType = Vector<TScalarType, Self::SpaceDimension>

Standard vector type for this class.

Definition at line 88 of file itkAdvancedTranslationTransform.h.

◆ InputVnlVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputVnlVectorType = vnl_vector_fixed<TScalarType, Self::SpaceDimension>

Standard vnl_vector type for this class.

Definition at line 96 of file itkAdvancedTranslationTransform.h.

◆ OutputCovariantVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputCovariantVectorType = CovariantVector<TScalarType, Self::SpaceDimension>

Definition at line 93 of file itkAdvancedTranslationTransform.h.

◆ OutputPointType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputPointType = Point<TScalarType, Self::SpaceDimension>

Definition at line 101 of file itkAdvancedTranslationTransform.h.

◆ OutputVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputVectorType = Vector<TScalarType, Self::SpaceDimension>

Definition at line 89 of file itkAdvancedTranslationTransform.h.

◆ OutputVnlVectorType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputVnlVectorType = vnl_vector_fixed<TScalarType, Self::SpaceDimension>

Definition at line 97 of file itkAdvancedTranslationTransform.h.

◆ Pointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::Pointer = SmartPointer<Self>

Definition at line 62 of file itkAdvancedTranslationTransform.h.

◆ Self

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::Self = AdvancedTranslationTransform

Standard class typedefs.

Definition at line 60 of file itkAdvancedTranslationTransform.h.

◆ Superclass

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::AdvancedTranslationTransform< TScalarType, NDimensions >::Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>

Definition at line 61 of file itkAdvancedTranslationTransform.h.

Constructor & Destructor Documentation

◆ AdvancedTranslationTransform()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::AdvancedTranslationTransform ( )
protected

◆ ~AdvancedTranslationTransform()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::~AdvancedTranslationTransform ( )
overrideprotected

Member Function Documentation

◆ GetClassName()

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

Run-time type information (and related methods).

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

Reimplemented in itk::GPUAdvancedTranslationTransform< TScalarType, NDimensions, TParentTransform >.

◆ GetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const FixedParametersType & itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetFixedParameters ( ) const
inlineoverride

Get the Fixed Parameters. The AdvancedTranslationTransform does not require Fixed parameters, therefore this method returns an parameters array of size zero.

Definition at line 239 of file itkAdvancedTranslationTransform.h.

◆ GetJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType & ,
JacobianType & ,
NonZeroJacobianIndicesType &  ) const
override

Compute the Jacobian of the transformation.

◆ GetJacobianOfSpatialHessian() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::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 NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType & inputPoint,
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 NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::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 NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType & ,
SpatialJacobianType & ,
JacobianOfSpatialJacobianType & ,
NonZeroJacobianIndicesType &  ) const
override

Compute the Jacobian of the spatial Jacobian of the transformation.

◆ GetNumberOfParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
NumberOfParametersType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetNumberOfParameters ( ) const
inlineoverride

Return the number of parameters that completely define the Transform

Definition at line 201 of file itkAdvancedTranslationTransform.h.

◆ GetOffset()

template<class TScalarType = double, unsigned int NDimensions = 3>
const OutputVectorType & itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetOffset ( ) const
inline

This method returns the value of the offset of the AdvancedTranslationTransform.

Definition at line 115 of file itkAdvancedTranslationTransform.h.

◆ GetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetParameters ( ) const
override

Get the Transformation Parameters.

◆ GetSpatialHessian()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetSpatialHessian ( const InputPointType & ,
SpatialHessianType &  ) const
override

Compute the spatial Hessian of the transformation.

◆ GetSpatialJacobian()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetSpatialJacobian ( const InputPointType & ,
SpatialJacobianType &  ) const
override

Compute the spatial Jacobian of the transformation.

◆ GetTransformCategory()

template<class TScalarType = double, unsigned int NDimensions = 3>
TransformCategoryEnum itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetTransformCategory ( ) const
inlineoverride

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

Definition at line 221 of file itkAdvancedTranslationTransform.h.

◆ IsLinear()

template<class TScalarType = double, unsigned int NDimensions = 3>
bool itk::AdvancedTranslationTransform< TScalarType, NDimensions >::IsLinear ( ) 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 212 of file itkAdvancedTranslationTransform.h.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::ITK_DISALLOW_COPY_AND_MOVE ( AdvancedTranslationTransform< TScalarType, NDimensions > )

◆ itkStaticConstMacro() [1/2]

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

◆ itkStaticConstMacro() [2/2]

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

Dimension of the domain space.

◆ New()

template<class TScalarType = double, unsigned int NDimensions = 3>
static Pointer itk::AdvancedTranslationTransform< TScalarType, NDimensions >::New ( )
static

New macro for creation of through the object factory.

◆ PrintSelf()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::PrintSelf ( std::ostream & os,
Indent indent ) const
overrideprotected

Print contents of an AdvancedTranslationTransform.

◆ SetFixedParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::SetFixedParameters ( const FixedParametersType & )
inlineoverride

Set the fixed parameters and update internal transformation. The Translation Transform does not require fixed parameters, therefore the implementation of this method is a null operation.

Definition at line 231 of file itkAdvancedTranslationTransform.h.

◆ SetIdentity()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::SetIdentity ( )

Set the parameters to the IdentityTransform

◆ SetOffset()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::SetOffset ( const OutputVectorType & offset)
inline

Set offset of an Translation Transform. This method sets the offset of an AdvancedTranslationTransform to a value specified by the user.

Definition at line 133 of file itkAdvancedTranslationTransform.h.

◆ SetParameters()

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType & parameters)
override

This method sets the parameters for the transform value specified by the user.

◆ TransformCovariantVector()

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputCovariantVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType & vector) const
override

◆ TransformPoint()

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputPointType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::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.

◆ TransformVector() [1/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVectorType & vector) const
override

◆ TransformVector() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVnlVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType & vector) const
override

Field Documentation

◆ m_JacobianOfSpatialHessian

template<class TScalarType = double, unsigned int NDimensions = 3>
const JacobianOfSpatialHessianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_JacobianOfSpatialHessian { JacobianOfSpatialHessianType(NDimensions) }
private

Definition at line 268 of file itkAdvancedTranslationTransform.h.

◆ m_JacobianOfSpatialJacobian

template<class TScalarType = double, unsigned int NDimensions = 3>
const JacobianOfSpatialJacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_JacobianOfSpatialJacobian { JacobianOfSpatialJacobianType(NDimensions) }
private

Definition at line 267 of file itkAdvancedTranslationTransform.h.

◆ m_LocalJacobian

template<class TScalarType = double, unsigned int NDimensions = 3>
const JacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_LocalJacobian
private
Initial value:
{
Matrix<TScalarType, NDimensions, NDimensions>::GetIdentity().GetVnlMatrix().as_matrix()
}

Definition at line 261 of file itkAdvancedTranslationTransform.h.

◆ m_NonZeroJacobianIndices

template<class TScalarType = double, unsigned int NDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_NonZeroJacobianIndices { NonZeroJacobianIndicesType(NDimensions) }
private

Definition at line 266 of file itkAdvancedTranslationTransform.h.

◆ m_Offset

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_Offset {}
private

Definition at line 258 of file itkAdvancedTranslationTransform.h.

◆ m_SpatialHessian

template<class TScalarType = double, unsigned int NDimensions = 3>
const SpatialHessianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_SpatialHessian {}
private

Definition at line 265 of file itkAdvancedTranslationTransform.h.

◆ m_SpatialJacobian

template<class TScalarType = double, unsigned int NDimensions = 3>
const SpatialJacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_SpatialJacobian { SpatialJacobianType::GetIdentity() }
private

Definition at line 264 of file itkAdvancedTranslationTransform.h.



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