18 #ifndef __itkLBFGSOptimizer_h
19 #define __itkLBFGSOptimizer_h
22 #include "vnl/algo/vnl_lbfgs.h"
68 itkGetMacro(Trace,
bool);
69 itkBooleanMacro(Trace);
74 itkGetMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
83 itkGetMacro(GradientConvergenceTolerance,
double);
93 itkGetMacro(LineSearchAccuracy,
double);
101 itkGetMacro(DefaultStepLength,
double);
111 virtual ~LBFGSOptimizer();
112 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
117 LBFGSOptimizer(const
Self &);
118 void operator=(const Self &);
bool m_OptimizerInitialized
InternalOptimizerType * m_VnlOptimizer
virtual void StartOptimization(void) ITK_OVERRIDE
vnl_vector< double > InternalParametersType
virtual void SetCostFunction(SingleValuedCostFunction *costFunction) ITK_OVERRIDE
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
virtual void SetLineSearchAccuracy(double tol)
vnl_lbfgs InternalOptimizerType
virtual void SetGradientConvergenceTolerance(double gtol)
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
double m_LineSearchAccuracy
virtual const std::string GetStopConditionDescription() const ITK_OVERRIDE
SmartPointer< const Self > ConstPointer
double m_GradientConvergenceTolerance
std::ostringstream m_StopConditionDescription
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
virtual void SetDefaultStepLength(double stp)
vnl_lbfgs * GetOptimizer(void)
MeasureType GetValue() const
Wrap of the vnl_lbfgs algorithm.
double m_DefaultStepLength
unsigned int m_MaximumNumberOfFunctionEvaluations
virtual void SetMaximumNumberOfFunctionEvaluations(unsigned int n)
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
virtual void SetTrace(bool flag)
SingleValuedNonLinearVnlOptimizer Superclass