![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxEulerTransform.h>
A transform based on the itk EulerTransforms.
This transform is a rigid body transformation.
The parameters used in this class are:
Transform: Select this transform as follows:
(Transform "EulerTransform")
Scales: the scale factor between the rotations and translations, used in the optimizer.
example: (Scales 200000.0)
example: (Scales 100000.0 60000.0 ... 80000.0)
If only one argument is given, that factor is used for the rotations. If more than one argument is given, then 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. See also the AutomaticScalesEstimation parameter.
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:
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 74 of file elxEulerTransform.h.
Public Types | |
using | CombinationTransformType = typename Superclass2::CombinationTransformType |
using | ConstPointer = itk::SmartPointer< const Self > |
using | CoordRepType = ElastixBase::CoordRepType |
using | DirectionType = typename FixedImageType::DirectionType |
using | EulerTransformPointer = typename EulerTransformType::Pointer |
using | EulerTransformType = itk::EulerTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > |
using | FixedImageType = typename TElastix::FixedImageType |
using | IndexType = typename FixedImageType::IndexType |
using | IndexValueType = typename IndexType::IndexValueType |
using | ITKBaseType = typename Superclass2::ITKBaseType |
using | MovingImageType = typename TElastix::MovingImageType |
using | OffsetType = typename EulerTransformType::OffsetType |
using | ParameterMapType = typename TElastix::ParameterMapType |
using | Pointer = itk::SmartPointer< Self > |
using | PointType = typename FixedImageType::PointType |
using | RegionType = typename FixedImageType::RegionType |
using | ScalesType = typename OptimizerType::ScalesType |
using | Self = EulerTransformElastix |
using | SizeType = typename FixedImageType::SizeType |
using | SpacingType = typename FixedImageType::SpacingType |
using | Superclass1 = itk::AdvancedCombinationTransform< typename elx::TransformBase< TElastix >::CoordRepType, elx::TransformBase< TElastix >::FixedImageDimension > |
using | Superclass2 = elx::TransformBase< TElastix > |
using | TransformInitializerPointer = typename TransformInitializerType::Pointer |
using | TransformInitializerType = itk::CenteredTransformInitializer< EulerTransformType, FixedImageType, MovingImageType > |
![]() | |
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 | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | Pointer = SmartPointer< Self > |
using | Self = AdvancedCombinationTransform |
using | Superclass = AdvancedTransform< elx::TransformBase< TElastix >::CoordRepType, NDimensions, NDimensions > |
using | TransformType = typename Superclass::TransformType |
using | TransformTypeConstPointer = typename TransformType::ConstPointer |
using | TransformTypePointer = typename TransformType::Pointer |
![]() | |
using | ConstPointer = SmartPointer< const Self > |
using | InternalMatrixType = typename SpatialJacobianType::InternalMatrixType |
using | InverseTransformBaseType = typename Superclass::InverseTransformBaseType |
using | JacobianOfSpatialHessianType = std::vector< SpatialHessianType > |
using | JacobianOfSpatialJacobianType = std::vector< SpatialJacobianType > |
using | MovingImageGradientType = OutputCovariantVectorType |
using | MovingImageGradientValueType = typename MovingImageGradientType::ValueType |
using | NonZeroJacobianIndicesType = std::vector< unsigned long > |
using | Pointer = SmartPointer< Self > |
using | Self = AdvancedTransform |
using | SpatialHessianType = FixedArray< Matrix< ScalarType, InputSpaceDimension, InputSpaceDimension >, OutputSpaceDimension > |
using | SpatialJacobianType = Matrix< ScalarType, OutputSpaceDimension, InputSpaceDimension > |
using | Superclass = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
using | TransformType = Transform< TScalarType, NInputDimensions, NOutputDimensions > |
using | TransformTypeConstPointer = typename TransformType::ConstPointer |
using | TransformTypePointer = typename TransformType::Pointer |
![]() | |
using | CombinationTransformType = itk::AdvancedCombinationTransform< CoordRepType, Self::FixedImageDimension > |
using | CommandLineArgumentMapType = Configuration ::CommandLineArgumentMapType |
using | CommandLineEntryType = Configuration ::CommandLineEntryType |
using | ComponentDescriptionType = ComponentDatabase::ComponentDescriptionType |
using | CoordRepType = ElastixBase::CoordRepType |
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 | ProgressCommandType = elx::ProgressCommand |
using | PtrToCreator = ComponentDatabase::PtrToCreator |
using | RegistrationType = typename ElastixType::RegistrationBaseType |
using | ScalesType = typename OptimizerType::ScalesType |
using | Self = TransformBase |
using | SpatialJacobianDeterminantImageType = itk::Image< float, FixedImageDimension > |
using | SpatialJacobianMatrixImageType = itk::Image< itk::Matrix< float, MovingImageDimension, FixedImageDimension >, FixedImageDimension > |
using | Superclass = BaseComponentSE< TElastix > |
using | ValueType = double |
using | VectorPixelType = itk::Vector< float, FixedImageDimension > |
![]() | |
using | ConfigurationPointer = Configuration::Pointer |
using | ElastixType = TElastix |
using | RegistrationType = typename ElastixType::RegistrationBaseType |
using | Self = BaseComponentSE |
using | Superclass = BaseComponent |
Public Member Functions | |
void | BeforeRegistration () override |
elxClassNameMacro ("EulerTransform") | |
virtual const char * | GetClassName () const |
ITK_DISALLOW_COPY_AND_MOVE (EulerTransformElastix) | |
itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension) | |
void | ReadFromFile () override |
virtual void | SetScales () |
![]() | |
void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const override |
virtual const char * | GetClassName () const |
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) | |
itkStaticConstMacro (SpaceDimension, unsigned int, NDimensions) | |
void | SetCurrentTransform (CurrentTransformType *_arg) |
void | SetFixedParameters (const FixedParametersType &fixedParam) override |
void | SetInitialTransform (InitialTransformType *_arg) |
void | SetParameters (const ParametersType ¶m) override |
void | SetParametersByValue (const ParametersType ¶m) 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 |
![]() | |
void | ComputeJacobianWithRespectToParameters (const InputPointType &, JacobianType &) const override |
virtual void | EvaluateJacobianWithImageGradientProduct (const InputPointType &inputPoint, const MovingImageGradientType &movingImageGradient, DerivativeType &imageJacobian, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const |
virtual const char * | GetClassName () const |
virtual bool | GetHasNonZeroJacobianOfSpatialHessian () const |
virtual bool | GetHasNonZeroSpatialHessian () const |
virtual void | GetJacobian (const InputPointType &inputPoint, JacobianType &j, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh, JacobianOfSpatialHessianType &jsh, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual void | GetJacobianOfSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj, JacobianOfSpatialJacobianType &jsj, NonZeroJacobianIndicesType &nonZeroJacobianIndices) const =0 |
virtual NumberOfParametersType | GetNumberOfNonZeroJacobianIndices () const |
virtual void | GetSpatialHessian (const InputPointType &inputPoint, SpatialHessianType &sh) const =0 |
virtual void | GetSpatialJacobian (const InputPointType &inputPoint, SpatialJacobianType &sj) const =0 |
ITK_DISALLOW_COPY_AND_MOVE (AdvancedTransform) | |
itkStaticConstMacro (InputSpaceDimension, unsigned int, NInputDimensions) | |
itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions) | |
![]() | |
int | BeforeAllTransformix () |
void | ComputeAndWriteSpatialJacobianDeterminantImage () const |
void | ComputeAndWriteSpatialJacobianMatrixImage () const |
SpatialJacobianDeterminantImageType::Pointer | ComputeSpatialJacobianDeterminantImage () const |
SpatialJacobianMatrixImageType::Pointer | ComputeSpatialJacobianMatrixImage () const |
void | CreateTransformParametersMap (const ParametersType ¶m, ParameterMapType ¶meterMap, const bool includeDerivedTransformParameters=true) const |
ITKBaseType * | GetAsITKBaseType () |
const ITKBaseType * | GetAsITKBaseType () const |
virtual const char * | GetClassName () const |
ITK_DISALLOW_COPY_AND_MOVE (TransformBase) | |
itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension) | |
itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension) | |
virtual void | ReadFromFile () |
void | ReadInitialTransformFromFile (const char *transformParameterFileName) |
void | SetFinalParameters () |
void | SetInitialTransform (InitialTransformType *_arg) |
void | SetReadWriteTransformParameters (const bool _arg) |
void | SetTransformParametersFileName (const char *filename) |
template<typename TMesh > | |
TMesh::Pointer | TransformMesh (const TMesh &mesh) const |
void | TransformPoints () const |
void | WriteToFile (xl::xoutsimple &transformationParameterInfo, const ParametersType ¶m) const |
![]() | |
void | AddTargetCellToIterationInfo (const char *const name) |
Configuration * | GetConfiguration () const |
ElastixType * | GetElastix () const |
xl::xoutbase & | GetIterationInfoAt (const char *const name) |
RegistrationType * | GetRegistration () const |
ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE) | |
int | RemoveTargetCellFromIterationInfo (const char *const name) |
void | SetConfiguration (Configuration *_arg) |
void | SetElastix (ElastixType *_arg) |
![]() | |
virtual void | AfterEachIteration () |
virtual void | AfterEachIterationBase () |
virtual void | AfterEachResolution () |
virtual void | AfterEachResolutionBase () |
virtual void | AfterRegistration () |
virtual void | AfterRegistrationBase () |
virtual int | BeforeAll () |
virtual int | BeforeAllBase () |
virtual void | BeforeEachResolution () |
virtual void | BeforeEachResolutionBase () |
virtual void | BeforeRegistration () |
virtual void | BeforeRegistrationBase () |
virtual const char * | elxGetClassName () const |
const char * | GetComponentLabel () const |
ITK_DISALLOW_COPY_AND_MOVE (BaseComponent) | |
itkTypeMacroNoParent (BaseComponent) | |
void | SetComponentLabel (const char *label, unsigned int idx) |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Private Member Functions | |
ParameterMapType | CreateDerivedTransformParametersMap () const override |
void | InitializeTransform () |
Private Attributes | |
elxOverrideGetSelfMacro | |
const EulerTransformPointer | m_EulerTransform { EulerTransformType::New() } |
Additional Inherited Members | |
![]() | |
bool | m_HasNonZeroJacobianOfSpatialHessian { true } |
bool | m_HasNonZeroSpatialHessian { true } |
![]() | |
ConfigurationPointer | m_Configuration {} |
itk::WeakPointer< TElastix > | m_Elastix {} |
RegistrationType * | m_Registration {} |
using elastix::EulerTransformElastix< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType |
Definition at line 142 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 96 of file elxEulerTransform.h.
using elastix::TransformBase< TElastix >::CoordRepType = ElastixBase::CoordRepType |
Elastix typedef's.
Definition at line 153 of file elxTransformBase.h.
using elastix::EulerTransformElastix< TElastix >::DirectionType = typename FixedImageType::DirectionType |
Definition at line 151 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::EulerTransformPointer = typename EulerTransformType::Pointer |
Definition at line 131 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::EulerTransformType = itk::EulerTransform<typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension> |
The ITK-class that provides most of the functionality, and that is set as the "CurrentTransform" in the CombinationTransform
Definition at line 92 of file elxEulerTransform.h.
using elastix::TransformBase< TElastix >::FixedImageType = typename TElastix::FixedImageType |
Definition at line 154 of file elxTransformBase.h.
using elastix::EulerTransformElastix< TElastix >::IndexType = typename FixedImageType::IndexType |
Other typedef's.
Definition at line 145 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::IndexValueType = typename IndexType::IndexValueType |
Definition at line 146 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 141 of file elxEulerTransform.h.
using elastix::TransformBase< TElastix >::MovingImageType = typename TElastix::MovingImageType |
Definition at line 155 of file elxTransformBase.h.
using elastix::EulerTransformElastix< TElastix >::OffsetType = typename EulerTransformType::OffsetType |
Definition at line 132 of file elxEulerTransform.h.
using elastix::TransformBase< TElastix >::ParameterMapType = typename TElastix::ParameterMapType |
Typedef that is used in the elastix dll version.
Definition at line 199 of file elxTransformBase.h.
using elastix::EulerTransformElastix< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 95 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::PointType = typename FixedImageType::PointType |
Definition at line 148 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::RegionType = typename FixedImageType::RegionType |
Definition at line 150 of file elxEulerTransform.h.
using elastix::TransformBase< TElastix >::ScalesType = typename OptimizerType::ScalesType |
Definition at line 190 of file elxTransformBase.h.
using elastix::EulerTransformElastix< TElastix >::Self = EulerTransformElastix |
Standard ITK-stuff.
Definition at line 83 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::SizeType = typename FixedImageType::SizeType |
Definition at line 147 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::SpacingType = typename FixedImageType::SpacingType |
Definition at line 149 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::Superclass1 = itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension> |
Definition at line 85 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::Superclass2 = elx::TransformBase<TElastix> |
Definition at line 88 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::TransformInitializerPointer = typename TransformInitializerType::Pointer |
Definition at line 155 of file elxEulerTransform.h.
using elastix::EulerTransformElastix< TElastix >::TransformInitializerType = itk::CenteredTransformInitializer<EulerTransformType, FixedImageType, MovingImageType> |
Definition at line 153 of file elxEulerTransform.h.
|
protected |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Execute stuff before the actual registration:
Reimplemented from elastix::BaseComponent.
|
overrideprivatevirtual |
Creates a map of the parameters specific for this (derived) transform type.
Implements elastix::TransformBase< TElastix >.
elastix::EulerTransformElastix< TElastix >::elxClassNameMacro | ( | "EulerTransform" | ) |
Name of this class. Use this name in the parameter file to select this specific transform.
example: (Transform "EulerTransform")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::TransformBase< TElastix >.
|
private |
Initialize Transform.
It is not yet possible to enter an initial rotation angle.
elastix::EulerTransformElastix< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | EulerTransformElastix< TElastix > | ) |
elastix::EulerTransformElastix< TElastix >::itkStaticConstMacro | ( | SpaceDimension | , |
unsigned int | , | ||
Superclass2::FixedImageDimension | |||
) |
Dimension of the fixed image.
|
static |
Method for creation through the object factory.
|
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.
|
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 >.
|
virtual |
Set the scales
|
private |
Definition at line 199 of file elxEulerTransform.h.
|
private |
Definition at line 223 of file elxEulerTransform.h.
Generated on 2023-01-13
for elastix by ![]() |
![]() |