18 #ifndef __itkSPSAOptimizer_h
19 #define __itkSPSAOptimizer_h
103 double initialStepSize);
112 itkGetConstMacro(LearningRate,
double);
115 itkGetConstMacro(GradientMagnitude,
double);
121 itkSetMacro(Sa,
double);
122 itkGetConstMacro(Sa,
double);
129 itkSetMacro(Sc,
double);
130 itkGetConstMacro(Sc,
double);
137 itkSetMacro(A,
double);
138 itkGetConstMacro(A,
double);
142 itkSetMacro(Alpha,
double);
143 itkGetConstMacro(Alpha,
double);
147 itkSetMacro(Gamma,
double);
148 itkGetConstMacro(Gamma,
double);
152 itkGetConstMacro(Maximize,
bool);
153 itkSetMacro(Maximize,
bool);
154 itkBooleanMacro(Maximize);
185 itkGetConstMacro(StateOfConvergence,
double);
188 itkSetMacro(StateOfConvergenceDecayRate,
double);
189 itkGetConstMacro(StateOfConvergenceDecayRate,
double);
203 itkSetMacro(Tolerance,
double);
204 itkGetConstMacro(Tolerance,
double);
213 virtual ~SPSAOptimizer() {}
216 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
246 virtual void GenerateDelta(
const unsigned int spaceDimension);
279 #endif // end #ifndef __itkSPSAOptimizer_h
SmartPointer< const Self > ConstPointer
Array class with size defined at construction time.
virtual void GenerateDelta(const unsigned int spaceDimension)
virtual void SetSa(double _arg)
Light weight base class for most itk classes.
virtual void MaximizeOn()
virtual void ComputeGradient(const ParametersType ¶meters, DerivativeType &gradient)
void ResumeOptimization(void)
virtual double Compute_c(SizeValueType k) const
double m_StateOfConvergence
virtual void AdvanceOneStep(void)
An optimizer based on simultaneous perturbation...
virtual void GuessParameters(SizeValueType numberOfGradientEstimates, double initialStepSize)
This class is a base for the Optimization methods that optimize a single valued function.
StopConditionType m_StopCondition
virtual double GetSa() const
unsigned long SizeValueType
virtual void StartOptimization(void) ITK_OVERRIDE
virtual const std::string GetStopConditionDescription() const ITK_OVERRIDE
virtual void SetMaximize(bool _arg)
CostFunctionType::DerivativeType DerivativeType
void operator=(const Self &)
double m_StateOfConvergenceDecayRate
CostFunctionType::MeasureType MeasureType
SizeValueType m_CurrentIteration
SmartPointer< Self > Pointer
virtual MeasureType GetValue(void) const
virtual double GetSc() const
SizeValueType m_NumberOfPerturbations
virtual double Compute_a(SizeValueType k) const
Superclass::ParametersType ParametersType
DerivativeType m_Gradient
virtual void SetSc(double _arg)
double m_GradientMagnitude
Statistics::MersenneTwisterRandomVariateGenerator::Pointer m_Generator
SizeValueType m_MinimumNumberOfIterations
virtual void MaximizeOff()
SizeValueType m_MaximumNumberOfIterations
SingleValuedNonLinearOptimizer Superclass
Control indentation during Print() invocation.
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
void StopOptimization(void)