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

A transform based on the itk SimilarityTransforms. More...

#include <elxSimilarityTransform.h>

Inheritance diagram for elastix::SimilarityTransformElastix< TElastix >:
Inheritance graph
[legend]
Collaboration diagram for elastix::SimilarityTransformElastix< TElastix >:
Collaboration graph
[legend]

Public Types

typedef
Superclass2::CombinationTransformType 
CombinationTransformType
typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass2::ConfigurationType 
ConfigurationType
typedef 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
SimilarityTransformType::OffsetType 
OffsetType
typedef
Superclass1::OutputCovariantVectorType 
OutputCovariantVectorType
typedef
Superclass1::OutputPointType 
OutputPointType
typedef
Superclass1::OutputVectorType 
OutputVectorType
typedef
Superclass1::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass1::ParametersType ParametersType
typedef 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 SimilarityTransform
< typename elx::TransformBase
< TElastix >::CoordRepType,
elx::TransformBase< TElastix >
::FixedImageDimension > 
SimilarityTransformType
typedef FixedImageType::SizeType SizeType
typedef FixedImageType::SpacingType SpacingType
typedef
AdvancedCombinationTransform
< typename elx::TransformBase
< TElastix >::CoordRepType,
elx::TransformBase< TElastix >
::FixedImageDimension > 
Superclass1
typedef elx::TransformBase
< TElastix > 
Superclass2
typedef
TransformInitializerType::Pointer 
TransformInitializerPointer
typedef
CenteredTransformInitializer
< SimilarityTransformType,
FixedImageType,
MovingImageType
TransformInitializerType

Public Member Functions

virtual void BeforeRegistration (void)
 elxClassNameMacro ("SimilarityTransform")
virtual const char * GetClassName () const
virtual void InitializeTransform (void)
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
virtual void ReadFromFile (void)
virtual void SetScales (void)
virtual void WriteToFile (const ParametersType &param) const

Static Public Member Functions

static Pointer New ()

Protected Member Functions

virtual bool ReadCenterOfRotationIndex (InputPointType &rotationPoint) const
virtual bool ReadCenterOfRotationPoint (InputPointType &rotationPoint) const
 SimilarityTransformElastix ()
virtual ~SimilarityTransformElastix ()

Private Member Functions

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

Private Attributes

SimilarityTransformPointer m_SimilarityTransform

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")
Parameters:
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.
Parameters:
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".
Parameters:
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.
Parameters:
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.
Parameters:
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!
Transform Parameters:
CenterOfRotationPoint: stores the center of rotation, expressed in world coordinates.
example: (CenterOfRotationPoint 10.555 6.666 12.345)

Definition at line 77 of file elxSimilarityTransform.h.


Member Typedef Documentation

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 146 of file elxSimilarityTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 139 of file elxSimilarityTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 138 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 142 of file elxSimilarityTransform.h.

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

Definition at line 155 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 137 of file elxSimilarityTransform.h.

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

Typedef's inherited from TransformBase.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 136 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 143 of file elxSimilarityTransform.h.

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

Other typedef's.

Definition at line 149 of file elxSimilarityTransform.h.

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

Definition at line 150 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 122 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 145 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 144 of file elxSimilarityTransform.h.

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

Definition at line 133 of file elxSimilarityTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 123 of file elxSimilarityTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 119 of file elxSimilarityTransform.h.

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

Definition at line 152 of file elxSimilarityTransform.h.

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

Definition at line 154 of file elxSimilarityTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 141 of file elxSimilarityTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 140 of file elxSimilarityTransform.h.

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

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

Reimplemented from itk::AdvancedCombinationTransform< elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension >.

Definition at line 118 of file elxSimilarityTransform.h.

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

For scales setting in the optimizer

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 162 of file elxSimilarityTransform.h.

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

Standard ITK-stuff.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 86 of file elxSimilarityTransform.h.

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 132 of file elxSimilarityTransform.h.

template<class TElastix >
typedef 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 98 of file elxSimilarityTransform.h.

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

Definition at line 151 of file elxSimilarityTransform.h.

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

Definition at line 153 of file elxSimilarityTransform.h.

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

Definition at line 89 of file elxSimilarityTransform.h.

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

Definition at line 90 of file elxSimilarityTransform.h.

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

Definition at line 159 of file elxSimilarityTransform.h.

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

Definition at line 158 of file elxSimilarityTransform.h.


Constructor & Destructor Documentation

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

The constructor.

template<class TElastix >
virtual elastix::SimilarityTransformElastix< TElastix >::~SimilarityTransformElastix ( ) [inline, protected, virtual]

The destructor.

Definition at line 212 of file elxSimilarityTransform.h.

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

The private constructor.


Member Function Documentation

template<class TElastix >
virtual void elastix::SimilarityTransformElastix< TElastix >::BeforeRegistration ( void  ) [virtual]

Execute stuff before the actual registration:

  • Call InitializeTransform
  • Set the scales.

Reimplemented from elastix::BaseComponent.

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

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

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

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.

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

Dimension of the fixed image.

template<class TElastix >
static Pointer elastix::SimilarityTransformElastix< TElastix >::New ( ) [static]
template<class TElastix >
void elastix::SimilarityTransformElastix< TElastix >::operator= ( const Self ) [private]

The private copy constructor.

template<class TElastix >
virtual bool elastix::SimilarityTransformElastix< TElastix >::ReadCenterOfRotationIndex ( InputPointType rotationPoint) const [protected, virtual]

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.

template<class TElastix >
virtual bool elastix::SimilarityTransformElastix< TElastix >::ReadCenterOfRotationPoint ( InputPointType rotationPoint) const [protected, virtual]

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.

template<class TElastix >
virtual void elastix::SimilarityTransformElastix< TElastix >::ReadFromFile ( void  ) [virtual]

Function to read transform-parameters from a file.

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

Reimplemented from elastix::TransformBase< TElastix >.

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
template<class TElastix >
virtual void elastix::SimilarityTransformElastix< TElastix >::WriteToFile ( const ParametersType param) const [virtual]

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

Definition at line 235 of file elxSimilarityTransform.h.



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