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

#include <elxWeightedCombinationTransform.h>

Detailed Description

template<class TElastix>
class elastix::WeightedCombinationTransformElastix< TElastix >

A transform based on the itk::WeightedCombinationTransform.

This transform is a weighted combination transformation. It implements $T(x) = \sum_i w_i T_i(x)$.

The transformparameters are the weighting factors $w_i$ for each subtransform $T_i(x)$. You could use this to implement registration using a statistical deformation model. Each subtransform would then be a principal component that follows from your statistical model for example.

A normalization factor can optionally be used: $T(x) = \sum_i w_i T_i(x) / \sum_i w_i$

You can also use this class to average transformations found by previous elastix runs.

The parameters used in this class are:

Parameters

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

NormalizeCombinationWeights: use the normalized expression $T(x) = \sum_i w_i T_i(x) / \sum_i w_i $.
(NormalizeCombinationWeights "true" )
Default value: "false". Different values in each resolution are not supported.

SubTransforms: a list of transform parameter filenames that will serve as subtransforms $T_i(x)$.
(SubTransforms "tp0.txt" "TransformParameters.1.txt" "tpbspline.txt" )

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

Scales: The scale factor for each transform parameter, during optimization.
If your input subtransforms have very different magnitudes, you may compensate for that by supplying scales, which will make the optimization CostFunction better behaving. For subtransforms with a high magnitude, provide a large scale then. NB: not in all cases you may want this. example: (Scales 1.0 1.0 10.0)
Default: 1 for each parameter. See also AutomaticScalesEstimation, which is more convenient.

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

Transform Parameters

NormalizeCombinationWeights: use the normalized expression $T(x) = \sum_i w_i T_i(x) / \sum_i w_i $.
(NormalizeCombinationWeights "true" )
Default value: "false". Different values in each resolution are not supported.

SubTransforms: a list of transform parameter filenames that will serve as subtransforms $T_i(x)$.
(SubTransforms "tp0.txt" "TransformParameters.1.txt" "tpbspline.txt" )

See also
WeightedCombinationTransform

Definition at line 82 of file elxWeightedCombinationTransform.h.

Inheritance diagram for elastix::WeightedCombinationTransformElastix< TElastix >:

Public Types

using CombinationTransformType = typename Superclass2::CombinationTransformType
 
using CommandLineArgumentMapType
 
using CommandLineEntryType
 
using ConstPointer = itk::SmartPointer<const Self>
 
using CoordRepType
 
using FixedImageType
 
using ITKBaseType = typename Superclass2::ITKBaseType
 
using MovingImageType
 
using ParameterMapType
 
using Pointer = itk::SmartPointer<Self>
 
using ScalesType
 
using Self = WeightedCombinationTransformElastix
 
using SubTransformPointer = typename WeightedCombinationTransformType::TransformPointer
 
using SubTransformType = typename WeightedCombinationTransformType::TransformType
 
using Superclass1
 
using Superclass2 = elx::TransformBase<TElastix>
 
using TransformContainerType = typename WeightedCombinationTransformType::TransformContainerType
 
using WeightedCombinationTransformPointer = typename WeightedCombinationTransformType::Pointer
 
using WeightedCombinationTransformType
 
- 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 InverseTransformBaseType = typename Superclass::InverseTransformBaseType
 
using Pointer = SmartPointer<Self>
 
using Self = AdvancedCombinationTransform
 
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

void BeforeRegistration () override
 
 elxClassNameMacro ("WeightedCombinationTransform")
 
virtual const char * GetClassName () const
 
 ITK_DISALLOW_COPY_AND_MOVE (WeightedCombinationTransformElastix)
 
 itkStaticConstMacro (SpaceDimension, unsigned int, Superclass2::FixedImageDimension)
 
virtual void LoadSubTransforms ()
 
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)
 
 itkStaticConstMacro (OutputSpaceDimension, unsigned int, NOutputDimensions)
 
- Public Member Functions inherited from elastix::TransformBase< TElastix >
int BeforeAllTransformix ()
 
void ComputeAndWriteSpatialJacobianDeterminantImage () const
 
void ComputeAndWriteSpatialJacobianMatrixImage () const
 
SpatialJacobianDeterminantImageType::Pointer ComputeSpatialJacobianDeterminantImage () const
 
SpatialJacobianMatrixImageType::Pointer ComputeSpatialJacobianMatrixImage () const
 
void CreateTransformParameterMap (const ParametersType &param, ParameterMapType &parameterMap, const bool includeDerivedTransformParameters=true) const
 
ITKBaseTypeGetAsITKBaseType ()
 
const ITKBaseTypeGetAsITKBaseType () const
 
 ITK_DISALLOW_COPY_AND_MOVE (TransformBase)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
 
void ReadInitialTransformFromFile (const std::string &transformParameterFileName)
 
void SetFinalParameters ()
 
void SetInitialTransform (InitialTransformType *_arg)
 
void SetReadWriteTransformParameters (const bool _arg)
 
void SetTransformParameterFileName (const std::string &filename)
 
template<typename TMesh >
TMesh::Pointer TransformMesh (const TMesh &mesh) const
 
void TransformPoints () const
 
void WriteToFile (std::ostream &transformationParameterInfo, const ParametersType &param) const
 
- Public Member Functions inherited from elastix::BaseComponentSE< TElastix >
void AddTargetCellToIterationInfo (const char *const name)
 
const ConfigurationGetConfiguration () const
 
ElastixTypeGetElastix () const
 
auto & GetIterationInfoAt (const char *const name)
 
RegistrationTypeGetRegistration () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponentSE)
 
void RemoveTargetCellFromIterationInfo (const char *const name)
 
void SetConfiguration (const Configuration *_arg)
 
void SetElastix (ElastixType *_arg)
 
- Public Member Functions inherited from elastix::BaseComponent
virtual void AfterEachIteration ()
 
virtual void AfterEachIterationBase ()
 
virtual void AfterEachResolution ()
 
virtual void AfterEachResolutionBase ()
 
virtual void AfterRegistration ()
 
virtual int BeforeAll ()
 
virtual void BeforeEachResolution ()
 
virtual void BeforeEachResolutionBase ()
 
virtual const char * elxGetClassName () const
 
const char * GetComponentLabel () const
 
 ITK_DISALLOW_COPY_AND_MOVE (BaseComponent)
 
 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

 WeightedCombinationTransformElastix ()
 
 ~WeightedCombinationTransformElastix () 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
 

Protected Attributes

std::vector< std::string > m_SubTransformFileNames
 
const WeightedCombinationTransformPointer m_WeightedCombinationTransform { WeightedCombinationTransformType::New() }
 
- Protected Attributes inherited from itk::AdvancedTransform< TScalarType, 3, 3 >
bool m_HasNonZeroJacobianOfSpatialHessian
 
bool m_HasNonZeroSpatialHessian
 
- Protected Attributes inherited from elastix::BaseComponentSE< TElastix >
Configuration::ConstPointer m_Configuration {}
 
itk::WeakPointer< TElastix > m_Elastix {}
 
RegistrationTypem_Registration {}
 

Private Member Functions

ParameterMapType CreateDerivedTransformParameterMap () const override
 
void InitializeTransform ()
 

Private Attributes

 elxOverrideGetSelfMacro
 

Member Typedef Documentation

◆ CombinationTransformType

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::CombinationTransformType = typename Superclass2::CombinationTransformType

Definition at line 145 of file elxWeightedCombinationTransform.h.

◆ CommandLineArgumentMapType

template<class TElastix >
using elastix::TransformBase< TElastix >::CommandLineArgumentMapType

Definition at line 152 of file elxTransformBase.h.

◆ CommandLineEntryType

template<class TElastix >
using elastix::TransformBase< TElastix >::CommandLineEntryType

Definition at line 153 of file elxTransformBase.h.

◆ ConstPointer

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 106 of file elxWeightedCombinationTransform.h.

◆ CoordRepType

template<class TElastix >
using elastix::TransformBase< TElastix >::CoordRepType

Elastix typedef's.

Definition at line 156 of file elxTransformBase.h.

◆ FixedImageType

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

Definition at line 157 of file elxTransformBase.h.

◆ ITKBaseType

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType

Definition at line 144 of file elxWeightedCombinationTransform.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::WeightedCombinationTransformElastix< TElastix >::Pointer = itk::SmartPointer<Self>

Definition at line 105 of file elxWeightedCombinationTransform.h.

◆ ScalesType

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

Definition at line 190 of file elxTransformBase.h.

◆ Self

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::Self = WeightedCombinationTransformElastix

Standard ITK-stuff.

Definition at line 91 of file elxWeightedCombinationTransform.h.

◆ SubTransformPointer

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::SubTransformPointer = typename WeightedCombinationTransformType::TransformPointer

Definition at line 153 of file elxWeightedCombinationTransform.h.

◆ SubTransformType

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::SubTransformType = typename WeightedCombinationTransformType::TransformType

Definition at line 152 of file elxWeightedCombinationTransform.h.

◆ Superclass1

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::Superclass1
Initial value:
This class is the elastix base class for all Transforms.
This class combines two transforms: an 'initial transform' with a 'current transform'.

Definition at line 93 of file elxWeightedCombinationTransform.h.

◆ Superclass2

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::Superclass2 = elx::TransformBase<TElastix>

Definition at line 96 of file elxWeightedCombinationTransform.h.

◆ TransformContainerType

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::TransformContainerType = typename WeightedCombinationTransformType::TransformContainerType

Definition at line 151 of file elxWeightedCombinationTransform.h.

◆ WeightedCombinationTransformPointer

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::WeightedCombinationTransformPointer = typename WeightedCombinationTransformType::Pointer

Extra typedefs

Definition at line 150 of file elxWeightedCombinationTransform.h.

◆ WeightedCombinationTransformType

template<class TElastix >
using elastix::WeightedCombinationTransformElastix< TElastix >::WeightedCombinationTransformType
Initial value:

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 elxWeightedCombinationTransform.h.

Constructor & Destructor Documentation

◆ WeightedCombinationTransformElastix()

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

The constructor.

◆ ~WeightedCombinationTransformElastix()

template<class TElastix >
elastix::WeightedCombinationTransformElastix< TElastix >::~WeightedCombinationTransformElastix ( )
overrideprotecteddefault

The destructor.

Member Function Documentation

◆ BeforeRegistration()

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

Execute stuff before the actual registration:

  • Read some parameters
  • Call InitializeTransform.
  • Set the scales.

Reimplemented from elastix::BaseComponent.

◆ CreateDerivedTransformParameterMap()

template<class TElastix >
ParameterMapType elastix::WeightedCombinationTransformElastix< TElastix >::CreateDerivedTransformParameterMap ( ) const
overrideprivatevirtual

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

Implements elastix::TransformBase< TElastix >.

◆ elxClassNameMacro()

template<class TElastix >
elastix::WeightedCombinationTransformElastix< TElastix >::elxClassNameMacro ( "WeightedCombinationTransform" )

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

◆ GetClassName()

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

Run-time type information (and related methods).

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

◆ InitializeTransform()

template<class TElastix >
void elastix::WeightedCombinationTransformElastix< TElastix >::InitializeTransform ( )
private

Initialize Transform.

  • Load subtransforms
  • Set all parameters to 1/NrOfSubTransforms (if NormalizeCombinationWeights=true) or 0, (if NormalizeCombinationWeights=false)
  • Set the initial parameters in the Registration object This function is called by BeforeRegistration().

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TElastix >
elastix::WeightedCombinationTransformElastix< TElastix >::ITK_DISALLOW_COPY_AND_MOVE ( WeightedCombinationTransformElastix< TElastix > )

◆ itkStaticConstMacro()

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

Dimension of the domain space.

◆ LoadSubTransforms()

template<class TElastix >
virtual void elastix::WeightedCombinationTransformElastix< TElastix >::LoadSubTransforms ( )
virtual

Load from the parameter file a list of subtransforms. The filenames are stored in the m_SubTransformFileNames list

◆ New()

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

Method for creation through the object factory.

◆ ReadFromFile()

template<class TElastix >
void elastix::WeightedCombinationTransformElastix< TElastix >::ReadFromFile ( )
overridevirtual

Function to read transform-parameters from a file.

It loads the subtransforms, the NormalizeWeights option, and calls the superclass' implementation.

Reimplemented from elastix::TransformBase< TElastix >.

◆ SetScales()

template<class TElastix >
virtual void elastix::WeightedCombinationTransformElastix< 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: 1. This function is called by BeforeRegistration, after the InitializeTransform function is called

Field Documentation

◆ elxOverrideGetSelfMacro

template<class TElastix >
elastix::WeightedCombinationTransformElastix< TElastix >::elxOverrideGetSelfMacro
private

Definition at line 198 of file elxWeightedCombinationTransform.h.

◆ m_SubTransformFileNames

template<class TElastix >
std::vector<std::string> elastix::WeightedCombinationTransformElastix< TElastix >::m_SubTransformFileNames
protected

Definition at line 195 of file elxWeightedCombinationTransform.h.

◆ m_WeightedCombinationTransform

template<class TElastix >
const WeightedCombinationTransformPointer elastix::WeightedCombinationTransformElastix< TElastix >::m_WeightedCombinationTransform { WeightedCombinationTransformType::New() }
protected

Definition at line 194 of file elxWeightedCombinationTransform.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo