Loading...
Searching...
No Matches
elastix::EulerStackTransform< TElastix > Class Template Reference
Components » Transforms

`#include <elxEulerStackTransform.h>`

## Detailed Description

template<class TElastix>
class elastix::EulerStackTransform< TElastix >

A stack transform based on the itk EulerTransforms.

This transform is a rigid body transformation. Calls to TransformPoint and GetJacobian are redirected to the appropriate sub transform based on the last dimension (time) index.

This transform uses the size, spacing and origin of the last dimension of the fixed image to set the number of sub transforms, the origin of the first transform and the spacing between the transforms.

The parameters used in this class are:

Parameters

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

  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)

  ComputeZYX: whether the order of rotations is ZYX. Default: "false". When false, the order is ZXY.
  This parameter is only relevant for 3D transformation (i.e. when the stack transform is 4D), otherwise it is ignored.

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) deprecated! 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)

  StackSpacing: stores the spacing between the sub transforms.
  exanoke: (StackSpacing 1.0)

  StackOrigin: stores the origin of the first sub transform.
  exanoke: (StackOrigin 0.0)

  NumberOfSubTransforms: stores the number of sub transforms.
  exanoke: (NumberOfSubTransforms 10)

Todo

  It is unsure what happens when one of the image dimensions has length 1.

  The center of rotation point is not transformed with the initial transform yet.

Definition at line 84 of file elxEulerStackTransform.h.

Inheritance diagram for elastix::EulerStackTransform< TElastix >:
[legend]

## Public Types

using | CombinationTransformType = typename Superclass2::CombinationTransformType
using | ConstPointer = itk::SmartPointer<const Self>
using | ContinuousIndexType = typename itk::ContinuousIndex<CoordRepType, SpaceDimension>
using | CoordRepType
using | DirectionType = typename FixedImageType::DirectionType
using | EulerTransformPointer = typename EulerTransformType::Pointer
using | EulerTransformType
using | FixedImageType
using | IndexType = typename FixedImageType::IndexType
using | InputPointType = typename EulerTransformType::InputPointType
using | ITKBaseType = typename Superclass2::ITKBaseType
using | MovingImageType
using | ParameterMapType
using | Pointer = itk::SmartPointer<Self>
using | PointType = typename FixedImageType::PointType
using | ReducedDimensionContinuousIndexType = typename itk::ContinuousIndex<CoordRepType, ReducedSpaceDimension>
using | ReducedDimensionDirectionType = typename ReducedDimensionImageType::DirectionType
using | ReducedDimensionEulerTransformPointer = typename ReducedDimensionEulerTransformType::Pointer
using | ReducedDimensionEulerTransformType
using | ReducedDimensionImageType = itk::Image<PixelType, Self::ReducedSpaceDimension>
using | ReducedDimensionIndexType = typename ReducedDimensionRegionType::IndexType
using | ReducedDimensionInputPointType = typename ReducedDimensionEulerTransformType::InputPointType
using | ReducedDimensionOriginType = typename ReducedDimensionImageType::PointType
using | ReducedDimensionOutputVectorType = typename ReducedDimensionEulerTransformType::OutputVectorType
using | ReducedDimensionPointType = typename ReducedDimensionImageType::PointType
using | ReducedDimensionRegionType = itk::ImageRegion<Self::ReducedSpaceDimension>
using | ReducedDimensionSizeType = typename ReducedDimensionImageType::SizeType
using | ReducedDimensionSpacingType = typename ReducedDimensionImageType::SpacingType
using | RegionType = typename FixedImageType::RegionType
using | ScalesType
using | Self = EulerStackTransform
using | SizeType = typename FixedImageType::SizeType
using | SpacingType = typename FixedImageType::SpacingType
using | Superclass1
using | Superclass2 = elx::TransformBase<TElastix>
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<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 | 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

int | BeforeAll () override
void | BeforeRegistration () override
| elxClassNameMacro ("EulerStackTransform")
virtual const char * | GetClassName () const
virtual void | InitialTransformCenter (ReducedDimensionInputPointType &point)
| ITK_DISALLOW_COPY_AND_MOVE (EulerStackTransform)
| itkStaticConstMacro (ReducedSpaceDimension, unsigned int, Superclass2::FixedImageDimension - 1)
| 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)
| 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)
| 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
ITKBaseType * | GetAsITKBaseType ()
const ITKBaseType * | GetAsITKBaseType () const
| ITK_DISALLOW_COPY_AND_MOVE (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 Configuration * | GetConfiguration () const
ElastixType * | GetElastix () const
auto & | GetIterationInfoAt (const char *const name)
RegistrationType * | GetRegistration () 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 void | BeforeEachResolution ()
virtual void | BeforeEachResolutionBase ()
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 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

| EulerStackTransform ()
virtual bool | ReadCenterOfRotationPoint (ReducedDimensionInputPointType &rotationPoint) const
| ~EulerStackTransform () 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 Types

using | StackTransformType = itk::EulerStackTransform<SpaceDimension>

## Private Member Functions

ParameterMapType | CreateDerivedTransformParameterMap () const override
unsigned int | InitializeEulerTransform ()
void | InitializeTransform ()

## Private Attributes

| elxOverrideGetSelfMacro
ReducedDimensionEulerTransformPointer | m_DummySubTransform
unsigned int | m_NumberOfSubTransforms
double | m_StackOrigin
double | m_StackSpacing
const StackTransformType::Pointer | m_StackTransform { StackTransformType::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 {}
RegistrationType * | m_Registration {}

## Member Typedef Documentation

## CombinationTransformType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType

Definition at line 144 of file elxEulerStackTransform.h.

## ConstPointer

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 98 of file elxEulerStackTransform.h.

## ContinuousIndexType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ContinuousIndexType = typename itk::ContinuousIndex<CoordRepType, SpaceDimension>

Definition at line 168 of file elxEulerStackTransform.h.

## CoordRepType

template<class TElastix>

using elastix::TransformBase< TElastix >::CoordRepType

Elastix typedef's.

Definition at line 156 of file elxTransformBase.h.

## DirectionType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::DirectionType = typename FixedImageType::DirectionType

Definition at line 166 of file elxEulerStackTransform.h.

## EulerTransformPointer

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::EulerTransformPointer = typename EulerTransformType::Pointer

Definition at line 121 of file elxEulerStackTransform.h.

## EulerTransformType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::EulerTransformType

Initial value:
itk::EulerTransform<typename elx::TransformBase<TElastix>::CoordRepType, Self::SpaceDimension>
itk::EulerTransform
This class combines the Euler2DTransform with the Euler3DTransform.
Definition itkEulerTransform.h:89

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

Definition at line 119 of file elxEulerStackTransform.h.

## FixedImageType

template<class TElastix>

using elastix::TransformBase< TElastix >::FixedImageType

Definition at line 157 of file elxTransformBase.h.

## IndexType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::IndexType = typename FixedImageType::IndexType

Other typedef's.

Definition at line 161 of file elxEulerStackTransform.h.

## InputPointType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::InputPointType = typename EulerTransformType::InputPointType

Definition at line 122 of file elxEulerStackTransform.h.

## ITKBaseType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 143 of file elxEulerStackTransform.h.

## MovingImageType

template<class TElastix>

using elastix::TransformBase< TElastix >::MovingImageType

Definition at line 158 of file elxTransformBase.h.

## ParameterMapType

template<class TElastix>

using elastix::TransformBase< TElastix >::ParameterMapType

Typedef that is used in the elastix dll version.

Definition at line 199 of file elxTransformBase.h.

## Pointer

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 97 of file elxEulerStackTransform.h.

## PointType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::PointType = typename FixedImageType::PointType

Definition at line 163 of file elxEulerStackTransform.h.

## ReducedDimensionContinuousIndexType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionContinuousIndexType = typename itk::ContinuousIndex<CoordRepType, ReducedSpaceDimension>

Definition at line 167 of file elxEulerStackTransform.h.

## ReducedDimensionDirectionType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionDirectionType = typename ReducedDimensionImageType::DirectionType

Definition at line 154 of file elxEulerStackTransform.h.

## ReducedDimensionEulerTransformPointer

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionEulerTransformPointer = typename ReducedDimensionEulerTransformType::Pointer

Definition at line 127 of file elxEulerStackTransform.h.

## ReducedDimensionEulerTransformType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionEulerTransformType

Initial value:
itk::EulerTransform<typename elx::TransformBase<TElastix>::CoordRepType, Self::ReducedSpaceDimension>

The ITK-class for the sub transforms, which have a reduced dimension.

Definition at line 125 of file elxEulerStackTransform.h.

## ReducedDimensionImageType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionImageType = itk::Image<PixelType, Self::ReducedSpaceDimension>

Definition at line 148 of file elxEulerStackTransform.h.

## ReducedDimensionIndexType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionIndexType = typename ReducedDimensionRegionType::IndexType

Definition at line 152 of file elxEulerStackTransform.h.

## ReducedDimensionInputPointType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionInputPointType = typename ReducedDimensionEulerTransformType::InputPointType

Definition at line 130 of file elxEulerStackTransform.h.

## ReducedDimensionOriginType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionOriginType = typename ReducedDimensionImageType::PointType

Definition at line 155 of file elxEulerStackTransform.h.

## ReducedDimensionOutputVectorType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionOutputVectorType = typename ReducedDimensionEulerTransformType::OutputVectorType

Definition at line 129 of file elxEulerStackTransform.h.

## ReducedDimensionPointType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionPointType = typename ReducedDimensionImageType::PointType

Definition at line 150 of file elxEulerStackTransform.h.

## ReducedDimensionRegionType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionRegionType = itk::ImageRegion<Self::ReducedSpaceDimension>

Definition at line 149 of file elxEulerStackTransform.h.

## ReducedDimensionSizeType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionSizeType = typename ReducedDimensionImageType::SizeType

Definition at line 151 of file elxEulerStackTransform.h.

## ReducedDimensionSpacingType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::ReducedDimensionSpacingType = typename ReducedDimensionImageType::SpacingType

Definition at line 153 of file elxEulerStackTransform.h.

## RegionType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::RegionType = typename FixedImageType::RegionType

Definition at line 165 of file elxEulerStackTransform.h.

## ScalesType

template<class TElastix>

using elastix::TransformBase< TElastix >::ScalesType

Definition at line 190 of file elxTransformBase.h.

## Self

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::Self = EulerStackTransform

Standard ITK-stuff.

Definition at line 93 of file elxEulerStackTransform.h.

## SizeType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::SizeType = typename FixedImageType::SizeType

Definition at line 162 of file elxEulerStackTransform.h.

## SpacingType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::SpacingType = typename FixedImageType::SpacingType

Definition at line 164 of file elxEulerStackTransform.h.

## StackTransformType

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::StackTransformType = itk::EulerStackTransform<SpaceDimension>

private

The deleted copy constructor and assignment operator. Typedef for stack transform.

Definition at line 229 of file elxEulerStackTransform.h.

## Superclass1

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::Superclass1

Initial value:
itk::AdvancedCombinationTransform<typename elx::TransformBase<TElastix>::CoordRepType,
elx::TransformBase<TElastix>::FixedImageDimension>
elastix::TransformBase
This class is the elastix base class for all Transforms.
Definition elxTransformBase.h:138
itk::AdvancedCombinationTransform
This class combines two transforms: an 'initial transform' with a 'current transform'.
Definition itkAdvancedCombinationTransform.h:57

Definition at line 94 of file elxEulerStackTransform.h.

## Superclass2

template<class TElastix>

using elastix::EulerStackTransform< TElastix >::Superclass2 = elx::TransformBase<TElastix>

Definition at line 96 of file elxEulerStackTransform.h.

## Constructor & Destructor Documentation

## EulerStackTransform()

template<class TElastix>

elastix::EulerStackTransform< TElastix >::EulerStackTransform | ( |  | ) |

inline protected

The constructor.

Definition at line 203 of file elxEulerStackTransform.h.

## ~EulerStackTransform()

template<class TElastix>

elastix::EulerStackTransform< TElastix >::~EulerStackTransform | ( |  | ) |

override protected default

The destructor.

## Member Function Documentation

## BeforeAll()

template<class TElastix>

int elastix::EulerStackTransform< TElastix >::BeforeAll | ( |  | ) |

override virtual

Execute stuff before anything else is done:

Reimplemented from elastix::BaseComponent.

## BeforeRegistration()

template<class TElastix>

void elastix::EulerStackTransform< TElastix >::BeforeRegistration | ( |  | ) |

override virtual

Execute stuff before the actual registration:

- Set the stack transform parameters.
- Set initial sub transforms.
- Create initial registration parameters.

Reimplemented from elastix::BaseComponent.

## CreateDerivedTransformParameterMap()

template<class TElastix>

ParameterMapType elastix::EulerStackTransform< TElastix >::CreateDerivedTransformParameterMap | ( |  | ) | const

override private virtual

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

Implements elastix::TransformBase< TElastix >.

## elxClassNameMacro()

template<class TElastix>

elastix::EulerStackTransform< TElastix >::elxClassNameMacro | ( | "EulerStackTransform< TElastix >" |  | ) |

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

## GetClassName()

template<class TElastix>

virtual const char * elastix::EulerStackTransform< TElastix >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented from itk::AdvancedCombinationTransform< TScalarType, NDimensions >.

## InitializeEulerTransform()

template<class TElastix>

unsigned int elastix::EulerStackTransform< TElastix >::InitializeEulerTransform | ( |  | ) |

private

Initialize the affine transform.

## InitializeTransform()

template<class TElastix>

void elastix::EulerStackTransform< TElastix >::InitializeTransform | ( |  | ) |

private

Method initialize the parameters (to 0).

## InitialTransformCenter()

template<class TElastix>

virtual void elastix::EulerStackTransform< TElastix >::InitialTransformCenter | ( | ReducedDimensionInputPointType & | point | ) |

virtual

Function to rotate center of rotation point using initial transformation.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix>

elastix::EulerStackTransform< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | EulerStackTransform< TElastix > |  | ) |

## itkStaticConstMacro() [1/2]

template<class TElastix>

elastix::EulerStackTransform< TElastix >::itkStaticConstMacro | ( | ReducedSpaceDimension | ,
|  | unsigned int | ,
|  | Superclass2::FixedImageDimension - | 1 )

## itkStaticConstMacro() [2/2]

template<class TElastix>

elastix::EulerStackTransform< TElastix >::itkStaticConstMacro | ( | SpaceDimension | ,
|  | unsigned int | ,
|  | Superclass2::FixedImageDimension | )

(Reduced) dimension of the fixed image.

## New()

template<class TElastix>

Pointer elastix::EulerStackTransform< TElastix >::New | ( |  | ) |

static

Method for creation through the object factory.

## ReadCenterOfRotationPoint()

template<class TElastix>

virtual bool elastix::EulerStackTransform< TElastix >::ReadCenterOfRotationPoint | ( | ReducedDimensionInputPointType & | 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.

## ReadFromFile()

template<class TElastix>

void elastix::EulerStackTransform< TElastix >::ReadFromFile | ( |  | ) |

override virtual

Function to read transform-parameters from a file.

Reimplemented from elastix::TransformBase< TElastix >.

## SetScales()

template<class TElastix>

virtual void elastix::EulerStackTransform< 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

## Field Documentation

## elxOverrideGetSelfMacro

template<class TElastix>

elastix::EulerStackTransform< TElastix >::elxOverrideGetSelfMacro

private

Definition at line 217 of file elxEulerStackTransform.h.

## m_DummySubTransform

template<class TElastix>

ReducedDimensionEulerTransformPointer elastix::EulerStackTransform< TElastix >::m_DummySubTransform

private

Dummy sub transform to be used to set sub transforms of stack transform.

Definition at line 235 of file elxEulerStackTransform.h.

## m_NumberOfSubTransforms

template<class TElastix>

unsigned int elastix::EulerStackTransform< TElastix >::m_NumberOfSubTransforms

private

Stack variables.

Definition at line 238 of file elxEulerStackTransform.h.

## m_StackOrigin

template<class TElastix>

double elastix::EulerStackTransform< TElastix >::m_StackOrigin

private

Definition at line 239 of file elxEulerStackTransform.h.

## m_StackSpacing

template<class TElastix>

double elastix::EulerStackTransform< TElastix >::m_StackSpacing

private

Definition at line 239 of file elxEulerStackTransform.h.

## m_StackTransform

template<class TElastix>

const StackTransformType::Pointer elastix::EulerStackTransform< TElastix >::m_StackTransform { StackTransformType::New() }

private

The Affine stack transform.

Definition at line 232 of file elxEulerStackTransform.h.

Generated on 1768596610 for elastix by 1.15.0 |