go home Home | Main Page | Topics | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elastix::SimilarityTransformElastix< TElastix > Class Template Reference

#include <elxSimilarityTransform.h>

Detailed Description

template<typename TElastix>
class elastix::SimilarityTransformElastix< TElastix >

A transform based on the itk SimilarityTransforms.

This transform is a rigid body transformation, with an isotropic scaling. In 2D, the order of parameters is:
[scale, rotation angle, translationx, translationy]
In 3D, the order of parameters is:
[versor1 versor2 versor3 translationx translationy translationz scale]
Make sure, when specifying the Scales manually that you keep in mind this order!

The parameters used in this class are:

Parameters

Transform: Select this transform as follows:
(Transform "SimilarityTransform")

Scales: the scale factor between the rotations, translations, and the isotropic scaling, used in the optimizer.
example: (Scales 100000.0 60000.0 ... 80000.0)
With this transform, the number of arguments should be equal to the number of parameters: for each parameter its scale factor. If this parameter option is not used, by default the rotations are scaled by a factor of 100000.0 and the scale by a factor 10000.0. These are rather arbitrary values. See also the AutomaticScalesEstimation parameter. See also the comment in the documentation of SimilarityTransformElastix about the order of the parameters in 2D and 3D.

AutomaticScalesEstimation: if this parameter is set to "true" the Scales parameter is ignored and the scales are determined automatically.
example: ( AutomaticScalesEstimation "true" )
Default: "false" (for backwards compatibility). Recommended: "true".

CenterOfRotation: an index around which the image is rotated.
example: (CenterOfRotation 128 128 90)
By default the CenterOfRotation is set to the geometric center of the image.

AutomaticTransformInitialization: whether or not the initial translation between images should be estimated as the distance between their centers.
example: (AutomaticTransformInitialization "true")
By default "false" is assumed. So, no initial translation.

AutomaticTransformInitializationMethod: how to initialize this transform. Should be one of {GeometricalCenter, CenterOfGravity}.
example: (AutomaticTransformInitializationMethod "CenterOfGravity")
By default "GeometricalCenter" is assumed.

The transform parameters necessary for transformix, additionally defined by this class, are:

Transform Parameters
CenterOfRotationPoint: stores the center of rotation, expressed in world coordinates.
example: (CenterOfRotationPoint 10.555 6.666 12.345)

Definition at line 76 of file elxSimilarityTransform.h.

Inheritance diagram for elastix::SimilarityTransformElastix< TElastix >:

Public Types

using CombinationTransformType = typename Superclass2::CombinationTransformType
using ConstPointer = itk::SmartPointer<const Self>
using CoordinateType
using DirectionType = typename FixedImageType::DirectionType
using FixedImageType
using IndexType = typename FixedImageType::IndexType
using IndexValueType = typename IndexType::IndexValueType
using ITKBaseType = typename Superclass2::ITKBaseType
using MovingImageType
using OffsetType = typename SimilarityTransformType::OffsetType
using ParameterMapType
using Pointer = itk::SmartPointer<Self>
using PointType = typename FixedImageType::PointType
using RegionType = typename FixedImageType::RegionType
using ScalesType
using Self = SimilarityTransformElastix
using SimilarityTransformPointer = typename SimilarityTransformType::Pointer
using SimilarityTransformType
using SizeType = typename FixedImageType::SizeType
using SpacingType = typename FixedImageType::SpacingType
using Superclass1
using Superclass2 = elx::TransformBase<TElastix>
using TransformInitializerPointer = typename TransformInitializerType::Pointer
using TransformInitializerType
Public Types inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
using ConstPointer = SmartPointer<const Self>
using CurrentTransformConstPointer = typename CurrentTransformType::ConstPointer
using CurrentTransformInverseTransformBasePointer = typename CurrentTransformType::InverseTransformBasePointer
using CurrentTransformInverseTransformBaseType = typename CurrentTransformType::InverseTransformBaseType
using CurrentTransformPointer = typename CurrentTransformType::Pointer
using CurrentTransformType = Superclass
using InitialTransformConstPointer = typename InitialTransformType::ConstPointer
using InitialTransformInverseTransformBasePointer = typename InitialTransformType::InverseTransformBasePointer
using InitialTransformInverseTransformBaseType = typename InitialTransformType::InverseTransformBaseType
using InitialTransformPointer = typename InitialTransformType::Pointer
using InitialTransformType = Superclass
using InternalMatrixType
using InverseTransformBaseType = typename Superclass::InverseTransformBaseType
using JacobianOfSpatialHessianType
using JacobianOfSpatialJacobianType
using MovingImageGradientType
using MovingImageGradientValueType
using NonZeroJacobianIndicesType
using Pointer = SmartPointer<Self>
using Self = AdvancedCombinationTransform
using SpatialHessianType
using SpatialJacobianType
using Superclass = AdvancedTransform<TScalarType, NDimensions, NDimensions>
using TransformType = typename Superclass::TransformType
using TransformTypeConstPointer = typename TransformType::ConstPointer
using TransformTypePointer = typename TransformType::Pointer
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 Types inherited from elastix::TransformBase< TElastix >
using CombinationTransformType = itk::AdvancedCombinationTransform<CoordinateType, Self::FixedImageDimension>
using CommandLineArgumentMapType = Configuration ::CommandLineArgumentMapType
using CommandLineEntryType = Configuration ::CommandLineEntryType
using ComponentDescriptionType = ComponentDatabase::ComponentDescriptionType
using CoordinateType = ElastixBase::CoordinateType
using DeformationFieldImageType = itk::Image<VectorPixelType, FixedImageDimension>
using FixedImageType = typename TElastix::FixedImageType
using InitialTransformType = typename CombinationTransformType::InitialTransformType
using InputPointType = typename ITKBaseType::InputPointType
using ITKBaseType = CombinationTransformType
using ITKRegistrationType = typename RegistrationType::ITKBaseType
using MovingImageType = typename TElastix::MovingImageType
using OptimizerType = typename ITKRegistrationType::OptimizerType
using OutputPointType = typename ITKBaseType::OutputPointType
using ParameterMapType = typename TElastix::ParameterMapType
using ParametersType = itk::OptimizerParameters<ValueType>
using PtrToCreator = ComponentDatabase::PtrToCreator
using RegistrationType
using ScalesType = itk::Optimizer::ScalesType
using Self = TransformBase
using SpatialJacobianDeterminantImageType = itk::Image<float, FixedImageDimension>
using SpatialJacobianMatrixImageType
using Superclass = BaseComponentSE<TElastix>
using ValueType = double
using VectorPixelType = itk::Vector<float, FixedImageDimension>
Public Types inherited from elastix::BaseComponentSE< TElastix >
using ElastixType = TElastix
using RegistrationType = typename ElastixType::RegistrationBaseType
using Self = BaseComponentSE
using Superclass = BaseComponent

Public Member Functions

void BeforeRegistration () override
 elxClassNameMacro ("SimilarityTransform")
 ITK_DISALLOW_COPY_AND_MOVE (SimilarityTransformElastix)
 itkOverrideGetNameOfClassMacro (SimilarityTransformElastix)
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
void ReadFromFile () override
virtual void SetScales ()
Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
const FixedParametersType & GetFixedParameters () const override
bool GetHasNonZeroSpatialHessian () const override
bool GetInverse (Self *inverse) const
void GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) 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
const TransformTypePointer GetNthTransform (SizeValueType n) const
NumberOfParametersType GetNumberOfNonZeroJacobianIndices () const override
NumberOfParametersType GetNumberOfParameters () const override
SizeValueType GetNumberOfTransforms () const
const ParametersType & GetParameters () const override
void GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const override
void GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const override
TransformCategoryEnum GetTransformCategory () const override
virtual bool GetUseAddition () const
virtual bool GetUseComposition () const
bool HasNonZeroJacobianOfSpatialHessian () const
bool IsLinear () const override
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedCombinationTransform)
 itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
 itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
 itkOverrideGetNameOfClassMacro (AdvancedCombinationTransform)
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
void SetCurrentTransform (CurrentTransformType *_arg)
void SetFixedParameters (const FixedParametersType &fixedParam) override
void SetInitialTransform (InitialTransformType *_arg)
void SetParameters (const ParametersType &param) override
void SetParametersByValue (const ParametersType &param) override
void SetUseAddition (bool _arg)
void SetUseComposition (bool _arg)
OutputCovariantVectorType TransformCovariantVector (const InputCovariantVectorType &) const override
OutputPointType TransformPoint (const InputPointType &point) const override
OutputVectorType TransformVector (const InputVectorType &) const override
OutputVnlVectorType TransformVector (const InputVnlVectorType &) const override
Public Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
virtual bool GetHasNonZeroJacobianOfSpatialHessian () const
 ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform)
 itkOverrideGetNameOfClassMacro (AdvancedTransform)
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
Public Member Functions inherited from elastix::TransformBase< TElastix >
int BeforeAllTransformix ()
void ComputeAndWriteSpatialJacobianDeterminantImage () const
void ComputeAndWriteSpatialJacobianMatrixImage () const
SpatialJacobianDeterminantImageType::Pointer ComputeSpatialJacobianDeterminantImage () const
SpatialJacobianMatrixImageType::Pointer ComputeSpatialJacobianMatrixImage () const
void CreateTransformParameterMap (const ParametersType &param, ParameterMapType &parameterMap, const bool includeDerivedTransformParameters=true) const
ITKBaseTypeGetAsITKBaseType ()
const ITKBaseTypeGetAsITKBaseType () const
 ITK_DISALLOW_COPY_AND_MOVE (TransformBase)
 itkOverrideGetNameOfClassMacro (TransformBase)
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
void ReadInitialTransformFromFile (const std::string &transformParameterFileName)
void SetFinalParameters ()
void SetInitialTransform (InitialTransformType *_arg)
void SetReadWriteTransformParameters (const bool _arg)
void SetTransformParameterFileName (const std::string &filename)
template<typename TMesh>
TMesh::Pointer TransformMesh (const TMesh &mesh) const
void TransformPoints () const
void WriteToFile (std::ostream &transformationParameterInfo, const ParametersType &param) const
Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
const ConfigurationGetConfiguration () const
ElastixTypeGetElastix () const
auto & GetIterationInfoAt (const char *const name)
itk::Statistics::MersenneTwisterRandomVariateGenerator & GetRandomVariateGenerator ()
RegistrationTypeGetRegistration () const
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
void RemoveTargetCellFromIterationInfo (const char *const name)
void SetConfiguration (const Configuration *_arg)
void SetElastix (ElastixType *_arg)
Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration ()
virtual void AfterEachIterationBase ()
virtual void AfterEachResolution ()
virtual void AfterEachResolutionBase ()
virtual void AfterRegistration ()
virtual int BeforeAll ()
virtual void BeforeEachResolution ()
virtual void BeforeEachResolutionBase ()
virtual const char * elxGetClassName () const
const char * GetComponentLabel () const
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 itkVirtualGetNameOfClassMacro (BaseComponent)
void SetComponentLabel (const char *label, unsigned int idx)

Static Public Member Functions

static Pointer New ()
Static Public Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
static Pointer New ()
Static Public Member Functions inherited from elastix::BaseComponent
template<typename TBaseComponent>
static auto AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType())
static void InitializeElastixExecutable ()
static bool IsElastixLibrary ()

Protected Member Functions

 SimilarityTransformElastix ()
 ~SimilarityTransformElastix () override=default
Protected Member Functions inherited from itk::AdvancedCombinationTransform< TScalarType, NDimensions >
 AdvancedCombinationTransform ()
void EvaluateJacobianWithImageGradientProductNoCurrentTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
void EvaluateJacobianWithImageGradientProductNoInitialTransform (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
void EvaluateJacobianWithImageGradientProductUseAddition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
void EvaluateJacobianWithImageGradientProductUseComposition (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
void GetJacobianNoCurrentTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
void GetJacobianNoInitialTransform (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
void GetJacobianUseAddition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
void GetJacobianUseComposition (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
void GetSpatialHessianNoCurrentTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
void GetSpatialHessianNoInitialTransform (const InputPointType &inputPoint, SpatialHessianType &sh) const
void GetSpatialHessianUseAddition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void GetSpatialHessianUseComposition (const InputPointType &inputPoint, SpatialHessianType &sh) const
void GetSpatialJacobianNoCurrentTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void GetSpatialJacobianNoInitialTransform (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void GetSpatialJacobianUseAddition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
void GetSpatialJacobianUseComposition (const InputPointType &inputPoint, SpatialJacobianType &sj) const
OutputPointType TransformPointNoCurrentTransform (const InputPointType &point) const
OutputPointType TransformPointNoInitialTransform (const InputPointType &point) const
OutputPointType TransformPointUseAddition (const InputPointType &point) const
OutputPointType TransformPointUseComposition (const InputPointType &point) const
void UpdateCombinationMethod ()
 ~AdvancedCombinationTransform () override=default
Protected Member Functions inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
 AdvancedTransform ()=default
 ~AdvancedTransform () override=default
Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
void AutomaticScalesEstimationStackTransform (const unsigned int numSubTransforms, ScalesType &scales) const
bool HasITKTransformParameters () const
 TransformBase ()=default
 ~TransformBase () override=default
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix >
 BaseComponentSE ()=default
 ~BaseComponentSE () override=default
Protected Member Functions inherited from elastix::BaseComponent
 BaseComponent ()=default
virtual ~BaseComponent ()=default

Private Member Functions

ParameterMapType CreateDerivedTransformParameterMap () const override
void InitializeTransform ()
bool ReadCenterOfRotationPoint (InputPointType &rotationPoint) const

Private Attributes

 elxOverrideGetSelfMacro
const SimilarityTransformPointer m_SimilarityTransform { SimilarityTransformType::New() }

Additional Inherited Members

Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
bool m_HasNonZeroSpatialHessian
Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer m_Configuration {}
itk::WeakPointer< TElastix > m_Elastix {}
RegistrationTypem_Registration {}

Member Typedef Documentation

◆ CombinationTransformType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType

Definition at line 141 of file elxSimilarityTransform.h.

◆ ConstPointer

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 90 of file elxSimilarityTransform.h.

◆ CoordinateType

template<typename TElastix>
using elastix::TransformBase< TElastix >::CoordinateType

Elastix typedef's.

Definition at line 163 of file elxTransformBase.h.

◆ DirectionType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::DirectionType = typename FixedImageType::DirectionType

Definition at line 150 of file elxSimilarityTransform.h.

◆ FixedImageType

template<typename TElastix>
using elastix::TransformBase< TElastix >::FixedImageType

Definition at line 164 of file elxTransformBase.h.

◆ IndexType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::IndexType = typename FixedImageType::IndexType

Other typedef's.

Definition at line 144 of file elxSimilarityTransform.h.

◆ IndexValueType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::IndexValueType = typename IndexType::IndexValueType

Definition at line 145 of file elxSimilarityTransform.h.

◆ ITKBaseType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 140 of file elxSimilarityTransform.h.

◆ MovingImageType

template<typename TElastix>
using elastix::TransformBase< TElastix >::MovingImageType

Definition at line 165 of file elxTransformBase.h.

◆ OffsetType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::OffsetType = typename SimilarityTransformType::OffsetType

Definition at line 131 of file elxSimilarityTransform.h.

◆ ParameterMapType

template<typename TElastix>
using elastix::TransformBase< TElastix >::ParameterMapType

Typedef that is used in the elastix dll version.

Definition at line 206 of file elxTransformBase.h.

◆ Pointer

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 89 of file elxSimilarityTransform.h.

◆ PointType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::PointType = typename FixedImageType::PointType

Definition at line 147 of file elxSimilarityTransform.h.

◆ RegionType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::RegionType = typename FixedImageType::RegionType

Definition at line 149 of file elxSimilarityTransform.h.

◆ ScalesType

template<typename TElastix>
using elastix::TransformBase< TElastix >::ScalesType

Definition at line 197 of file elxTransformBase.h.

◆ Self

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::Self = SimilarityTransformElastix

Standard ITK-stuff.

Definition at line 85 of file elxSimilarityTransform.h.

◆ SimilarityTransformPointer

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformPointer = typename SimilarityTransformType::Pointer

NOTE: use this one only in 3D (otherwise it's just an int).

Definition at line 130 of file elxSimilarityTransform.h.

◆ SimilarityTransformType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformType
Initial value:
itk::SimilarityTransform<typename elx::TransformBase<TElastix>::CoordinateType,
This class is the elastix base class for all Transforms.

The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform

Definition at line 94 of file elxSimilarityTransform.h.

◆ SizeType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::SizeType = typename FixedImageType::SizeType

Definition at line 146 of file elxSimilarityTransform.h.

◆ SpacingType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::SpacingType = typename FixedImageType::SpacingType

Definition at line 148 of file elxSimilarityTransform.h.

◆ Superclass1

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::Superclass1

◆ Superclass2

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::Superclass2 = elx::TransformBase<TElastix>

Definition at line 88 of file elxSimilarityTransform.h.

◆ TransformInitializerPointer

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::TransformInitializerPointer = typename TransformInitializerType::Pointer

Definition at line 154 of file elxSimilarityTransform.h.

◆ TransformInitializerType

template<typename TElastix>
using elastix::SimilarityTransformElastix< TElastix >::TransformInitializerType
Initial value:
itk::CenteredTransformInitializer<SimilarityTransformType, FixedImageType, MovingImageType>

Definition at line 152 of file elxSimilarityTransform.h.

Constructor & Destructor Documentation

◆ SimilarityTransformElastix()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformElastix ( )
protected

The constructor.

◆ ~SimilarityTransformElastix()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::~SimilarityTransformElastix ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ BeforeRegistration()

template<typename TElastix>
void elastix::SimilarityTransformElastix< TElastix >::BeforeRegistration ( )
overridevirtual

Execute stuff before the actual registration:

  • Call InitializeTransform
  • Set the scales.

Reimplemented from elastix::BaseComponent.

◆ CreateDerivedTransformParameterMap()

template<typename TElastix>
ParameterMapType elastix::SimilarityTransformElastix< TElastix >::CreateDerivedTransformParameterMap ( ) const
overrideprivatevirtual

Creates a map of the parameters specific for this (derived) transform type.

Implements elastix::TransformBase< TElastix >.

◆ elxClassNameMacro()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::elxClassNameMacro ( "SimilarityTransform" )

Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "SimilarityTransform")

◆ InitializeTransform()

template<typename TElastix>
void elastix::SimilarityTransformElastix< TElastix >::InitializeTransform ( )
private

Initialize Transform.

  • Set all parameters to zero.
  • Set center of rotation: automatically initialized to the geometric center of the image, or assigned a user entered voxel index, given by the parameter (CenterOfRotation <index-x> <index-y> ...); If an initial transform is present and HowToCombineTransforms is set to "Compose", the initial transform is taken into account while setting the center of rotation.
  • Set initial translation: the initial translation between fixed and moving image is guessed, if the user has set (AutomaticTransformInitialization "true").

It is not yet possible to enter an initial rotation angle.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( SimilarityTransformElastix< TElastix > )

◆ itkOverrideGetNameOfClassMacro()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::itkOverrideGetNameOfClassMacro ( SimilarityTransformElastix< TElastix > )

Run-time type information (and related methods).

◆ itkStaticConstMacro()

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::itkStaticConstMacro ( SpaceDimension ,
unsigned int ,
Superclass2::FixedImageDimension  )

Dimension of the fixed image.

◆ New()

template<typename TElastix>
Pointer elastix::SimilarityTransformElastix< TElastix >::New ( )
static

Method for creation through the object factory.

◆ ReadCenterOfRotationPoint()

template<typename TElastix>
bool elastix::SimilarityTransformElastix< TElastix >::ReadCenterOfRotationPoint ( InputPointType & rotationPoint) const
private

Try to read the CenterOfRotationPoint from the transform parameter file The CenterOfRotationPoint is already in world coordinates. Transform parameter files generated by elastix version > 3.402 save the center of rotation in this way.

◆ ReadFromFile()

template<typename TElastix>
void elastix::SimilarityTransformElastix< TElastix >::ReadFromFile ( )
overridevirtual

Function to read transform-parameters from a file.

It reads the center of rotation and calls the superclass' implementation.

Reimplemented from elastix::TransformBase< TElastix >.

◆ SetScales()

template<typename TElastix>
virtual void elastix::SimilarityTransformElastix< TElastix >::SetScales ( )
virtual

Set the scales

  • If AutomaticScalesEstimation is "true" estimate scales
  • If scales are provided by the user use those,
  • Otherwise use some default value This function is called by BeforeRegistration, after the InitializeTransform function is called

Member Data Documentation

◆ elxOverrideGetSelfMacro

template<typename TElastix>
elastix::SimilarityTransformElastix< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 190 of file elxSimilarityTransform.h.

◆ m_SimilarityTransform

template<typename TElastix>
const SimilarityTransformPointer elastix::SimilarityTransformElastix< TElastix >::m_SimilarityTransform { SimilarityTransformType::New() }
private

Definition at line 222 of file elxSimilarityTransform.h.



Generated on 26-02-2026 for elastix by doxygen 1.16.1 (669aeeefca743c148e2d935b3d3c69535c7491e6) elastix logo