Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxCMAEvolutionStrategy.h>
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:
Optimizer: Select this optimizer as follows:
(Optimizer "CMAEvolutionStrategy")
MaximumNumberOfIterations: The maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
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.
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.
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.
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.
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.
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.
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.
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.
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.
SP_A: If UseDecayingSigma is set to "true", the steplength at each iteration is defined by:
.
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.
SP_alpha: If UseDecayingSigma is set to "true", the steplength at each iteration is defined by:
.
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.
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.
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.
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 115 of file elxCMAEvolutionStrategy.h.
Public Member Functions | |
void | AfterEachIteration (void) override |
void | AfterEachResolution (void) override |
void | AfterRegistration (void) override |
void | BeforeEachResolution (void) override |
void | BeforeRegistration (void) override |
elxClassNameMacro ("CMAEvolutionStrategy") | |
virtual const char * | GetClassName () const |
void | StartOptimization (void) override |
Public Member Functions inherited from itk::CMAEvolutionStrategyOptimizer | |
virtual const char * | GetClassName () const |
virtual unsigned long | GetCurrentIteration () const |
virtual double | GetCurrentMaximumD () const |
virtual double | GetCurrentMinimumD () const |
virtual const ParametersType & | GetCurrentScaledStep () |
virtual double | GetCurrentSigma () const |
virtual double | GetCurrentStepLength (void) const |
virtual MeasureType | GetCurrentValue () const |
virtual double | GetInitialSigma () const |
virtual double | GetMaximumDeviation () const |
virtual unsigned long | GetMaximumNumberOfIterations () const |
virtual double | GetMinimumDeviation () const |
virtual unsigned int | GetNumberOfParents () const |
virtual unsigned int | GetPopulationSize () const |
virtual double | GetPositionToleranceMax () const |
virtual double | GetPositionToleranceMin () const |
virtual const char * | GetRecombinationWeightsPreset () const |
virtual double | GetSigmaDecayA () const |
virtual double | GetSigmaDecayAlpha () const |
virtual const StopConditionType & | GetStopCondition () |
virtual unsigned int | GetUpdateBDPeriod () const |
virtual bool | GetUseCovarianceMatrixAdaptation () const |
virtual bool | GetUseDecayingSigma () const |
virtual double | GetValueTolerance () const |
virtual void | ResumeOptimization (void) |
virtual void | SetInitialSigma (double _arg) |
virtual void | SetMaximumDeviation (double _arg) |
virtual void | SetMaximumNumberOfIterations (unsigned long _arg) |
virtual void | SetMinimumDeviation (double _arg) |
virtual void | SetNumberOfParents (unsigned int _arg) |
virtual void | SetPopulationSize (unsigned int _arg) |
virtual void | SetPositionToleranceMax (double _arg) |
virtual void | SetPositionToleranceMin (double _arg) |
virtual void | SetRecombinationWeightsPreset (const char *_arg) |
virtual void | SetSigmaDecayA (double _arg) |
virtual void | SetSigmaDecayAlpha (double _arg) |
virtual void | SetUpdateBDPeriod (unsigned int _arg) |
virtual void | SetUseCovarianceMatrixAdaptation (bool _arg) |
virtual void | SetUseDecayingSigma (bool _arg) |
virtual void | SetValueTolerance (double _arg) |
void | StartOptimization (void) override |
virtual void | StopOptimization (void) |
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
virtual const char * | GetClassName () const |
const ParametersType & | GetCurrentPosition (void) const override |
virtual bool | GetMaximize () const |
virtual const ScaledCostFunctionType * | GetScaledCostFunction () |
virtual const ParametersType & | GetScaledCurrentPosition () |
bool | GetUseScales (void) const |
virtual void | InitializeScales (void) |
virtual void | MaximizeOff () |
virtual void | MaximizeOn () |
void | SetCostFunction (CostFunctionType *costFunction) override |
virtual void | SetMaximize (bool _arg) |
virtual void | SetUseScales (bool arg) |
Public Member Functions inherited from elastix::OptimizerBase< TElastix > | |
void | AfterRegistrationBase (void) override |
void | BeforeEachResolutionBase () override |
virtual ITKBaseType * | GetAsITKBaseType (void) |
virtual const ITKBaseType * | GetAsITKBaseType (void) const |
virtual const char * | GetClassName () const |
virtual void | SetCurrentPositionPublic (const ParametersType ¶m) |
virtual void | SetSinusScales (double amplitude, double frequency, unsigned long numberOfParameters) |
Public Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationType * | GetConfiguration (void) const |
ElastixType * | GetElastix (void) const |
RegistrationPointer | GetRegistration (void) const |
ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE) | |
void | SetConfiguration (ConfigurationType *_arg) |
void | SetElastix (ElastixType *_arg) |
Public Member Functions inherited from elastix::BaseComponent | |
virtual void | AfterEachIteration (void) |
virtual void | AfterEachIterationBase (void) |
virtual void | AfterEachResolution (void) |
virtual void | AfterEachResolutionBase (void) |
virtual void | AfterRegistration (void) |
virtual void | AfterRegistrationBase (void) |
virtual int | BeforeAll (void) |
virtual int | BeforeAllBase (void) |
virtual void | BeforeEachResolution (void) |
virtual void | BeforeEachResolutionBase (void) |
virtual void | BeforeRegistration (void) |
virtual void | BeforeRegistrationBase (void) |
virtual const char * | elxGetClassName (void) const |
const char * | GetComponentLabel (void) const |
ITK_DISALLOW_COPY_AND_ASSIGN (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::CMAEvolutionStrategyOptimizer | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
static std::string | ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
CMAEvolutionStrategy () | |
void | InitializeProgressVariables (void) override |
~CMAEvolutionStrategy () override | |
Protected Member Functions inherited from itk::CMAEvolutionStrategyOptimizer | |
virtual void | AdvanceOneStep (void) |
CMAEvolutionStrategyOptimizer () | |
virtual void | FixNumericalErrors (void) |
virtual void | GenerateOffspring (void) |
virtual void | InitializeBCD (void) |
virtual void | InitializeConstants (void) |
virtual void | InitializeProgressVariables (void) |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SortCostFunctionValues (void) |
virtual bool | TestConvergence (bool firstCheck) |
virtual void | UpdateBD (void) |
virtual void | UpdateC (void) |
virtual void | UpdateConjugateEvolutionPath (void) |
virtual void | UpdateEvolutionPath (void) |
virtual void | UpdateHeaviside (void) |
virtual void | UpdateSigma (void) |
~CMAEvolutionStrategyOptimizer () override | |
Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
virtual void | GetScaledDerivative (const ParametersType ¶meters, DerivativeType &derivative) const |
virtual MeasureType | GetScaledValue (const ParametersType ¶meters) const |
virtual void | GetScaledValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
ScaledSingleValuedNonLinearOptimizer () | |
void | SetCurrentPosition (const ParametersType ¶m) override |
virtual void | SetScaledCurrentPosition (const ParametersType ¶meters) |
~ScaledSingleValuedNonLinearOptimizer () override | |
Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
virtual bool | GetNewSamplesEveryIteration (void) const |
OptimizerBase () | |
virtual void | SelectNewSamples (void) |
~OptimizerBase () override | |
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 Member Functions | |
CMAEvolutionStrategy (const Self &) | |
void | operator= (const Self &) |
typedef Superclass2::ConfigurationPointer elastix::CMAEvolutionStrategy< TElastix >::ConfigurationPointer |
Definition at line 154 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::ConfigurationType elastix::CMAEvolutionStrategy< TElastix >::ConfigurationType |
Definition at line 153 of file elxCMAEvolutionStrategy.h.
typedef itk::SmartPointer< const Self > elastix::CMAEvolutionStrategy< TElastix >::ConstPointer |
Definition at line 128 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::CostFunctionPointer elastix::CMAEvolutionStrategy< TElastix >::CostFunctionPointer |
Definition at line 144 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::CostFunctionType elastix::CMAEvolutionStrategy< TElastix >::CostFunctionType |
Typedef's inherited from Superclass1.
Definition at line 143 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::DerivativeType elastix::CMAEvolutionStrategy< TElastix >::DerivativeType |
Definition at line 147 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::ElastixPointer elastix::CMAEvolutionStrategy< TElastix >::ElastixPointer |
Definition at line 152 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::ElastixType elastix::CMAEvolutionStrategy< TElastix >::ElastixType |
Typedef's inherited from Elastix.
Definition at line 151 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::ITKBaseType elastix::CMAEvolutionStrategy< TElastix >::ITKBaseType |
Definition at line 157 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::ParametersType elastix::CMAEvolutionStrategy< TElastix >::ParametersType |
Definition at line 146 of file elxCMAEvolutionStrategy.h.
typedef itk::SmartPointer< Self > elastix::CMAEvolutionStrategy< TElastix >::Pointer |
Definition at line 127 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::RegistrationPointer elastix::CMAEvolutionStrategy< TElastix >::RegistrationPointer |
Definition at line 156 of file elxCMAEvolutionStrategy.h.
typedef Superclass2::RegistrationType elastix::CMAEvolutionStrategy< TElastix >::RegistrationType |
Definition at line 155 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::ScalesType elastix::CMAEvolutionStrategy< TElastix >::ScalesType |
Definition at line 148 of file elxCMAEvolutionStrategy.h.
typedef CMAEvolutionStrategy elastix::CMAEvolutionStrategy< TElastix >::Self |
Standard ITK.
Definition at line 124 of file elxCMAEvolutionStrategy.h.
typedef Superclass1::StopConditionType elastix::CMAEvolutionStrategy< TElastix >::StopConditionType |
Definition at line 145 of file elxCMAEvolutionStrategy.h.
typedef CMAEvolutionStrategyOptimizer elastix::CMAEvolutionStrategy< TElastix >::Superclass1 |
Definition at line 125 of file elxCMAEvolutionStrategy.h.
typedef OptimizerBase< TElastix > elastix::CMAEvolutionStrategy< TElastix >::Superclass2 |
Definition at line 126 of file elxCMAEvolutionStrategy.h.
|
inlineprotected |
Definition at line 177 of file elxCMAEvolutionStrategy.h.
|
inlineoverrideprotected |
Definition at line 178 of file elxCMAEvolutionStrategy.h.
|
private |
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Methods to set parameters and print output at different stages in the registration process.
Reimplemented from elastix::BaseComponent.
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")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::CMAEvolutionStrategyOptimizer.
|
overrideprotectedvirtual |
Call the superclass' implementation and print the value of some variables
Reimplemented from itk::CMAEvolutionStrategyOptimizer.
|
static |
Method for creation through the object factory.
|
private |
|
override |
Check if any scales are set, and set the UseScales flag on or off; after that call the superclass' implementation
Generated on 1667476801 for elastix by 1.9.4 |