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::DeformationVectorFieldTransform< TScalarType, NDimensions > Class Template Reference

#include <itkDeformationVectorFieldTransform.h>

Detailed Description

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

An itk transform based on a DeformationVectorField.

This class makes it easy to set a deformation vector field as a Transform-object.

The class inherits from the 0th-order AdvancedBSplineDeformableTransform, and converts a VectorImage to the B-spline CoefficientImage.

This is useful if you know for example how to deform each voxel in an image and want to apply it to that image.

Note
Better use the DeformationFieldInterpolatingTransform. It is more flexible, since it allows runtime specification of the spline order.

Definition at line 46 of file itkDeformationVectorFieldTransform.h.

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

Public Types

using CoefficientImagePointer = typename Superclass::ImagePointer
 
using CoefficientImageType = typename Superclass::ImageType
 
using CoefficientPixelType = typename Superclass::PixelType
 
using CoefficientVectorImagePointer = typename CoefficientVectorImageType::Pointer
 
using CoefficientVectorImageType = Image< CoefficientVectorPixelType, Self::SpaceDimension >
 
using CoefficientVectorPixelType = Vector< float, Self::SpaceDimension >
 
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = DeformationVectorFieldTransform
 
using Superclass = AdvancedBSplineDeformableTransform< TScalarType, NDimensions, 0 >
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = typename WeightsFunctionType::ContinuousIndexType
 
using DerivativeWeightsFunctionPointer = typename DerivativeWeightsFunctionType::Pointer
 
using DerivativeWeightsFunctionType = BSplineInterpolationDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, Self::SpaceDimension >
 
using IndexType = typename RegionType::IndexType
 
using OriginType = typename ImageType::PointType
 
using ParameterIndexArrayType = Array< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using RegionType = ImageRegion< Self::SpaceDimension >
 
using Self = AdvancedBSplineDeformableTransform
 
using SizeType = typename RegionType::SizeType
 
using SODerivativeWeightsFunctionPointer = typename SODerivativeWeightsFunctionType::Pointer
 
using SODerivativeWeightsFunctionType = BSplineInterpolationSecondOrderDerivativeWeightFunction< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using SpacingType = typename ImageType::SpacingType
 
using Superclass = AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
 
using WeightsFunctionPointer = typename WeightsFunctionType::Pointer
 
using WeightsFunctionType = BSplineInterpolationWeightFunction2< ScalarType, Self::SpaceDimension, VSplineOrder >
 
using WeightsType = typename WeightsFunctionType::WeightsType
 
- Public Types inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
using ConstPointer = SmartPointer< const Self >
 
using ContinuousIndexType = ContinuousIndex< ScalarType, SpaceDimension >
 
using DirectionType = typename ImageType::DirectionType
 
using GridOffsetType = IndexType
 
using ImagePointer = typename ImageType::Pointer
 
using ImageType = Image< PixelType, Self::SpaceDimension >
 
using IndexType = typename RegionType::IndexType
 
using OriginType = typename ImageType::PointType
 
using ParameterIndexArrayType = Array< unsigned long >
 
using Pointer = SmartPointer< Self >
 
using RegionType = ImageRegion< Self::SpaceDimension >
 
using Self = AdvancedBSplineDeformableTransformBase
 
using SizeType = typename RegionType::SizeType
 
using SpacingType = typename ImageType::SpacingType
 
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
 
virtual void GetCoefficientVectorImage (CoefficientVectorImagePointer &vecImage) const
 
 ITK_DISALLOW_COPY_AND_MOVE (DeformationVectorFieldTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, Superclass::SplineOrder)
 
virtual void SetCoefficientVectorImage (const CoefficientVectorImageType *vecImage)
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nzji) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
unsigned int GetNumberOfAffectedWeights () const override
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override
 
unsigned long GetNumberOfWeights () const
 
void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransform)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
 itkStaticConstMacro (SplineOrder, unsigned int, VSplineOrder)
 
void SetGridRegion (const RegionType &region) override
 
OutputPointType TransformPoint (const InputPointType &point) const override
 
- Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
virtual const char * GetClassName () const
 
virtual const ImagePointerGetCoefficientImages () const
 
const FixedParametersType & GetFixedParameters () const override
 
virtual DirectionType GetGridDirection () const
 
virtual OriginType GetGridOrigin () const
 
virtual RegionType GetGridRegion () const
 
virtual SpacingType GetGridSpacing () const
 
virtual unsigned int GetNumberOfAffectedWeights () const =0
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override=0
 
NumberOfParametersType GetNumberOfParameters () const override
 
virtual NumberOfParametersType GetNumberOfParametersPerDimension () const
 
const ParametersType & GetParameters () const override
 
unsigned GetSplineOrder () const
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual const RegionTypeGetValidRegion ()
 
bool IsLinear () const override
 
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedBSplineDeformableTransformBase)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCoefficientImages (ImagePointer images[])
 
void SetFixedParameters (const FixedParametersType &parameters) override
 
virtual void SetGridDirection (const DirectionType &direction)
 
virtual void SetGridOrigin (const OriginType &origin)
 
virtual void SetGridRegion (const RegionType &region)=0
 
virtual void SetGridSpacing (const SpacingType &spacing)
 
void SetIdentity ()
 
void SetParameters (const ParametersType &parameters) override
 
void SetParametersByValue (const ParametersType &parameters) override
 
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
 
OutputVectorType TransformVector (const InputVectorType &) const override
 
OutputVnlVectorType TransformVector (const InputVnlVectorType &) 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 ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
template<template< class, unsigned, unsigned > class TBSplineDeformableTransform>
static Pointer Create (const unsigned splineOrder)
 

Protected Member Functions

 DeformationVectorFieldTransform ()
 
 ~DeformationVectorFieldTransform () override
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
 AdvancedBSplineDeformableTransform ()
 
void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const override
 
 itkGetModifiableObjectMacro (WeightsFunction, WeightsFunctionType)
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
virtual void SetWeightsFunction (WeightsFunctionType *_arg)
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransform () override=default
 
- Protected Member Functions inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
 AdvancedBSplineDeformableTransformBase ()=delete
 
 AdvancedBSplineDeformableTransformBase (const unsigned splineOrder)
 
virtual void ComputeNonZeroJacobianIndices (NonZeroJacobianIndicesType &nonZeroJacobianIndices, const RegionType &supportRegion) const =0
 
virtual bool InsideValidRegion (const ContinuousIndexType &index) const
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
ContinuousIndexType TransformPointToContinuousGridIndex (const InputPointType &point) const
 
void UpdateGridOffsetTable ()
 
void UpdatePointIndexConversions ()
 
void WrapAsImages ()
 
 ~AdvancedBSplineDeformableTransformBase () override=default
 
- Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
 AdvancedTransform ()=default
 
 ~AdvancedTransform () override=default
 

Private Attributes

CoefficientImagePointer m_Images [SpaceDimension]
 

Additional Inherited Members

- Static Public Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
static constexpr unsigned int NumberOfFixedParameters = NDimensions * (NDimensions + 3)
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 
- Protected Types inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
using JacobianImageType = Image< JacobianPixelType, Self::SpaceDimension >
 
using JacobianPixelType = typename JacobianType::ValueType
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >
std::vector< DerivativeWeightsFunctionPointerm_DerivativeWeightsFunctions
 
std::vector< std::vector< SODerivativeWeightsFunctionPointer > > m_SODerivativeWeightsFunctions
 
WeightsFunctionPointer m_WeightsFunction
 
- Protected Attributes inherited from itk::AdvancedBSplineDeformableTransformBase< TScalarType, NDimensions >
ImagePointer m_CoefficientImages [NDimensions]
 
DirectionType m_GridDirection { DirectionType::GetIdentity() }
 
GridOffsetType m_GridOffsetTable {}
 
OriginType m_GridOrigin {}
 
RegionType m_GridRegion {}
 
SpacingType m_GridSpacing { 1.0 }
 
DirectionType m_IndexToPoint
 
const ParametersType * m_InputParametersPointer
 
ParametersType m_InternalParametersBuffer
 
JacobianImageType::Pointer m_JacobianImage [NDimensions]
 
IndexType m_LastJacobianIndex
 
unsigned long m_Offset
 
DirectionType m_PointToIndexMatrix
 
SpatialJacobianType m_PointToIndexMatrix2
 
FixedArray< ScalarType, NDimensions > m_PointToIndexMatrixDiagonal
 
FixedArray< ScalarType, NDimensions *NDimensions > m_PointToIndexMatrixDiagonalProducts
 
bool m_PointToIndexMatrixIsDiagonal
 
DirectionType m_PointToIndexMatrixTransposed
 
SpatialJacobianType m_PointToIndexMatrixTransposed2
 
SizeType m_SupportSize
 
RegionType m_ValidRegion
 
ContinuousIndexType m_ValidRegionBegin
 
ContinuousIndexType m_ValidRegionEnd
 
ImagePointer m_WrappedImage [NDimensions]
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, NInputDimensions, NOutputDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian { true }
 
bool m_HasNonZeroSpatialHessian { true }
 

Member Typedef Documentation

◆ CoefficientImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientImagePointer = typename Superclass::ImagePointer

Definition at line 84 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientImageType = typename Superclass::ImageType

Definition at line 83 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientPixelType = typename Superclass::PixelType

Parameters as SpaceDimension number of images.

Definition at line 82 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorImagePointer

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorImagePointer = typename CoefficientVectorImageType::Pointer

Definition at line 89 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorImageType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorImageType = Image<CoefficientVectorPixelType, Self::SpaceDimension>

Definition at line 88 of file itkDeformationVectorFieldTransform.h.

◆ CoefficientVectorPixelType

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::CoefficientVectorPixelType = Vector<float, Self::SpaceDimension>

Typedef's for VectorImage.

Definition at line 87 of file itkDeformationVectorFieldTransform.h.

◆ ConstPointer

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

Definition at line 56 of file itkDeformationVectorFieldTransform.h.

◆ Pointer

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

Definition at line 55 of file itkDeformationVectorFieldTransform.h.

◆ Self

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

Standard class typedefs.

Definition at line 53 of file itkDeformationVectorFieldTransform.h.

◆ Superclass

template<class TScalarType = double, unsigned int NDimensions = 3>
using itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::Superclass = AdvancedBSplineDeformableTransform<TScalarType, NDimensions, 0>

Definition at line 54 of file itkDeformationVectorFieldTransform.h.

Constructor & Destructor Documentation

◆ DeformationVectorFieldTransform()

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

The constructor.

◆ ~DeformationVectorFieldTransform()

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

The destructor.

Member Function Documentation

◆ GetClassName()

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

Run-time type information (and related methods).

Reimplemented from itk::AdvancedBSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >.

◆ GetCoefficientVectorImage()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::GetCoefficientVectorImage ( CoefficientVectorImagePointer vecImage) const
virtual

Get the coefficient image as a vector image. The vector image is created only on demand. The caller is expected to provide a smart pointer to the resulting image; this stresses the fact that this method does not return a member variable, like most Get... methods.

◆ ITK_DISALLOW_COPY_AND_MOVE()

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

◆ itkStaticConstMacro() [1/2]

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

Dimension of the domain space.

◆ itkStaticConstMacro() [2/2]

template<class TScalarType = double, unsigned int NDimensions = 3>
itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::itkStaticConstMacro ( SplineOrder  ,
unsigned int  ,
Superclass::SplineOrder   
)

◆ New()

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

Method for creation through the object factory.

◆ SetCoefficientVectorImage()

template<class TScalarType = double, unsigned int NDimensions = 3>
virtual void itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::SetCoefficientVectorImage ( const CoefficientVectorImageType vecImage)
virtual

Set the coefficient image as a deformation field. The superclass provides a similar function (SetCoeffficientImage), but this function expects an array of nr_of_dim scalar images. The SetCoefficientVectorImage method accepts a VectorImage, which is often more convenient. The method internally just converts this vector image to nr_of_dim scalar images and passes it on to the SetCoefficientImage function.

Field Documentation

◆ m_Images

template<class TScalarType = double, unsigned int NDimensions = 3>
CoefficientImagePointer itk::DeformationVectorFieldTransform< TScalarType, NDimensions >::m_Images[SpaceDimension]
private

Member variables.

Definition at line 120 of file itkDeformationVectorFieldTransform.h.



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