|
|
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#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 


This parameter can be defined for each resolution.
example: (NumberOfPerturbations 1 1 2)
Default value: 1.
SP_a: The gain 


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 


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 


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 


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 


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.
Inheritance diagram for elastix::SimultaneousPerturbation< TElastix >: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 = TElastix |
| using | ITKBaseType = itk::Optimizer |
| using | ParametersType = typename ITKBaseType::ParametersType |
| using | RegistrationType = typename ElastixType::RegistrationBaseType |
| 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 1739326392 for elastix by 1.9.8 |