15 #ifndef __itkMoreThuenteLineSearchOptimizer_h
16 #define __itkMoreThuenteLineSearchOptimizer_h
113 itkGetConstMacro( CurrentIteration,
unsigned long );
115 itkGetConstMacro( SufficientDecreaseConditionSatisfied,
bool );
116 itkGetConstMacro( CurvatureConditionSatisfied,
bool );
133 itkGetConstMacro( ValueTolerance,
double );
145 itkGetConstMacro( GradientTolerance,
double );
156 itkGetConstMacro( IntervalTolerance,
double );
162 void PrintSelf( std::ostream& os, Indent indent )
const;
208 double & stx,
double & fx,
double & dx,
209 double & sty,
double & fy,
double & dy,
210 double & stp,
const double & fp,
const double & dp,
212 const double & stpmin,
const double & stpmax )
const;
364 #endif // #ifndef __itkMoreThuenteLineSearchOptimizer_h
virtual MeasureType GetCurrentValue(void) const
Superclass::MeasureType MeasureType
virtual int SafeGuardedStep(double &stx, double &fx, double &dx, double &sty, double &fy, double &dy, double &stp, const double &fp, const double &dp, bool &brackt, const double &stpmin, const double &stpmax) const
virtual void StopOptimization(void)
virtual void GetInitialValueAndDerivative(void)
StopConditionType m_StopCondition
Superclass::ParametersType ParametersType
unsigned long m_MaximumNumberOfIterations
virtual void GetCurrentDerivative(DerivativeType &derivative) const
double m_IntervalTolerance
virtual void SetInitialValue(MeasureType value)
ITK version of the MoreThuente line search algorithm.
LineSearchOptimizer Superclass
Superclass::CostFunctionType CostFunctionType
virtual void UpdateIntervalMinimumAndMaximum(void)
unsigned long m_CurrentIteration
SmartPointer< const Self > ConstPointer
bool m_InitialValueProvided
bool m_InitialDerivativeProvided
bool m_SafeGuardedStepFailed
virtual void InitializeLineSearch(void)
virtual void TestConvergence(bool &stop)
virtual void StartOptimization(void)
void operator=(const Self &)
virtual double GetCurrentDirectionalDerivative(void) const
SmartPointer< Self > Pointer
bool m_SufficientDecreaseConditionSatisfied
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::DerivativeType DerivativeType
virtual void ComputeCurrentValueAndDerivative(void)
virtual void PrepareForUnusualTermination(void)
virtual void GetCurrentValueAndDerivative(MeasureType &value, DerivativeType &derivative) const
A base class for LineSearch optimizers.
virtual ~MoreThuenteLineSearchOptimizer()
virtual int CheckSettings(void)
Superclass::DerivativeType DerivativeType
MoreThuenteLineSearchOptimizer()
virtual void ComputeNewStepAndInterval(void)
virtual void SetInitialDerivative(const DerivativeType &derivative)
MoreThuenteLineSearchOptimizer Self
Superclass::CostFunctionType CostFunctionType
Superclass::MeasureType MeasureType
virtual void ForceSufficientDecreaseInIntervalWidth(void)
void BoundStep(double &step) const
double m_GradientTolerance
bool m_CurvatureConditionSatisfied
Superclass::ParametersType ParametersType