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 | Private Attributes
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 >:
Inheritance graph
[legend]

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< TScalarType, NInputDimensions, NOutputDimensions >
using ConstPointer = SmartPointer< const Self >
 
using InternalMatrixType = typename SpatialJacobianType::InternalMatrixType
 
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using JacobianOfSpatialHessianType = std::vector< SpatialHessianType >
 
using JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType >
 
using MovingImageGradientType = OutputCovariantVectorType
 
using MovingImageGradientValueType = typename MovingImageGradientType::ValueType
 
using NonZeroJacobianIndicesType = std::vector< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using Self = AdvancedTransform
 
using SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension >
 
using SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension >
 
using Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions >
 
using TransformTypeConstPointer = typename TransformType::ConstPointer
 
using TransformTypePointer = typename TransformType::Pointer
 

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< TScalarType, NInputDimensions, NOutputDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, 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 &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< TScalarType, NInputDimensions, NOutputDimensions >
 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< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 

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

◆ 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 264 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 263 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 257 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 262 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 254 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 261 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 260 of file itkAdvancedTranslationTransform.h.



Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo