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

#include <itkAdvancedIdentityTransform.h>

Detailed Description

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

Implementation of an Identity Transform.

This class defines the generic interface for an Identity Transform.

It will map every point to itself, every vector to itself and every covariant vector to itself.

This class is intended to be used primarily as a default Transform for initializing those classes supporting a generic Transform.

This class is templated over the Representation type for coordinates (that is the type used for representing the components of points and vectors) and over the dimension of the space. In this case the Input and Output spaces are the same so only one dimension is required.

Definition at line 72 of file itkAdvancedIdentityTransform.h.

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

Public Types

using ConstPointer = SmartPointer<const Self>
 
using InputCovariantVectorType = CovariantVector<TScalarType, Self::InputSpaceDimension>
 
using InputPointType = Point<TScalarType, Self::InputSpaceDimension>
 
using InputVectorType = Vector<TScalarType, Self::InputSpaceDimension>
 
using InputVnlVectorType = vnl_vector_fixed<TScalarType, Self::InputSpaceDimension>
 
using InverseTransformBasePointer = typename InverseTransformBaseType::Pointer
 
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using OutputCovariantVectorType = CovariantVector<TScalarType, Self::OutputSpaceDimension>
 
using OutputPointType = Point<TScalarType, Self::OutputSpaceDimension>
 
using OutputVectorType = Vector<TScalarType, Self::OutputSpaceDimension>
 
using OutputVnlVectorType = vnl_vector_fixed<TScalarType, Self::OutputSpaceDimension>
 
using Pointer = SmartPointer<Self>
 
using ScalarType = TScalarType
 
using Self = AdvancedIdentityTransform
 
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
 
- Public Types inherited from itk::AdvancedTransform< TScalarType, 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 ParametersType & GetFixedParameters () const override
 
InverseTransformBasePointer GetInverseTransform () const override
 
void GetJacobian (const InputPointType &, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
const ParametersType & GetParameters () const override
 
void GetSpatialHessian (const InputPointType &, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &, SpatialJacobianType &sj) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
bool IsLinear () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedIdentityTransform)
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (ParametersDimension, unsigned int, 1)
 
void SetFixedParameters (const ParametersType &) override
 
void SetIdentity ()
 
void SetParameters (const ParametersType &) 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, 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

 AdvancedIdentityTransform ()
 
 ~AdvancedIdentityTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Attributes

JacobianOfSpatialHessianType m_JacobianOfSpatialHessian {}
 
JacobianOfSpatialJacobianType m_JacobianOfSpatialJacobian {}
 
JacobianType m_LocalJacobian {}
 
NonZeroJacobianIndicesType m_NonZeroJacobianIndices {}
 
SpatialHessianType m_SpatialHessian {}
 
SpatialJacobianType m_SpatialJacobian {}
 

Additional Inherited Members

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

Member Typedef Documentation

◆ ConstPointer

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

Definition at line 81 of file itkAdvancedIdentityTransform.h.

◆ InputCovariantVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputCovariantVectorType = CovariantVector<TScalarType, Self::InputSpaceDimension>

Standard covariant vector type for this class

Definition at line 110 of file itkAdvancedIdentityTransform.h.

◆ InputPointType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputPointType = Point<TScalarType, Self::InputSpaceDimension>

Standard coordinate point type for this class

Definition at line 118 of file itkAdvancedIdentityTransform.h.

◆ InputVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputVectorType = Vector<TScalarType, Self::InputSpaceDimension>

Standard vector type for this class.

Definition at line 106 of file itkAdvancedIdentityTransform.h.

◆ InputVnlVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InputVnlVectorType = vnl_vector_fixed<TScalarType, Self::InputSpaceDimension>

Standard vnl_vector type for this class.

Definition at line 114 of file itkAdvancedIdentityTransform.h.

◆ InverseTransformBasePointer

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InverseTransformBasePointer = typename InverseTransformBaseType::Pointer

Definition at line 124 of file itkAdvancedIdentityTransform.h.

◆ InverseTransformBaseType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::InverseTransformBaseType = typename Superclass::InverseTransformBaseType

Base inverse transform type. This type should not be changed to the concrete inverse transform type or inheritance would be lost.

Definition at line 123 of file itkAdvancedIdentityTransform.h.

◆ OutputCovariantVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputCovariantVectorType = CovariantVector<TScalarType, Self::OutputSpaceDimension>

Definition at line 111 of file itkAdvancedIdentityTransform.h.

◆ OutputPointType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputPointType = Point<TScalarType, Self::OutputSpaceDimension>

Definition at line 119 of file itkAdvancedIdentityTransform.h.

◆ OutputVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputVectorType = Vector<TScalarType, Self::OutputSpaceDimension>

Definition at line 107 of file itkAdvancedIdentityTransform.h.

◆ OutputVnlVectorType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::OutputVnlVectorType = vnl_vector_fixed<TScalarType, Self::OutputSpaceDimension>

Definition at line 115 of file itkAdvancedIdentityTransform.h.

◆ Pointer

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

Definition at line 80 of file itkAdvancedIdentityTransform.h.

◆ ScalarType

template<class TScalarType , unsigned int NDimensions = 3>
using itk::AdvancedIdentityTransform< TScalarType, NDimensions >::ScalarType = TScalarType

Type of the input parameters.

Definition at line 95 of file itkAdvancedIdentityTransform.h.

◆ Self

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

Standard class typedefs.

Definition at line 78 of file itkAdvancedIdentityTransform.h.

◆ Superclass

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

Definition at line 79 of file itkAdvancedIdentityTransform.h.

Constructor & Destructor Documentation

◆ AdvancedIdentityTransform()

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::AdvancedIdentityTransform ( )
inlineprotected

Definition at line 303 of file itkAdvancedIdentityTransform.h.

◆ ~AdvancedIdentityTransform()

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::~AdvancedIdentityTransform ( )
overrideprotecteddefault

Member Function Documentation

◆ GetClassName()

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

Run-time type information (and related methods).

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

◆ GetFixedParameters()

template<class TScalarType , unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetFixedParameters ( ) const
inlineoverride

Get the Fixed Parameters.

Definition at line 201 of file itkAdvancedIdentityTransform.h.

◆ GetInverseTransform()

template<class TScalarType , unsigned int NDimensions = 3>
InverseTransformBasePointer itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetInverseTransform ( ) const
inlineoverride

Return an inverse of the identity transform - another identity transform.

Definition at line 172 of file itkAdvancedIdentityTransform.h.

◆ GetJacobian()

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobian ( const InputPointType & ,
JacobianType & j,
NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
inlineoverride

Compute the Jacobian of the transformation.

Definition at line 227 of file itkAdvancedIdentityTransform.h.

◆ GetJacobianOfSpatialHessian() [1/2]

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType & ,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
inlineoverride

Compute the Jacobian of the spatial Hessian of the transformation.

Definition at line 278 of file itkAdvancedIdentityTransform.h.

◆ GetJacobianOfSpatialHessian() [2/2]

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialHessian ( const InputPointType & ,
SpatialHessianType & sh,
JacobianOfSpatialHessianType & jsh,
NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
inlineoverride

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

Definition at line 291 of file itkAdvancedIdentityTransform.h.

◆ GetJacobianOfSpatialJacobian() [1/2]

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType & ,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
inlineoverride

Compute the Jacobian of the spatial Jacobian of the transformation.

Definition at line 254 of file itkAdvancedIdentityTransform.h.

◆ GetJacobianOfSpatialJacobian() [2/2]

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetJacobianOfSpatialJacobian ( const InputPointType & ,
SpatialJacobianType & sj,
JacobianOfSpatialJacobianType & jsj,
NonZeroJacobianIndicesType & nonZeroJacobianIndices ) const
inlineoverride

Compute the Jacobian of the spatial Jacobian of the transformation.

Definition at line 265 of file itkAdvancedIdentityTransform.h.

◆ GetParameters()

template<class TScalarType , unsigned int NDimensions = 3>
const ParametersType & itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetParameters ( ) const
inlineoverride

Get the Parameters.

Definition at line 214 of file itkAdvancedIdentityTransform.h.

◆ GetSpatialHessian()

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetSpatialHessian ( const InputPointType & ,
SpatialHessianType & sh ) const
inlineoverride

Compute the spatial Hessian of the transformation.

Definition at line 246 of file itkAdvancedIdentityTransform.h.

◆ GetSpatialJacobian()

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::GetSpatialJacobian ( const InputPointType & ,
SpatialJacobianType & sj ) const
inlineoverride

Compute the spatial Jacobian of the transformation.

Definition at line 238 of file itkAdvancedIdentityTransform.h.

◆ GetTransformCategory()

template<class TScalarType , unsigned int NDimensions = 3>
TransformCategoryEnum itk::AdvancedIdentityTransform< 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 193 of file itkAdvancedIdentityTransform.h.

◆ IsLinear()

template<class TScalarType , unsigned int NDimensions = 3>
bool itk::AdvancedIdentityTransform< 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 184 of file itkAdvancedIdentityTransform.h.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkStaticConstMacro() [1/3]

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::itkStaticConstMacro ( InputSpaceDimension ,
unsigned int ,
NDimensions  )

Dimension of the domain space.

◆ itkStaticConstMacro() [2/3]

template<class TScalarType , unsigned int NDimensions = 3>
itk::AdvancedIdentityTransform< TScalarType, NDimensions >::itkStaticConstMacro ( OutputSpaceDimension ,
unsigned int ,
NDimensions  )

◆ itkStaticConstMacro() [3/3]

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

◆ New()

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

New method for creating an object using a factory.

◆ SetFixedParameters()

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

Set the fixed parameters and update internal transformation.

Definition at line 209 of file itkAdvancedIdentityTransform.h.

◆ SetIdentity()

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

Set the transformation to an Identity

This is a NULL operation in the case of this particular transform. The method is provided only to comply with the interface of other transforms.

Definition at line 167 of file itkAdvancedIdentityTransform.h.

◆ SetParameters()

template<class TScalarType , unsigned int NDimensions = 3>
void itk::AdvancedIdentityTransform< TScalarType, NDimensions >::SetParameters ( const ParametersType & )
inlineoverride

Set the fixed parameters and update internal transformation.

Definition at line 222 of file itkAdvancedIdentityTransform.h.

◆ TransformCovariantVector()

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

Method to transform a CovariantVector.

Definition at line 157 of file itkAdvancedIdentityTransform.h.

◆ TransformPoint()

template<class TScalarType , unsigned int NDimensions = 3>
OutputPointType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::TransformPoint ( const InputPointType & point) const
inlineoverride

Method to transform a point.

Definition at line 136 of file itkAdvancedIdentityTransform.h.

◆ TransformVector() [1/2]

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

Method to transform a vector.

Definition at line 143 of file itkAdvancedIdentityTransform.h.

◆ TransformVector() [2/2]

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

Method to transform a vnl_vector.

Definition at line 150 of file itkAdvancedIdentityTransform.h.

Field Documentation

◆ m_JacobianOfSpatialHessian

template<class TScalarType , unsigned int NDimensions = 3>
JacobianOfSpatialHessianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_JacobianOfSpatialHessian {}
private

Definition at line 338 of file itkAdvancedIdentityTransform.h.

◆ m_JacobianOfSpatialJacobian

template<class TScalarType , unsigned int NDimensions = 3>
JacobianOfSpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_JacobianOfSpatialJacobian {}
private

Definition at line 337 of file itkAdvancedIdentityTransform.h.

◆ m_LocalJacobian

template<class TScalarType , unsigned int NDimensions = 3>
JacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_LocalJacobian {}
private

Definition at line 333 of file itkAdvancedIdentityTransform.h.

◆ m_NonZeroJacobianIndices

template<class TScalarType , unsigned int NDimensions = 3>
NonZeroJacobianIndicesType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_NonZeroJacobianIndices {}
private

Definition at line 336 of file itkAdvancedIdentityTransform.h.

◆ m_SpatialHessian

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

Definition at line 335 of file itkAdvancedIdentityTransform.h.

◆ m_SpatialJacobian

template<class TScalarType , unsigned int NDimensions = 3>
SpatialJacobianType itk::AdvancedIdentityTransform< TScalarType, NDimensions >::m_SpatialJacobian {}
private

Definition at line 334 of file itkAdvancedIdentityTransform.h.



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