18 #ifndef itkLBFGSOptimizer_h
19 #define itkLBFGSOptimizer_h
22 #include "vnl/algo/vnl_lbfgs.h"
23 #include "ITKOptimizersExport.h"
110 vnl_lbfgs * GetOptimizer();
113 void StartOptimization()
override;
121 virtual void SetTrace(
bool flag);
123 itkGetMacro(Trace,
bool);
124 itkBooleanMacro(Trace);
127 virtual void SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
129 itkGetMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
136 virtual void SetGradientConvergenceTolerance(
double gtol);
138 itkGetMacro(GradientConvergenceTolerance,
double);
146 virtual void SetLineSearchAccuracy(
double tol);
148 itkGetMacro(LineSearchAccuracy,
double);
154 virtual void SetDefaultStepLength(
double stp);
156 itkGetMacro(DefaultStepLength,
double);
162 const std::string GetStopConditionDescription()
const override;
167 void PrintSelf(std::ostream & os,
Indent indent)
const override;
bool m_OptimizerInitialized
InternalOptimizerType * m_VnlOptimizer
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
double m_LineSearchAccuracy
double m_GradientConvergenceTolerance
std::ostringstream m_StopConditionDescription
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...
double m_DefaultStepLength
unsigned int m_MaximumNumberOfFunctionEvaluations
CostFunctionType::MeasureType MeasureType
Control indentation during Print() invocation.
vnl_vector< double > InternalParametersType
vnl_lbfgs InternalOptimizerType