18 #ifndef itkLBFGSOptimizer_h
19 #define itkLBFGSOptimizer_h
22 #include "vnl/algo/vnl_lbfgs.h"
23 #include "ITKOptimizersExport.h"
108 vnl_lbfgs * GetOptimizer();
111 virtual void StartOptimization(
void) ITK_OVERRIDE;
119 virtual
void SetTrace(
bool flag);
121 itkGetMacro(Trace,
bool);
122 itkBooleanMacro(Trace);
125 virtual
void SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
127 itkGetMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
134 virtual
void SetGradientConvergenceTolerance(
double gtol);
136 itkGetMacro(GradientConvergenceTolerance,
double);
144 virtual
void SetLineSearchAccuracy(
double tol);
146 itkGetMacro(LineSearchAccuracy,
double);
152 virtual
void SetDefaultStepLength(
double stp);
154 itkGetMacro(DefaultStepLength,
double);
160 virtual const std::
string GetStopConditionDescription() const ITK_OVERRIDE;
164 virtual ~LBFGSOptimizer() ITK_OVERRIDE;
165 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
170 ITK_DISALLOW_COPY_AND_ASSIGN(LBFGSOptimizer);
172 bool m_OptimizerInitialized;
174 mutable std::ostringstream m_StopConditionDescription;
177 unsigned int m_MaximumNumberOfFunctionEvaluations;
178 double m_GradientConvergenceTolerance;
179 double m_LineSearchAccuracy;
180 double m_DefaultStepLength;
vnl_vector< double > InternalParametersType
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
vnl_lbfgs InternalOptimizerType
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
SmartPointer< const Self > ConstPointer
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
Wrap of the vnl_lbfgs algorithm for use in ITKv4 registration framework. The vnl_lbfgs is a wrapper f...
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
SingleValuedNonLinearVnlOptimizer Superclass