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
elastix::SimilarityTransformElastix< TElastix > Class Template Reference

#include <elxSimilarityTransform.h>

Detailed Description

template<class 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:

CenterOfRotation: stores the center of rotation as an index.
example: (CenterOfRotation 128 128 90)
depecrated! From elastix version 3.402 this is changed to CenterOfRotationPoint!

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

Definition at line 79 of file elxSimilarityTransform.h.

+ Inheritance diagram for elastix::SimilarityTransformElastix< TElastix >:

Public Types

typedef Superclass2::CombinationTransformType CombinationTransformType
 
typedef Superclass2::ConfigurationPointer ConfigurationPointer
 
typedef Superclass2::ConfigurationType ConfigurationType
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass2::CoordRepType CoordRepType
 
typedef FixedImageType::DirectionType DirectionType
 
typedef Superclass2::ElastixPointer ElastixPointer
 
typedef Superclass2::ElastixType ElastixType
 
typedef Superclass2::FixedImageType FixedImageType
 
typedef FixedImageType::IndexType IndexType
 
typedef IndexType::IndexValueType IndexValueType
 
typedef Superclass1::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass1::InputPointType InputPointType
 
typedef Superclass1::InputVectorType InputVectorType
 
typedef Superclass1::InputVnlVectorType InputVnlVectorType
 
typedef Superclass2::ITKBaseType ITKBaseType
 
typedef Superclass1::JacobianType JacobianType
 
typedef Superclass2::MovingImageType MovingImageType
 
typedef Superclass1::NumberOfParametersType NumberOfParametersType
 
typedef SimilarityTransformType::OffsetType OffsetType
 
typedef Superclass1::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass1::OutputPointType OutputPointType
 
typedef Superclass1::OutputVectorType OutputVectorType
 
typedef Superclass1::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass1::ParametersType ParametersType
 
typedef itk::SmartPointer< SelfPointer
 
typedef FixedImageType::PointType PointType
 
typedef FixedImageType::RegionType RegionType
 
typedef Superclass2::RegistrationPointer RegistrationPointer
 
typedef Superclass2::RegistrationType RegistrationType
 
typedef Superclass1::ScalarType ScalarType
 
typedef Superclass2::ScalesType ScalesType
 
typedef SimilarityTransformElastix Self
 
typedef SimilarityTransformType::Pointer SimilarityTransformPointer
 
typedef itk::SimilarityTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > SimilarityTransformType
 
typedef FixedImageType::SizeType SizeType
 
typedef FixedImageType::SpacingType SpacingType
 
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > Superclass1
 
typedef elx::TransformBase< TElastix > Superclass2
 
typedef TransformInitializerType::Pointer TransformInitializerPointer
 
typedef itk::CenteredTransformInitializer< SimilarityTransformType, FixedImageType, MovingImageTypeTransformInitializerType
 
- Public Types inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef CurrentTransformType::ConstPointer CurrentTransformConstPointer
 
typedef CurrentTransformType::InverseTransformBasePointer CurrentTransformInverseTransformBasePointer
 
typedef CurrentTransformType::InverseTransformBaseType CurrentTransformInverseTransformBaseType
 
typedef CurrentTransformType::Pointer CurrentTransformPointer
 
typedef Superclass CurrentTransformType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef void(Self::* EvaluateJacobianWithImageGradientProductFunctionPointer) (const InputPointType &, const MovingImageGradientType &, DerivativeType &, NonZeroJacobianIndicesType &) const
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer) (const InputPointType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialHessianFunctionPointer2) (const InputPointType &, SpatialHessianType &, JacobianOfSpatialHessianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer) (const InputPointType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetJacobianOfSpatialJacobianFunctionPointer2) (const InputPointType &, SpatialJacobianType &, JacobianOfSpatialJacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSparseJacobianFunctionPointer) (const InputPointType &, JacobianType &, NonZeroJacobianIndicesType &) const
 
typedef void(Self::* GetSpatialHessianFunctionPointer) (const InputPointType &, SpatialHessianType &) const
 
typedef void(Self::* GetSpatialJacobianFunctionPointer) (const InputPointType &, SpatialJacobianType &) const
 
typedef InitialTransformType::ConstPointer InitialTransformConstPointer
 
typedef InitialTransformType::InverseTransformBasePointer InitialTransformInverseTransformBasePointer
 
typedef InitialTransformType::InverseTransformBaseType InitialTransformInverseTransformBaseType
 
typedef InitialTransformType::Pointer InitialTransformPointer
 
typedef Superclass InitialTransformType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef Superclass::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef Superclass::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
 
typedef Superclass::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef Superclass::MovingImageGradientType MovingImageGradientType
 
typedef Superclass::MovingImageGradientValueType MovingImageGradientValueType
 
typedef Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedCombinationTransform Self
 
typedef Superclass::SpatialHessianType SpatialHessianType
 
typedef Superclass::SpatialJacobianType SpatialJacobianType
 
typedef AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > Superclass
 
typedef Superclass::TransformCategoryEnum TransformCategoryEnum
 
typedef OutputPointType(Self::* TransformPointFunctionPointer) (const InputPointType &) const
 
typedef Superclass::TransformType TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::FixedParametersType FixedParametersType
 
typedef Superclass::InputCovariantVectorType InputCovariantVectorType
 
typedef Superclass::InputPointType InputPointType
 
typedef Superclass::InputVectorType InputVectorType
 
typedef Superclass::InputVnlVectorType InputVnlVectorType
 
typedef SpatialJacobianType::InternalMatrixType InternalMatrixType
 
typedef Superclass::InverseTransformBasePointer InverseTransformBasePointer
 
typedef Superclass::InverseTransformBaseType InverseTransformBaseType
 
typedef std::vector< SpatialHessianTypeJacobianOfSpatialHessianType
 
typedef std::vector< SpatialJacobianTypeJacobianOfSpatialJacobianType
 
typedef Superclass::JacobianType JacobianType
 
typedef OutputCovariantVectorType MovingImageGradientType
 
typedef MovingImageGradientType::ValueType MovingImageGradientValueType
 
typedef std::vector< unsigned long > NonZeroJacobianIndicesType
 
typedef Superclass::NumberOfParametersType NumberOfParametersType
 
typedef Superclass::OutputCovariantVectorType OutputCovariantVectorType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::OutputVectorType OutputVectorType
 
typedef Superclass::OutputVnlVectorType OutputVnlVectorType
 
typedef Superclass::ParametersType ParametersType
 
typedef Superclass::ParametersValueType ParametersValueType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::ScalarType ScalarType
 
typedef AdvancedTransform Self
 
typedef FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > SpatialHessianType
 
typedef Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > SpatialJacobianType
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > Superclass
 
typedef Transform< elx::TransformBase< TElastix >::CoordRepType, NInputDimensions, NOutputDimensions > TransformType
 
typedef TransformType::ConstPointer TransformTypeConstPointer
 
typedef TransformType::Pointer TransformTypePointer
 
- Public Types inherited from elastix::TransformBase< TElastix >
typedef itk::AdvancedCombinationTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension) > CombinationTransformType
 
typedef ConfigurationType::CommandLineArgumentMapType CommandLineArgumentMapType
 
typedef ConfigurationType::CommandLineEntryType CommandLineEntryType
 
typedef ComponentDatabase ComponentDatabaseType
 
typedef ComponentDatabaseType::ComponentDescriptionType ComponentDescriptionType
 
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef ElastixType::CoordRepType CoordRepType
 
typedef itk::Image< VectorPixelType, FixedImageDimension > DeformationFieldImageType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef ElastixType::FixedImageType FixedImageType
 
typedef CombinationTransformType::InitialTransformType InitialTransformType
 
typedef ITKBaseType::InputPointType InputPointType
 
typedef itk::AdvancedTransform< CoordRepType, itkGetStaticConstMacro(FixedImageDimension), itkGetStaticConstMacro(MovingImageDimension) > ITKBaseType
 
typedef RegistrationType::ITKBaseType ITKRegistrationType
 
typedef ElastixType::MovingImageType MovingImageType
 
typedef itk::Object ObjectType
 
typedef ITKRegistrationType::OptimizerType OptimizerType
 
typedef ITKBaseType::OutputPointType OutputPointType
 
typedef ElastixType::ParameterMapType ParameterMapType
 
typedef ITKBaseType::ParametersType ParametersType
 
typedef elx::ProgressCommand ProgressCommandType
 
typedef ComponentDatabase::PtrToCreator PtrToCreator
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef OptimizerType::ScalesType ScalesType
 
typedef TransformBase Self
 
typedef BaseComponentSE< TElastix > Superclass
 
typedef ParametersType::ValueType ValueType
 
typedef itk::Vector< float, FixedImageDimension > VectorPixelType
 
- Public Types inherited from elastix::BaseComponentSE< TElastix >
typedef Configuration::Pointer ConfigurationPointer
 
typedef Configuration ConfigurationType
 
typedef itk::WeakPointer< ElastixTypeElastixPointer
 
typedef TElastix ElastixType
 
typedef RegistrationTypeRegistrationPointer
 
typedef ElastixType::RegistrationBaseType RegistrationType
 
typedef BaseComponentSE Self
 
typedef BaseComponent Superclass
 

Public Member Functions

void BeforeRegistration (void) override
 
 elxClassNameMacro ("SimilarityTransform")
 
virtual const char * GetClassName () const
 
virtual void InitializeTransform (void)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
void ReadFromFile (void) override
 
virtual void SetScales (void)
 
void WriteToFile (const ParametersType &param) const override
 
- Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const char * GetClassName () const
 
const FixedParametersTypeGetFixedParameters (void) const override
 
bool GetHasNonZeroSpatialHessian (void) const override
 
virtual bool GetInverse (Self *inverse) const
 
void GetJacobian (const InputPointType &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override
 
virtual const TransformTypePointer GetNthTransform (SizeValueType n) const
 
NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const override
 
NumberOfParametersType GetNumberOfParameters (void) const override
 
virtual SizeValueType GetNumberOfTransforms (void) const
 
const ParametersTypeGetParameters (void) const override
 
void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const override
 
void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const override
 
TransformCategoryEnum GetTransformCategory () const override
 
virtual bool GetUseAddition () const
 
virtual bool GetUseComposition () const
 
virtual bool HasNonZeroJacobianOfSpatialHessian (void) const
 
bool IsLinear (void) const override
 
 itkGetModifiableObjectMacro (CurrentTransform, CurrentTransformType)
 
 itkGetModifiableObjectMacro (InitialTransform, InitialTransformType)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions)
 
virtual void SetCurrentTransform (CurrentTransformType *_arg)
 
void SetFixedParameters (const FixedParametersType &fixedParam) override
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
void SetParameters (const ParametersType &param) override
 
void SetParametersByValue (const ParametersType &param) override
 
virtual void SetUseAddition (bool _arg)
 
virtual 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< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
void ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override
 
virtual void EvaluateJacobianWithImageGradientProduct (const InputPointType &ipp, 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 &ipp, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual void GetJacobianOfSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const=0
 
virtual NumberOfParametersType GetNumberOfNonZeroJacobianIndices (void) const
 
virtual void GetSpatialHessian (const InputPointType &ipp, SpatialHessianType &sh) const=0
 
virtual void GetSpatialJacobian (const InputPointType &ipp, SpatialJacobianType &sj) const=0
 
 itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 
- Public Member Functions inherited from elastix::TransformBase< TElastix >
void AfterRegistrationBase (void) override
 
int BeforeAllBase (void) override
 
virtual int BeforeAllTransformix (void)
 
void BeforeRegistrationBase (void) override
 
virtual void ComputeDeterminantOfSpatialJacobian (void) const
 
virtual void ComputeSpatialJacobian (void) const
 
virtual void CreateTransformParametersMap (const ParametersType &param, ParameterMapType *paramsMap) const
 
DeformationFieldImageType::Pointer GenerateDeformationFieldImage (void) const
 
virtual CombinationTransformTypeGetAsCombinationTransform (void)
 
virtual const CombinationTransformTypeGetAsCombinationTransform (void) const
 
virtual ITKBaseTypeGetAsITKBaseType (void)
 
virtual const ITKBaseTypeGetAsITKBaseType (void) const
 
virtual const char * GetClassName () const
 
virtual const InitialTransformTypeGetInitialTransform (void) const
 
virtual const char * GetTransformParametersFileName () const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (TransformBase)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
virtual void ReadFromFile (void)
 
virtual void ReadInitialTransformFromFile (const char *transformParameterFileName)
 
virtual void ReadInitialTransformFromVector (const vcl_size_t index)
 
virtual void SetFinalParameters (void)
 
virtual void SetInitialTransform (InitialTransformType *_arg)
 
virtual void SetReadWriteTransformParameters (const bool _arg)
 
virtual void SetTransformParametersFileName (const char *filename)
 
virtual void TransformPoints (void) const
 
virtual void TransformPointsAllPoints (void) const
 
virtual void TransformPointsSomePoints (const std::string filename) const
 
virtual void TransformPointsSomePointsVTK (const std::string filename) const
 
void WriteDeformationFieldImage (typename DeformationFieldImageType::Pointer) const
 
virtual void WriteToFile (const ParametersType &param) const
 
virtual void WriteToFile (void) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
ConfigurationTypeGetConfiguration (void) const
 
ElastixTypeGetElastix (void) const
 
RegistrationPointer GetRegistration (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE)
 
void SetConfiguration (ConfigurationType *_arg)
 
void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration (void)
 
virtual void AfterEachIterationBase (void)
 
virtual void AfterEachResolution (void)
 
virtual void AfterEachResolutionBase (void)
 
virtual void AfterRegistration (void)
 
virtual void AfterRegistrationBase (void)
 
virtual int BeforeAll (void)
 
virtual int BeforeAllBase (void)
 
virtual void BeforeEachResolution (void)
 
virtual void BeforeEachResolutionBase (void)
 
virtual void BeforeRegistration (void)
 
virtual void BeforeRegistrationBase (void)
 
virtual const char * elxGetClassName (void) const
 
const char * GetComponentLabel (void) const
 
 ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponent)
 
 itkTypeMacroNoParent (BaseComponent)
 
void SetComponentLabel (const char *label, unsigned int idx)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
static Pointer New ()
 
- Static Public Member Functions inherited from elastix::BaseComponent
static std::string ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision)
 
static void InitializeElastixExecutable ()
 
static bool IsElastixLibrary ()
 

Protected Member Functions

virtual bool ReadCenterOfRotationIndex (InputPointType &rotationPoint) const
 
virtual bool ReadCenterOfRotationPoint (InputPointType &rotationPoint) const
 
 SimilarityTransformElastix ()
 
 ~SimilarityTransformElastix () override
 
- Protected Member Functions inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
 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 &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoCurrentTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
virtual void GetJacobianOfSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const
 
void GetJacobianOfSpatialJacobianUseComposition (const InputPointType &ipp, 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 &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianNoInitialTransform (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseAddition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialHessianUseComposition (const InputPointType &ipp, SpatialHessianType &sh) const
 
void GetSpatialJacobianNoCurrentTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianNoInitialTransform (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseAddition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
void GetSpatialJacobianUseComposition (const InputPointType &ipp, SpatialJacobianType &sj) const
 
virtual void NoCurrentTransformSet (void) 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
 
virtual void UpdateCombinationMethod (void)
 
 ~AdvancedCombinationTransform () override
 
- Protected Member Functions inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
 AdvancedTransform ()
 
 AdvancedTransform (NumberOfParametersType numberOfParameters)
 
 ~AdvancedTransform () override
 
- Protected Member Functions inherited from elastix::TransformBase< TElastix >
void AutomaticScalesEstimation (ScalesType &scales) const
 
void AutomaticScalesEstimationStackTransform (const unsigned int &numSubTransforms, ScalesType &scales) 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

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

Private Attributes

SimilarityTransformPointer m_SimilarityTransform
 

Additional Inherited Members

- Protected Attributes inherited from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >
CurrentTransformPointer m_CurrentTransform
 
InitialTransformPointer m_InitialTransform
 
EvaluateJacobianWithImageGradientProductFunctionPointer m_SelectedEvaluateJacobianWithImageGradientProductFunction
 
GetJacobianOfSpatialHessianFunctionPointer m_SelectedGetJacobianOfSpatialHessianFunction
 
GetJacobianOfSpatialHessianFunctionPointer2 m_SelectedGetJacobianOfSpatialHessianFunction2
 
GetJacobianOfSpatialJacobianFunctionPointer m_SelectedGetJacobianOfSpatialJacobianFunction
 
GetJacobianOfSpatialJacobianFunctionPointer2 m_SelectedGetJacobianOfSpatialJacobianFunction2
 
GetSparseJacobianFunctionPointer m_SelectedGetSparseJacobianFunction
 
GetSpatialHessianFunctionPointer m_SelectedGetSpatialHessianFunction
 
GetSpatialJacobianFunctionPointer m_SelectedGetSpatialJacobianFunction
 
TransformPointFunctionPointer m_SelectedTransformPointFunction
 
bool m_UseAddition
 
bool m_UseComposition
 
- Protected Attributes inherited from itk::AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
ConfigurationPointer m_Configuration {}
 
ElastixPointer m_Elastix {}
 
RegistrationPointer m_Registration {}
 

Member Typedef Documentation

◆ CombinationTransformType

template<class TElastix >
typedef Superclass2::CombinationTransformType elastix::SimilarityTransformElastix< TElastix >::CombinationTransformType

Definition at line 149 of file elxSimilarityTransform.h.

◆ ConfigurationPointer

template<class TElastix >
typedef Superclass2::ConfigurationPointer elastix::SimilarityTransformElastix< TElastix >::ConfigurationPointer

Definition at line 142 of file elxSimilarityTransform.h.

◆ ConfigurationType

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::SimilarityTransformElastix< TElastix >::ConfigurationType

Definition at line 141 of file elxSimilarityTransform.h.

◆ ConstPointer

template<class TElastix >
typedef itk::SmartPointer< const Self > elastix::SimilarityTransformElastix< TElastix >::ConstPointer

Definition at line 94 of file elxSimilarityTransform.h.

◆ CoordRepType

template<class TElastix >
typedef Superclass2::CoordRepType elastix::SimilarityTransformElastix< TElastix >::CoordRepType

Definition at line 145 of file elxSimilarityTransform.h.

◆ DirectionType

template<class TElastix >
typedef FixedImageType::DirectionType elastix::SimilarityTransformElastix< TElastix >::DirectionType

Definition at line 158 of file elxSimilarityTransform.h.

◆ ElastixPointer

template<class TElastix >
typedef Superclass2::ElastixPointer elastix::SimilarityTransformElastix< TElastix >::ElastixPointer

Definition at line 140 of file elxSimilarityTransform.h.

◆ ElastixType

template<class TElastix >
typedef Superclass2::ElastixType elastix::SimilarityTransformElastix< TElastix >::ElastixType

Typedef's inherited from TransformBase.

Definition at line 139 of file elxSimilarityTransform.h.

◆ FixedImageType

template<class TElastix >
typedef Superclass2::FixedImageType elastix::SimilarityTransformElastix< TElastix >::FixedImageType

Definition at line 146 of file elxSimilarityTransform.h.

◆ IndexType

template<class TElastix >
typedef FixedImageType::IndexType elastix::SimilarityTransformElastix< TElastix >::IndexType

Other typedef's.

Definition at line 152 of file elxSimilarityTransform.h.

◆ IndexValueType

template<class TElastix >
typedef IndexType::IndexValueType elastix::SimilarityTransformElastix< TElastix >::IndexValueType

Definition at line 153 of file elxSimilarityTransform.h.

◆ InputCovariantVectorType

template<class TElastix >
typedef Superclass1::InputCovariantVectorType elastix::SimilarityTransformElastix< TElastix >::InputCovariantVectorType

Definition at line 129 of file elxSimilarityTransform.h.

◆ InputPointType

template<class TElastix >
typedef Superclass1::InputPointType elastix::SimilarityTransformElastix< TElastix >::InputPointType

Definition at line 125 of file elxSimilarityTransform.h.

◆ InputVectorType

template<class TElastix >
typedef Superclass1::InputVectorType elastix::SimilarityTransformElastix< TElastix >::InputVectorType

Definition at line 127 of file elxSimilarityTransform.h.

◆ InputVnlVectorType

template<class TElastix >
typedef Superclass1::InputVnlVectorType elastix::SimilarityTransformElastix< TElastix >::InputVnlVectorType

Definition at line 131 of file elxSimilarityTransform.h.

◆ ITKBaseType

template<class TElastix >
typedef Superclass2::ITKBaseType elastix::SimilarityTransformElastix< TElastix >::ITKBaseType

Definition at line 148 of file elxSimilarityTransform.h.

◆ JacobianType

template<class TElastix >
typedef Superclass1::JacobianType elastix::SimilarityTransformElastix< TElastix >::JacobianType

Definition at line 123 of file elxSimilarityTransform.h.

◆ MovingImageType

template<class TElastix >
typedef Superclass2::MovingImageType elastix::SimilarityTransformElastix< TElastix >::MovingImageType

Definition at line 147 of file elxSimilarityTransform.h.

◆ NumberOfParametersType

template<class TElastix >
typedef Superclass1::NumberOfParametersType elastix::SimilarityTransformElastix< TElastix >::NumberOfParametersType

Definition at line 122 of file elxSimilarityTransform.h.

◆ OffsetType

template<class TElastix >
typedef SimilarityTransformType::OffsetType elastix::SimilarityTransformElastix< TElastix >::OffsetType

Definition at line 136 of file elxSimilarityTransform.h.

◆ OutputCovariantVectorType

template<class TElastix >
typedef Superclass1::OutputCovariantVectorType elastix::SimilarityTransformElastix< TElastix >::OutputCovariantVectorType

Definition at line 130 of file elxSimilarityTransform.h.

◆ OutputPointType

template<class TElastix >
typedef Superclass1::OutputPointType elastix::SimilarityTransformElastix< TElastix >::OutputPointType

Definition at line 126 of file elxSimilarityTransform.h.

◆ OutputVectorType

template<class TElastix >
typedef Superclass1::OutputVectorType elastix::SimilarityTransformElastix< TElastix >::OutputVectorType

Definition at line 128 of file elxSimilarityTransform.h.

◆ OutputVnlVectorType

template<class TElastix >
typedef Superclass1::OutputVnlVectorType elastix::SimilarityTransformElastix< TElastix >::OutputVnlVectorType

Definition at line 132 of file elxSimilarityTransform.h.

◆ ParametersType

template<class TElastix >
typedef Superclass1::ParametersType elastix::SimilarityTransformElastix< TElastix >::ParametersType

Definition at line 121 of file elxSimilarityTransform.h.

◆ Pointer

template<class TElastix >
typedef itk::SmartPointer< Self > elastix::SimilarityTransformElastix< TElastix >::Pointer

Definition at line 93 of file elxSimilarityTransform.h.

◆ PointType

template<class TElastix >
typedef FixedImageType::PointType elastix::SimilarityTransformElastix< TElastix >::PointType

Definition at line 155 of file elxSimilarityTransform.h.

◆ RegionType

template<class TElastix >
typedef FixedImageType::RegionType elastix::SimilarityTransformElastix< TElastix >::RegionType

Definition at line 157 of file elxSimilarityTransform.h.

◆ RegistrationPointer

template<class TElastix >
typedef Superclass2::RegistrationPointer elastix::SimilarityTransformElastix< TElastix >::RegistrationPointer

Definition at line 144 of file elxSimilarityTransform.h.

◆ RegistrationType

template<class TElastix >
typedef Superclass2::RegistrationType elastix::SimilarityTransformElastix< TElastix >::RegistrationType

Definition at line 143 of file elxSimilarityTransform.h.

◆ ScalarType

template<class TElastix >
typedef Superclass1::ScalarType elastix::SimilarityTransformElastix< TElastix >::ScalarType

Typedefs inherited from the superclass. These are both in Similarity2D and Similarity3D.

Definition at line 120 of file elxSimilarityTransform.h.

◆ ScalesType

template<class TElastix >
typedef Superclass2::ScalesType elastix::SimilarityTransformElastix< TElastix >::ScalesType

For scales setting in the optimizer

Definition at line 165 of file elxSimilarityTransform.h.

◆ Self

template<class TElastix >
typedef SimilarityTransformElastix elastix::SimilarityTransformElastix< TElastix >::Self

Standard ITK-stuff.

Definition at line 88 of file elxSimilarityTransform.h.

◆ SimilarityTransformPointer

template<class TElastix >
typedef SimilarityTransformType::Pointer elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformPointer

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

Definition at line 135 of file elxSimilarityTransform.h.

◆ SimilarityTransformType

template<class TElastix >
typedef itk::SimilarityTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformType

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

Definition at line 100 of file elxSimilarityTransform.h.

◆ SizeType

template<class TElastix >
typedef FixedImageType::SizeType elastix::SimilarityTransformElastix< TElastix >::SizeType

Definition at line 154 of file elxSimilarityTransform.h.

◆ SpacingType

template<class TElastix >
typedef FixedImageType::SpacingType elastix::SimilarityTransformElastix< TElastix >::SpacingType

Definition at line 156 of file elxSimilarityTransform.h.

◆ Superclass1

template<class TElastix >
typedef itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > elastix::SimilarityTransformElastix< TElastix >::Superclass1

Definition at line 91 of file elxSimilarityTransform.h.

◆ Superclass2

template<class TElastix >
typedef elx::TransformBase< TElastix > elastix::SimilarityTransformElastix< TElastix >::Superclass2

Definition at line 92 of file elxSimilarityTransform.h.

◆ TransformInitializerPointer

template<class TElastix >
typedef TransformInitializerType::Pointer elastix::SimilarityTransformElastix< TElastix >::TransformInitializerPointer

Definition at line 162 of file elxSimilarityTransform.h.

◆ TransformInitializerType

template<class TElastix >
typedef itk::CenteredTransformInitializer< SimilarityTransformType, FixedImageType, MovingImageType > elastix::SimilarityTransformElastix< TElastix >::TransformInitializerType

Definition at line 161 of file elxSimilarityTransform.h.

Constructor & Destructor Documentation

◆ SimilarityTransformElastix() [1/2]

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

The constructor.

◆ ~SimilarityTransformElastix()

template<class TElastix >
elastix::SimilarityTransformElastix< TElastix >::~SimilarityTransformElastix ( )
inlineoverrideprotected

The destructor.

Definition at line 215 of file elxSimilarityTransform.h.

◆ SimilarityTransformElastix() [2/2]

template<class TElastix >
elastix::SimilarityTransformElastix< TElastix >::SimilarityTransformElastix ( const Self )
private

The private constructor.

Member Function Documentation

◆ BeforeRegistration()

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

Execute stuff before the actual registration:

  • Call InitializeTransform
  • Set the scales.

Reimplemented from elastix::BaseComponent.

◆ elxClassNameMacro()

template<class 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")

◆ GetClassName()

template<class TElastix >
virtual const char * elastix::SimilarityTransformElastix< TElastix >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

◆ InitializeTransform()

template<class TElastix >
virtual void elastix::SimilarityTransformElastix< TElastix >::InitializeTransform ( void  )
virtual

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.

◆ itkStaticConstMacro()

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

Dimension of the fixed image.

◆ New()

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

Method for creation through the object factory.

◆ operator=()

template<class TElastix >
void elastix::SimilarityTransformElastix< TElastix >::operator= ( const Self )
private

The private copy constructor.

◆ ReadCenterOfRotationIndex()

template<class TElastix >
virtual bool elastix::SimilarityTransformElastix< TElastix >::ReadCenterOfRotationIndex ( InputPointType rotationPoint) const
protectedvirtual

Try to read the CenterOfRotation from the transform parameter file This is an index value, and, thus, converted to world coordinates. Transform parameter files generated by elastix version < 3.402 saved the center of rotation in this way.

◆ ReadCenterOfRotationPoint()

template<class TElastix >
virtual bool elastix::SimilarityTransformElastix< TElastix >::ReadCenterOfRotationPoint ( InputPointType rotationPoint) const
protectedvirtual

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<class TElastix >
void elastix::SimilarityTransformElastix< TElastix >::ReadFromFile ( void  )
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<class TElastix >
virtual void elastix::SimilarityTransformElastix< TElastix >::SetScales ( void  )
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

◆ WriteToFile()

template<class TElastix >
void elastix::SimilarityTransformElastix< TElastix >::WriteToFile ( const ParametersType param) const
overridevirtual

Function to write transform-parameters to a file. It writes the center of rotation to file and calls the superclass' implementation.

Reimplemented from elastix::TransformBase< TElastix >.

Field Documentation

◆ m_SimilarityTransform

template<class TElastix >
SimilarityTransformPointer elastix::SimilarityTransformElastix< TElastix >::m_SimilarityTransform
private

Definition at line 238 of file elxSimilarityTransform.h.



Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo