18 #ifndef itkLBFGSOptimizer_h 19 #define itkLBFGSOptimizer_h 22 #include "vnl/algo/vnl_lbfgs.h" 23 #include "ITKOptimizersExport.h" 56 vnl_lbfgs * GetOptimizer();
59 virtual void StartOptimization(
void) ITK_OVERRIDE;
67 virtual
void SetTrace(
bool flag);
69 itkGetMacro(Trace,
bool);
70 itkBooleanMacro(Trace);
73 virtual
void SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
75 itkGetMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
82 virtual
void SetGradientConvergenceTolerance(
double gtol);
84 itkGetMacro(GradientConvergenceTolerance,
double);
92 virtual
void SetLineSearchAccuracy(
double tol);
94 itkGetMacro(LineSearchAccuracy,
double);
100 virtual
void SetDefaultStepLength(
double stp);
102 itkGetMacro(DefaultStepLength,
double);
108 virtual const
std::
string GetStopConditionDescription() const ITK_OVERRIDE;
112 virtual ~LBFGSOptimizer();
113 virtual
void PrintSelf(
std::ostream & os,
Indent indent) const ITK_OVERRIDE;
118 LBFGSOptimizer(const Self &) ITK_DELETE_FUNCTION;
119 void operator=(const Self &) ITK_DELETE_FUNCTION;
121 bool m_OptimizerInitialized;
122 InternalOptimizerType * m_VnlOptimizer;
123 mutable
std::ostringstream m_StopConditionDescription;
126 unsigned int m_MaximumNumberOfFunctionEvaluations;
127 double m_GradientConvergenceTolerance;
128 double m_LineSearchAccuracy;
129 double m_DefaultStepLength;
vnl_vector< double > InternalParametersType
This class is a base for the CostFunctions returning a single value.
vnl_lbfgs InternalOptimizerType
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
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.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
SingleValuedNonLinearVnlOptimizer Superclass