18#ifndef itkSPSAOptimizer_h
19#define itkSPSAOptimizer_h
23#include "ITKOptimizersExport.h"
46extern ITKOptimizers_EXPORT std::ostream &
78#if !defined(ITK_LEGACY_REMOVE)
83 StopConditionSPSAOptimizerEnum::MaximumNumberOfIterations;
133 itkGetConstMacro(LearningRate,
double);
136 itkGetConstMacro(GradientMagnitude,
double);
142 itkSetMacro(Sa,
double);
143 itkGetConstMacro(Sa,
double);
158 itkSetMacro(Sc,
double);
159 itkGetConstMacro(Sc,
double);
174 itkSetMacro(A,
double);
175 itkGetConstMacro(A,
double);
179 itkSetMacro(Alpha,
double);
180 itkGetConstMacro(Alpha,
double);
184 itkSetMacro(Gamma,
double);
185 itkGetConstMacro(Gamma,
double);
189 itkGetConstMacro(Maximize,
bool);
190 itkSetMacro(Maximize,
bool);
191 itkBooleanMacro(Maximize);
234 itkGetConstMacro(StateOfConvergence,
double);
237 itkSetMacro(StateOfConvergenceDecayRate,
double);
238 itkGetConstMacro(StateOfConvergenceDecayRate,
double);
252 itkSetMacro(Tolerance,
double);
253 itkGetConstMacro(Tolerance,
double);
332extern ITKOptimizers_EXPORT std::ostream &
Control indentation during Print() invocation.
Contains all enum classes used by SPSAOptimizer class.
StopConditionSPSAOptimizer
@ MaximumNumberOfIterations
virtual void SetMaximize(bool _arg)
Statistics::MersenneTwisterRandomVariateGenerator::Pointer m_Generator
virtual void SetSc(double _arg)
SmartPointer< const Self > ConstPointer
void StartOptimization() override
double m_GradientMagnitude
double m_StateOfConvergenceDecayRate
SPSAOptimizerEnums::StopConditionSPSAOptimizer StopConditionSPSAOptimizerEnum
void PrintSelf(std::ostream &os, Indent indent) const override
SizeValueType m_NumberOfPerturbations
virtual void MaximizeOff()
virtual void GenerateDelta(const unsigned int spaceDimension)
virtual double Compute_a(SizeValueType k) const
SingleValuedNonLinearOptimizer Superclass
SizeValueType m_MaximumNumberOfIterations
~SPSAOptimizer() override=default
StopConditionSPSAOptimizerEnum m_StopCondition
DerivativeType m_Gradient
virtual void SetSa(double _arg)
virtual void AdvanceOneStep()
virtual void ComputeGradient(const ParametersType ¶meters, DerivativeType &gradient)
virtual double Compute_c(SizeValueType k) const
virtual double GetSc() const
SizeValueType m_CurrentIteration
std::string GetStopConditionDescription() const override
virtual double GetSa() const
double m_StateOfConvergence
virtual void MaximizeOn()
virtual void GuessParameters(SizeValueType numberOfGradientEstimates, double initialStepSize)
virtual MeasureType GetValue() const
virtual MeasureType GetValue(const ParametersType ¶meters) const
SizeValueType m_MinimumNumberOfIterations
void ResumeOptimization()
SmartPointer< Self > Pointer
CostFunctionType::DerivativeType DerivativeType
CostFunctionType::MeasureType MeasureType
SingleValuedNonLinearOptimizer()
Superclass::ParametersType ParametersType
Implements transparent reference counting.
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)