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 .
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 Member Functions | |
void | AfterEachIteration (void) override |
void | AfterEachResolution (void) override |
void | AfterRegistration (void) override |
void | BeforeEachResolution (void) override |
void | BeforeRegistration (void) override |
elxClassNameMacro ("SimultaneousPerturbation") | |
virtual const char * | GetClassName () const |
void | SetInitialPosition (const ParametersType ¶m) override |
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 elastix::BaseComponent | |
static std::string | ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
SimultaneousPerturbation () | |
~SimultaneousPerturbation () 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 |
Protected Attributes | |
bool | m_ShowMetricValues |
Protected Attributes inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationPointer | m_Configuration {} |
ElastixPointer | m_Elastix {} |
RegistrationPointer | m_Registration {} |
Private Member Functions | |
void | operator= (const Self &) |
SimultaneousPerturbation (const Self &) | |
typedef Superclass2::ConfigurationPointer elastix::SimultaneousPerturbation< TElastix >::ConfigurationPointer |
Definition at line 118 of file elxSimultaneousPerturbation.h.
typedef Superclass2::ConfigurationType elastix::SimultaneousPerturbation< TElastix >::ConfigurationType |
Definition at line 117 of file elxSimultaneousPerturbation.h.
typedef itk::SmartPointer< const Self > elastix::SimultaneousPerturbation< TElastix >::ConstPointer |
Definition at line 96 of file elxSimultaneousPerturbation.h.
typedef Superclass1::CostFunctionPointer elastix::SimultaneousPerturbation< TElastix >::CostFunctionPointer |
Definition at line 112 of file elxSimultaneousPerturbation.h.
typedef Superclass1::CostFunctionType elastix::SimultaneousPerturbation< TElastix >::CostFunctionType |
Typedef's inherited from Superclass1.
Definition at line 111 of file elxSimultaneousPerturbation.h.
typedef Superclass2::ElastixPointer elastix::SimultaneousPerturbation< TElastix >::ElastixPointer |
Definition at line 116 of file elxSimultaneousPerturbation.h.
typedef Superclass2::ElastixType elastix::SimultaneousPerturbation< TElastix >::ElastixType |
Typedef's inherited from Elastix.
Definition at line 115 of file elxSimultaneousPerturbation.h.
typedef Superclass2::ITKBaseType elastix::SimultaneousPerturbation< TElastix >::ITKBaseType |
Definition at line 121 of file elxSimultaneousPerturbation.h.
typedef Superclass1::ParametersType elastix::SimultaneousPerturbation< TElastix >::ParametersType |
Typedef for the ParametersType.
Definition at line 124 of file elxSimultaneousPerturbation.h.
typedef itk::SmartPointer< Self > elastix::SimultaneousPerturbation< TElastix >::Pointer |
Definition at line 95 of file elxSimultaneousPerturbation.h.
typedef Superclass2::RegistrationPointer elastix::SimultaneousPerturbation< TElastix >::RegistrationPointer |
Definition at line 120 of file elxSimultaneousPerturbation.h.
typedef Superclass2::RegistrationType elastix::SimultaneousPerturbation< TElastix >::RegistrationType |
Definition at line 119 of file elxSimultaneousPerturbation.h.
typedef SimultaneousPerturbation elastix::SimultaneousPerturbation< TElastix >::Self |
Standard ITK.
Definition at line 92 of file elxSimultaneousPerturbation.h.
typedef SPSAOptimizer elastix::SimultaneousPerturbation< TElastix >::Superclass1 |
Definition at line 93 of file elxSimultaneousPerturbation.h.
typedef OptimizerBase< TElastix > elastix::SimultaneousPerturbation< TElastix >::Superclass2 |
Definition at line 94 of file elxSimultaneousPerturbation.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 146 of file elxSimultaneousPerturbation.h.
|
private |
|
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 >.
|
static |
Method for creation through the object factory.
|
private |
|
override |
Override the SetInitialPosition. Override the implementation in itkOptimizer.h, to ensure that the scales array and the parameters array have the same size.
|
protected |
Definition at line 148 of file elxSimultaneousPerturbation.h.
Generated on 1667476801 for elastix by 1.9.4 |