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);
bool m_OptimizerInitialized
InternalOptimizerType * m_VnlOptimizer
void StartOptimization(void)
void operator=(const Self &)
vnl_vector< double > InternalParametersType
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 SetCostFunction(SingleValuedCostFunction *costFunction)
virtual void SetGradientConvergenceTolerance(double gtol)
virtual ~LBFGSOptimizer()
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
double m_LineSearchAccuracy
SmartPointer< const Self > ConstPointer
double m_GradientConvergenceTolerance
std::ostringstream m_StopConditionDescription
SingleValuedVnlCostFunctionAdaptor CostFunctionAdaptorType
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
virtual void SetDefaultStepLength(double stp)
void PrintSelf(std::ostream &os, Indent indent) const
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 SetTrace(bool flag)
SingleValuedNonLinearVnlOptimizer Superclass
const std::string GetStopConditionDescription() const