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

An optimizer based on the itk::CMAEvolutionStrategyOptimizer. More...

#include <elxCMAEvolutionStrategy.h>

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

Public Types

typedef
Superclass2::ConfigurationPointer 
ConfigurationPointer
typedef
Superclass2::ConfigurationType 
ConfigurationType
typedef SmartPointer< const SelfConstPointer
typedef
Superclass1::CostFunctionPointer 
CostFunctionPointer
typedef
Superclass1::CostFunctionType 
CostFunctionType
typedef Superclass1::DerivativeType DerivativeType
typedef Superclass2::ElastixPointer ElastixPointer
typedef Superclass2::ElastixType ElastixType
typedef Superclass2::ITKBaseType ITKBaseType
typedef Superclass1::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef
Superclass2::RegistrationPointer 
RegistrationPointer
typedef
Superclass2::RegistrationType 
RegistrationType
typedef Superclass1::ScalesType ScalesType
typedef CMAEvolutionStrategy Self
typedef
Superclass1::StopConditionType 
StopConditionType
typedef
CMAEvolutionStrategyOptimizer 
Superclass1
typedef OptimizerBase< TElastix > Superclass2

Public Member Functions

virtual void AfterEachIteration (void)
virtual void AfterEachResolution (void)
virtual void AfterRegistration (void)
virtual void BeforeEachResolution (void)
virtual void BeforeRegistration (void)
 elxClassNameMacro ("CMAEvolutionStrategy")
virtual const char * GetClassName () const
virtual void StartOptimization (void)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 CMAEvolutionStrategy ()
virtual void InitializeProgressVariables (void)
virtual ~CMAEvolutionStrategy ()

Private Member Functions

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

Detailed Description

template<class TElastix>
class elastix::CMAEvolutionStrategy< TElastix >

An optimizer based on the itk::CMAEvolutionStrategyOptimizer.

A Covariance-Matrix-Adaptation-Evolution-Strategy optimizer.

This optimizer support the NewSamplesEveryIteration option. It requests new samples for the computation of each search direction (not during the offspring generation). The theory doesn't say anything about such a situation, so, think twice before using the NewSamplesEveryIteration option.

The parameters used in this class are:

Parameters:
Optimizer: Select this optimizer as follows:
(Optimizer "CMAEvolutionStrategy")
Parameters:
MaximumNumberOfIterations: The maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
Parameters:
StepLength: Set the length of the initial step ( = Sigma0 = InitialSigma).
example: (StepLength 2.0 1.0 0.5)
Recommended value: 1/3 of the expected parameter range.
Default value: 1.0.
Parameters:
ValueTolerance: Stopping criterion. See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (ValueTolerance 0.001 0.0001 0.000001)
Default value: 0.00001. Can be specified for each resolution.
Parameters:
PositionToleranceMin: Stopping criterion. See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (PositionToleranceMin 0.001 0.0001 0.000001)
Default value: 1e-8. Can be specified for each resolution.
Parameters:
PositionToleranceMax: Stopping criterion. See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (PositionToleranceMax 0.001 0.0001 0.000001)
Default value: 1e8. Can be specified for each resolution.
Parameters:
PopulationSize: the number of parameter vectors evaluated in each iteration.
If you set it to 0, a default value is calculated by the optimizer, which is reported back to the elastix.log file.
example: (PopulationSize 0 20 20)
Default: 0 (so, automatically determined). Can be specified for each resolution.
Parameters:
NumberOfParents: the number of parameter vectors selected for recombination.
If you set it to 0, a default value is calculated by the optimizer, which is reported back to the elastix.log file.
example: (NumberOfParents 0 10 10)
Default: 0 (so, automatically determined). Can be specified for each resolution.
This value must be less than or equal to the PopulationSize.
Parameters:
MaximumDeviation: the step length is limited to this value. See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (MaximumDeviation 10.0 10.0 5.0)
Default: 10.0 * positionToleranceMax = practically infinity. Can be specified for each resolution.
Parameters:
MinimumDeviation: the step length is ensured to be greater than this value.
See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (MinimumDeviation 0.01 0.01 0.0001)
Default: 0.0. Can be specified for each resolution.
Parameters:
UseDecayingSigma: use a predefined decaying function to control the steplength sigma.
example: (UseDecayingSigma "false" "true" "false")
Default/recommended: "false". Can be specified for each resolution.
If you set it to true the SP_A and SP_alpha parameters apply.
Parameters:
SP_A: If UseDecayingSigma is set to "true", the steplength $sigma(k)$ at each iteration $k$ is defined by:
$sigma(k+1) = sigma(k) (SP\_A + k)^{SP\_alpha} / (SP\_A + k + 1)^{SP\_alpha}$.
where sigma(0) is set by the parameter "StepLength".
example: (SP_A 50.0 50.0 100.0)
The default value is 50.0. SP_A can be defined for each resolution.
Parameters:
SP_alpha: If UseDecayingSigma is set to "true", the steplength $sigma(k)$ at each iteration $k$ is defined by:
$sigma(k+1) = sigma(k) (SP\_A + k)^{SP\_alpha} / (SP\_A + k + 1)^{SP\_alpha}$.
where sigma(0) is set by the parameter "StepLength".
example: (SP_alpha 0.602 0.602 0.602)
The default value is 0.602. SP_alpha can be defined for each resolution.
Parameters:
UseCovarianceMatrixAdaptation: a boolean that determines whether to use the covariance matrix adaptation scheme.
example: (UseCovarianceMatrixAdaptation "false" "true" "true")
Default: "true". This parameter may be altered by the optimizer. The actual value used is
reported back in the elastix.log file. This parameter can be specified for each resolution.
Parameters:
RecombinationWeightsPreset: the name of a preset for the recombination weights.
See the documentation of the itk::CMAEvolutionStrategyOptimizer for more information.
example: (UseCovarianceMatrixAdaptation "equal" "linear" "superlinear")
Default/recommended: "superlinear". Choose one of {"equal", "linear", "superlinear"}. This parameter can be specified for each resolution.
Parameters:
UpdateBDPeriod: the number of iterations after which the eigendecomposition of the covariance matrix is updated. If 0, the optimizer estimates a value. The actual value used is reported back in the elastix.log file. This parameter can be specified for each resolution.
example: (UpdateBDPeriod 0 0 50)
Default: 0 (so, automatically determined).

Definition at line 114 of file elxCMAEvolutionStrategy.h.


Member Typedef Documentation

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 153 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass2::ConfigurationType elastix::CMAEvolutionStrategy< TElastix >::ConfigurationType

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 152 of file elxCMAEvolutionStrategy.h.

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

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 127 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass1::CostFunctionPointer elastix::CMAEvolutionStrategy< TElastix >::CostFunctionPointer

Definition at line 143 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass1::CostFunctionType elastix::CMAEvolutionStrategy< TElastix >::CostFunctionType

Typedef's inherited from Superclass1.

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 142 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass1::DerivativeType elastix::CMAEvolutionStrategy< TElastix >::DerivativeType

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 146 of file elxCMAEvolutionStrategy.h.

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

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 151 of file elxCMAEvolutionStrategy.h.

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

Typedef's inherited from Elastix.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 150 of file elxCMAEvolutionStrategy.h.

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

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 156 of file elxCMAEvolutionStrategy.h.

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

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 145 of file elxCMAEvolutionStrategy.h.

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

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 126 of file elxCMAEvolutionStrategy.h.

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 155 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass2::RegistrationType elastix::CMAEvolutionStrategy< TElastix >::RegistrationType

Reimplemented from elastix::OptimizerBase< TElastix >.

Definition at line 154 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass1::ScalesType elastix::CMAEvolutionStrategy< TElastix >::ScalesType

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 147 of file elxCMAEvolutionStrategy.h.

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

Standard ITK.

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 123 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef Superclass1::StopConditionType elastix::CMAEvolutionStrategy< TElastix >::StopConditionType

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

Definition at line 144 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef CMAEvolutionStrategyOptimizer elastix::CMAEvolutionStrategy< TElastix >::Superclass1

Definition at line 124 of file elxCMAEvolutionStrategy.h.

template<class TElastix >
typedef OptimizerBase<TElastix> elastix::CMAEvolutionStrategy< TElastix >::Superclass2

Definition at line 125 of file elxCMAEvolutionStrategy.h.


Constructor & Destructor Documentation

template<class TElastix >
elastix::CMAEvolutionStrategy< TElastix >::CMAEvolutionStrategy ( ) [inline, protected]

Definition at line 174 of file elxCMAEvolutionStrategy.h.

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

Definition at line 175 of file elxCMAEvolutionStrategy.h.

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

Member Function Documentation

template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::AfterEachIteration ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::AfterEachResolution ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::AfterRegistration ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::BeforeEachResolution ( void  ) [virtual]

Reimplemented from elastix::BaseComponent.

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

Methods to set parameters and print output at different stages in the registration process.

Reimplemented from elastix::BaseComponent.

template<class TElastix >
elastix::CMAEvolutionStrategy< TElastix >::elxClassNameMacro ( "CMAEvolutionStrategy< TElastix >"  )

Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "CMAEvolutionStrategy")

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

Run-time type information (and related methods).

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::InitializeProgressVariables ( void  ) [protected, virtual]

Call the superclass' implementation and print the value of some variables

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

template<class TElastix >
static Pointer elastix::CMAEvolutionStrategy< TElastix >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::CMAEvolutionStrategyOptimizer.

template<class TElastix >
void elastix::CMAEvolutionStrategy< TElastix >::operator= ( const Self ) [private]
template<class TElastix >
virtual void elastix::CMAEvolutionStrategy< TElastix >::StartOptimization ( void  ) [virtual]

Check if any scales are set, and set the UseScales flag on or off; after that call the superclass' implementation

Reimplemented from itk::CMAEvolutionStrategyOptimizer.



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