go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
elastix::WeightedCombinationTransformElastix< TElastix > Class Template Reference

#include <elxWeightedCombinationTransform.h>

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

Public Types

typedef
Superclass2::CombinationTransformType 
CombinationTransformType
typedef
Superclass2::CommandLineArgumentMapType 
CommandLineArgumentMapType
typedef
Superclass2::CommandLineEntryType 
CommandLineEntryType
typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass2::ConfigurationType 
ConfigurationType
typedef SmartPointer< const SelfConstPointer
typedef Superclass2::CoordRepType CoordRepType
typedef Superclass2::ElastixPointer ElastixPointer
typedef Superclass2::ElastixType ElastixType
typedef Superclass2::FixedImageType FixedImageType
typedef
Superclass1::InputCovariantVectorType 
InputCovariantVectorType
typedef Superclass1::InputPointType InputPointType
typedef
Superclass1::InputVectorType 
InputVectorType
typedef
Superclass1::InputVnlVectorType 
InputVnlVectorType
typedef Superclass2::ITKBaseType ITKBaseType
typedef Superclass1::JacobianType JacobianType
typedef
Superclass2::MovingImageType 
MovingImageType
typedef
Superclass1::OutputCovariantVectorType 
OutputCovariantVectorType
typedef
Superclass1::OutputPointType 
OutputPointType
typedef
Superclass1::OutputVectorType 
OutputVectorType
typedef
Superclass1::OutputVnlVectorType 
OutputVnlVectorType
typedef Superclass1::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef
Superclass2::RegistrationPointer 
RegistrationPointer
typedef
Superclass2::RegistrationType 
RegistrationType
typedef Superclass1::ScalarType ScalarType
typedef Superclass2::ScalesType ScalesType
typedef
WeightedCombinationTransformElastix 
Self
typedef
WeightedCombinationTransformType::TransformPointer 
SubTransformPointer
typedef
WeightedCombinationTransformType::TransformType 
SubTransformType
typedef
AdvancedCombinationTransform
< typename elx::TransformBase
< TElastix >::CoordRepType,
elx::TransformBase< TElastix >
::FixedImageDimension > 
Superclass1
typedef elx::TransformBase
< TElastix > 
Superclass2
typedef
WeightedCombinationTransformType::TransformContainerType 
TransformContainerType
typedef
WeightedCombinationTransformType::Pointer 
WeightedCombinationTransformPointer
typedef
WeightedCombinationTransform
< typename elx::TransformBase
< TElastix >::CoordRepType,
elx::TransformBase< TElastix >
::FixedImageDimension,
elx::TransformBase< TElastix >
::MovingImageDimension > 
WeightedCombinationTransformType

Public Member Functions

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

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 WeightedCombinationTransformElastix ()
virtual ~WeightedCombinationTransformElastix ()

Protected Attributes

std::vector< std::string > m_SubTransformFileNames
WeightedCombinationTransformPointer m_WeightedCombinationTransform

Private Member Functions

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

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")
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.
Parameters:
SubTransforms: a list of transform parameter filenames that will serve as subtransforms $T_i(x)$.
(SubTransforms "tp0.txt" "TransformParameters.1.txt" "tpbspline.txt" )
Parameters:
AutomaticScalesEstimation: if this parameter is set to "true" the Scales parameter is ignored and the scales are determined automatically.
example: (AutomaticScalesEstimation "true")
Default: "false".
Parameters:
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.
Transform Parameters:
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 80 of file elxWeightedCombinationTransform.h.


Member Typedef Documentation

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 146 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 147 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 148 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 139 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 138 of file elxWeightedCombinationTransform.h.

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

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 142 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 137 of file elxWeightedCombinationTransform.h.

Typedef's from the TransformBase class.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 136 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 143 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 132 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 145 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 144 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 133 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 124 of file elxWeightedCombinationTransform.h.

template<class TElastix >
typedef SmartPointer<Self> elastix::WeightedCombinationTransformElastix< TElastix >::Pointer

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 141 of file elxWeightedCombinationTransform.h.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 140 of file elxWeightedCombinationTransform.h.

For scales setting in the optimizer

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 160 of file elxWeightedCombinationTransform.h.

Standard ITK-stuff.

Reimplemented from elastix::TransformBase< TElastix >.

Definition at line 89 of file elxWeightedCombinationTransform.h.

Definition at line 157 of file elxWeightedCombinationTransform.h.

Definition at line 155 of file elxWeightedCombinationTransform.h.

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

Definition at line 93 of file elxWeightedCombinationTransform.h.

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

Definition at line 95 of file elxWeightedCombinationTransform.h.

Definition at line 153 of file elxWeightedCombinationTransform.h.

Extra typedefs

Definition at line 151 of file elxWeightedCombinationTransform.h.

template<class TElastix >
typedef WeightedCombinationTransform< typename elx::TransformBase<TElastix>::CoordRepType, elx::TransformBase<TElastix>::FixedImageDimension, elx::TransformBase<TElastix>::MovingImageDimension > elastix::WeightedCombinationTransformElastix< TElastix >::WeightedCombinationTransformType

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

Definition at line 102 of file elxWeightedCombinationTransform.h.


Constructor & Destructor Documentation

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

The constructor.

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

The destructor.

Definition at line 208 of file elxWeightedCombinationTransform.h.

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

The private constructor.


Member Function Documentation

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

Execute stuff before the actual registration:

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

Reimplemented from elastix::BaseComponent.

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

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

Run-time type information (and related methods).

Reimplemented from elastix::TransformBase< TElastix >.

template<class TElastix >
virtual void elastix::WeightedCombinationTransformElastix< TElastix >::InitializeTransform ( void  ) [virtual]

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().
template<class TElastix >
elastix::WeightedCombinationTransformElastix< TElastix >::itkStaticConstMacro ( SpaceDimension  ,
unsigned  int,
Superclass2::FixedImageDimension   
)

Dimension of the domain space.

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

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

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

The private copy constructor.

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

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

template<class TElastix >
virtual void elastix::WeightedCombinationTransformElastix< TElastix >::SetScales ( void  ) [virtual]

Set the scales

  • If AutomaticScalesEstimation is "true" estimate scales
  • If scales are provided by the user use those,
  • Otherwise use some default value: 1. This function is called by BeforeRegistration, after the InitializeTransform function is called
template<class TElastix >
virtual void elastix::WeightedCombinationTransformElastix< TElastix >::WriteToFile ( const ParametersType param) const [virtual]

Function to write transform-parameters to a file. It writes the names of the subTransform parameterFiles. and the NormalizeWeights option, and calls the superclass' implementation.

Reimplemented from elastix::TransformBase< TElastix >.


Field Documentation

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

Definition at line 211 of file elxWeightedCombinationTransform.h.

Definition at line 208 of file elxWeightedCombinationTransform.h.



Generated on 11-05-2012 for elastix by doxygen 1.7.6.1 elastix logo