18 #ifndef __itkGradientDescentOptimizerv4_h
19 #define __itkGradientDescentOptimizerv4_h
142 itkSetMacro(DoEstimateScales,
bool);
143 itkGetConstReferenceMacro(DoEstimateScales,
bool);
144 itkBooleanMacro(DoEstimateScales);
154 itkSetMacro(DoEstimateLearningRateAtEachIteration,
bool);
155 itkGetConstReferenceMacro(DoEstimateLearningRateAtEachIteration,
bool);
156 itkBooleanMacro(DoEstimateLearningRateAtEachIteration);
166 itkSetMacro(DoEstimateLearningRateOnce,
bool);
167 itkGetConstReferenceMacro(DoEstimateLearningRateOnce,
bool);
168 itkBooleanMacro(DoEstimateLearningRateOnce);
206 itkSetMacro(ReturnBestParametersAndValue,
bool);
207 itkGetConstReferenceMacro(ReturnBestParametersAndValue,
bool);
208 itkBooleanMacro(ReturnBestParametersAndValue);
212 virtual void StartOptimization(
bool doOnlyInitialization =
false );
214 virtual void StopOptimization(
void);
216 virtual void ResumeOptimization();
219 virtual void EstimateLearningRate();
225 virtual void AdvanceOneStep(
void);
228 virtual void ModifyGradientByScalesOverSubRange(
const IndexRangeType& subrange );
229 virtual void ModifyGradientByLearningRateOverSubRange(
const IndexRangeType& subrange );
248 virtual void PrintSelf( std::ostream & os,
Indent indent )
const;
295 void operator=(
const Self& );