#include <elxSimultaneousPerturbation.h>
An optimizer based on the itk::SPSAOptimizer.
The ITK doxygen help gives more information about this optimizer.
This optimizer supports the NewSamplesEveryIteration parameter.
The parameters used in this class are:
Optimizer: Select this optimizer as follows:
(Optimizer "SimultaneousPerturbation")
MaximumNumberOfIterations: The maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
NumberOfPerturbations: The number of perturbation used to construct a gradient estimate .
NumberOfPerturbations
This parameter can be defined for each resolution.
example: (NumberOfPerturbations 1 1 2)
Default value: 1.
SP_a: The gain at each iteration is defined by
.
SP_a can be defined for each resolution.
example: (SP_a 3200.0 3200.0 1600.0)
The default value is 400.0. Tuning this variable for you specific problem is recommended.
SP_A: The gain at each iteration is defined by
.
SP_A can be defined for each resolution.
example: (SP_A 50.0 50.0 100.0)
The default/recommended value is 50.0.
SP_alpha: The gain at each iteration is defined by
.
SP_alpha can be defined for each resolution.
example: (SP_alpha 0.602 0.602 0.602)
The default/recommended value is 0.602.
SP_c: The perturbation step size at each iteration is defined by
.
SP_c can be defined for each resolution.
example: (SP_c 2.0 1.0 1.0)
The default value is 1.0.
SP_gamma: The perturbation step size at each iteration is defined by
.
SP_gamma can be defined for each resolution.
example: (SP_gamma 0.101 0.101 0.101)
The default/recommended value is 0.101.
ShowMetricValues: Defines whether to compute/show the metric value in each iteration.
This flag can NOT be defined for each resolution.
example: (ShowMetricValues "true" )
Default value: "false". Note that turning this flag on increases computation time.
Definition at line 83 of file elxSimultaneousPerturbation.h.
Public Types | |
using | ConstPointer = itk::SmartPointer<const Self> |
using | ITKBaseType = typename Superclass2::ITKBaseType |
using | Pointer = itk::SmartPointer<Self> |
using | Self = SimultaneousPerturbation |
using | Superclass1 = SPSAOptimizer |
using | Superclass2 = OptimizerBase<TElastix> |
Public Types inherited from elastix::OptimizerBase< TElastix > | |
using | ElastixType |
using | ITKBaseType = itk::Optimizer |
using | ParametersType = typename ITKBaseType::ParametersType |
using | RegistrationType |
using | Self = OptimizerBase |
using | Superclass = BaseComponentSE<TElastix> |
Public Types inherited from elastix::BaseComponentSE< TElastix > | |
using | ElastixType = TElastix |
using | RegistrationType = typename ElastixType::RegistrationBaseType |
using | Self = BaseComponentSE |
using | Superclass = BaseComponent |
Static Public Member Functions | |
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 | |
SimultaneousPerturbation () | |
~SimultaneousPerturbation () override=default | |
Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
virtual bool | GetNewSamplesEveryIteration () const |
OptimizerBase ()=default | |
virtual void | SelectNewSamples () |
~OptimizerBase () 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 | |
bool | m_ShowMetricValues |
Protected Attributes inherited from elastix::BaseComponentSE< TElastix > | |
Configuration::ConstPointer | m_Configuration {} |
itk::WeakPointer< TElastix > | m_Elastix {} |
RegistrationType * | m_Registration {} |
Private Attributes | |
elxOverrideGetSelfMacro | |
Additional Inherited Members | |
Protected Types inherited from elastix::OptimizerBase< TElastix > | |
using | SettingsVectorType = typename std::vector<SettingsType> |
Static Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
static void | PrintSettingsVector (const SettingsVectorType &settings) |
using elastix::SimultaneousPerturbation< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 95 of file elxSimultaneousPerturbation.h.
using elastix::SimultaneousPerturbation< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 116 of file elxSimultaneousPerturbation.h.
using elastix::SimultaneousPerturbation< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 94 of file elxSimultaneousPerturbation.h.
using elastix::SimultaneousPerturbation< TElastix >::Self = SimultaneousPerturbation |
Standard ITK.
Definition at line 91 of file elxSimultaneousPerturbation.h.
using elastix::SimultaneousPerturbation< TElastix >::Superclass1 = SPSAOptimizer |
Definition at line 92 of file elxSimultaneousPerturbation.h.
using elastix::SimultaneousPerturbation< TElastix >::Superclass2 = OptimizerBase<TElastix> |
Definition at line 93 of file elxSimultaneousPerturbation.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Methods that take care of setting parameters and printing progress information.
Reimplemented from elastix::BaseComponent.
elastix::SimultaneousPerturbation< TElastix >::elxClassNameMacro | ( | "SimultaneousPerturbation< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "SimultaneousPerturbation")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::OptimizerBase< TElastix >.
elastix::SimultaneousPerturbation< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | SimultaneousPerturbation< TElastix > | ) |
|
static |
Method for creation through the object factory.
|
override |
Override the SetInitialPosition. Override the implementation in itkOptimizer.h, to ensure that the scales array and the parameters array have the same size.
|
private |
Definition at line 151 of file elxSimultaneousPerturbation.h.
|
protected |
Definition at line 148 of file elxSimultaneousPerturbation.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |