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 Member Functions | Private Attributes
itk::AdvancedTranslationTransform< TScalarType, NDimensions > Class Template Reference

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

#include <itkAdvancedTranslationTransform.h>

Inheritance diagram for itk::AdvancedTranslationTransform< TScalarType, NDimensions >:
Inheritance graph
[legend]
Collaboration diagram for itk::AdvancedTranslationTransform< TScalarType, NDimensions >:
Collaboration graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputCovariantVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputPointType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
InputVnlVectorType
typedef
Superclass::InternalMatrixType 
InternalMatrixType
typedef
Superclass::JacobianOfSpatialHessianType 
JacobianOfSpatialHessianType
typedef
Superclass::JacobianOfSpatialJacobianType 
JacobianOfSpatialJacobianType
typedef Superclass::JacobianType JacobianType
typedef
Superclass::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
typedef CovariantVector
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputCovariantVectorType
typedef Point< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputPointType
typedef Vector< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVectorType
typedef vnl_vector_fixed
< TScalarType,
itkGetStaticConstMacro(SpaceDimension)> 
OutputVnlVectorType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalarType ScalarType
typedef
AdvancedTranslationTransform 
Self
typedef
Superclass::SpatialHessianType 
SpatialHessianType
typedef
Superclass::SpatialJacobianType 
SpatialJacobianType
typedef AdvancedTransform
< TScalarType, NDimensions,
NDimensions > 
Superclass

Public Member Functions

InputPointType BackTransform (const OutputPointType &point) const
InputVnlVectorType BackTransform (const OutputVnlVectorType &vector) const
InputCovariantVectorType BackTransform (const OutputCovariantVectorType &vector) const
InputVectorType BackTransform (const OutputVectorType &vector) const
void Compose (const Self *other, bool pre=0)
virtual const char * GetClassName () const
virtual const ParametersTypeGetFixedParameters (void) const
bool GetInverse (Self *inverse) const
virtual const JacobianTypeGetJacobian (const InputPointType &point) const
virtual void GetJacobian (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
virtual void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
virtual unsigned int GetNumberOfParameters (void) const
const OutputVectorTypeGetOffset (void) const
virtual const ParametersTypeGetParameters (void) const
virtual void GetSpatialHessian (const InputPointType &, SpatialHessianType &) const
virtual void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &) const
virtual bool IsLinear () const
 itkStaticConstMacro (ParametersDimension, unsigned int, NDimensions)
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
virtual void SetFixedParameters (const ParametersType &)
void SetIdentity (void)
void SetOffset (const OutputVectorType &offset)
void SetParameters (const ParametersType &parameters)
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &vector) const
OutputPointType TransformPoint (const InputPointType &point) const
OutputVnlVectorType TransformVector (const InputVnlVectorType &vector) const
OutputVectorType TransformVector (const InputVectorType &vector) const
void Translate (const OutputVectorType &offset, bool pre=0)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 AdvancedTranslationTransform ()
void PrintSelf (std::ostream &os, Indent indent) const
 ~AdvancedTranslationTransform ()

Private Member Functions

 AdvancedTranslationTransform (const Self &)
void operator= (const Self &)

Private Attributes

JacobianOfSpatialHessianType m_JacobianOfSpatialHessian
JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian
NonZeroJacobianIndicesType m_NonZeroJacobianIndices
OutputVectorType m_Offset
SpatialHessianType m_SpatialHessian
SpatialJacobianType m_SpatialJacobian

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 tranform, but with a large difference in performace.

Definition at line 42 of file itkAdvancedTranslationTransform.h.


Member Typedef Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef SmartPointer<const Self> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::ConstPointer
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputCovariantVectorType

Standard covariant vector type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 76 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputPointType

Standard coordinate point type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 84 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputVectorType

Standard vector type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 72 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InputVnlVectorType

Standard vnl_vector type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 80 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::InternalMatrixType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::InternalMatrixType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass ::JacobianOfSpatialHessianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::JacobianOfSpatialHessianType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass ::JacobianOfSpatialJacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::JacobianOfSpatialJacobianType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::JacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::JacobianType

Standard Jacobian container.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 69 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass ::NonZeroJacobianIndicesType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::NonZeroJacobianIndicesType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef CovariantVector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputCovariantVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Point<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputPointType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Vector<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef vnl_vector_fixed<TScalarType, itkGetStaticConstMacro(SpaceDimension)> itk::AdvancedTranslationTransform< TScalarType, NDimensions >::OutputVnlVectorType
template<class TScalarType = double, unsigned int NDimensions = 3>
typedef Superclass::ParametersType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::ParametersType

Standard parameters container.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 66 of file itkAdvancedTranslationTransform.h.

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

Standard scalar type for this class.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 63 of file itkAdvancedTranslationTransform.h.

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

Standard class typedefs.

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

Definition at line 47 of file itkAdvancedTranslationTransform.h.

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

Constructor & Destructor Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::AdvancedTranslationTransform ( ) [protected]
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::~AdvancedTranslationTransform ( ) [protected]
template<class TScalarType = double, unsigned int NDimensions = 3>
itk::AdvancedTranslationTransform< TScalarType, NDimensions >::AdvancedTranslationTransform ( const Self ) [private]

Member Function Documentation

template<class TScalarType , unsigned int NDimensions>
AdvancedTranslationTransform< TScalarType, NDimensions >::InputPointType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputPointType point) const [inline]

This method finds the point or vector that maps to a given point or vector under the affine transformation defined by self. If no such point exists, an exception is thrown.

Definition at line 253 of file itkAdvancedTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
AdvancedTranslationTransform< TScalarType, NDimensions >::InputVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputVectorType vector) const [inline]

Definition at line 265 of file itkAdvancedTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
AdvancedTranslationTransform< TScalarType, NDimensions >::InputVnlVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputVnlVectorType vector) const [inline]

Definition at line 278 of file itkAdvancedTranslationTransform.h.

template<class TScalarType , unsigned int NDimensions>
AdvancedTranslationTransform< TScalarType, NDimensions >::InputCovariantVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::BackTransform ( const OutputCovariantVectorType vector) const [inline]

Definition at line 289 of file itkAdvancedTranslationTransform.h.

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

Compose with another AdvancedTranslationTransform.

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< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const ParametersType& itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetFixedParameters ( void  ) const [inline, virtual]

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

Definition at line 221 of file itkAdvancedTranslationTransform.h.

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

Find inverse of an affine transformation. This method creates and returns a new AdvancedTranslationTransform object which is the inverse of self. If self is not invertible, false is returned.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual const JacobianType& itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType point) const [virtual]

Compute the Jacobian Matrix of the transformation at one point

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

Compute the Jacobian of the transformation.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ,
JacobianOfSpatialHessianType ,
NonZeroJacobianIndicesType  
) const [virtual]

Compute the Jacobian of the spatial Hessian of the transformation.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType ipp,
SpatialHessianType sh,
JacobianOfSpatialHessianType jsh,
NonZeroJacobianIndicesType nonZeroJacobianIndices 
) const [virtual]

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

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
SpatialJacobianType ,
JacobianOfSpatialJacobianType ,
NonZeroJacobianIndicesType  
) const [virtual]

Compute the Jacobian of the spatial Jacobian of the transformation.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType ,
JacobianOfSpatialJacobianType ,
NonZeroJacobianIndicesType  
) const [virtual]

Compute the Jacobian of the spatial Jacobian of the transformation.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual unsigned int itk::AdvancedTranslationTransform< TScalarType, NDimensions >::GetNumberOfParameters ( void  ) const [inline, virtual]

Return the number of parameters that completely define the Transfom

Definition at line 202 of file itkAdvancedTranslationTransform.h.

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

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

Definition at line 101 of file itkAdvancedTranslationTransform.h.

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

Get the Transformation Parameters.

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

Compute the spatial Hessian of the transformation.

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

Compute the spatial Jacobian of the transformation.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual bool itk::AdvancedTranslationTransform< TScalarType, NDimensions >::IsLinear ( void  ) const [inline, virtual]

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 210 of file itkAdvancedTranslationTransform.h.

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

Dimension of the domain space.

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

Reimplemented from itk::AdvancedTransform< TScalarType, NDimensions, NDimensions >.

template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::operator= ( const Self ) [private]
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected]

Print contents of an AdvancedTranslationTransform.

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::SetFixedParameters ( const ParametersType ) [inline, virtual]

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 215 of file itkAdvancedTranslationTransform.h.

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

Set the parameters to the IdentityTransform

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 114 of file itkAdvancedTranslationTransform.h.

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

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

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputCovariantVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformCovariantVector ( const InputCovariantVectorType vector) const
template<class TScalarType = double, unsigned int NDimensions = 3>
OutputPointType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType point) const

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.

template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVectorType vector) const
template<class TScalarType = double, unsigned int NDimensions = 3>
OutputVnlVectorType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::TransformVector ( const InputVnlVectorType vector) const
template<class TScalarType = double, unsigned int NDimensions = 3>
void itk::AdvancedTranslationTransform< TScalarType, NDimensions >::Translate ( const OutputVectorType offset,
bool  pre = 0 
)

Compose affine transformation with a translation. This method modifies self to include a translation of the origin. The translation is precomposed with self if pre is true, and postcomposed otherwise.


Field Documentation

template<class TScalarType = double, unsigned int NDimensions = 3>
JacobianOfSpatialHessianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_JacobianOfSpatialHessian [private]

Definition at line 243 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
JacobianOfSpatialJacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_JacobianOfSpatialJacobian [private]

Definition at line 242 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_NonZeroJacobianIndices [private]

Definition at line 241 of file itkAdvancedTranslationTransform.h.

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

Definition at line 237 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialHessianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_SpatialHessian [private]

Definition at line 240 of file itkAdvancedTranslationTransform.h.

template<class TScalarType = double, unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedTranslationTransform< TScalarType, NDimensions >::m_SpatialJacobian [private]

Definition at line 239 of file itkAdvancedTranslationTransform.h.



Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo