18#ifndef itkLBFGSOptimizer_h
19#define itkLBFGSOptimizer_h
22#include "vnl/algo/vnl_lbfgs.h"
23#include "ITKOptimizersExport.h"
127 itkGetMacro(Trace,
bool);
128 itkBooleanMacro(Trace);
134 itkGetMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
144 itkGetMacro(GradientConvergenceTolerance,
double);
155 itkGetMacro(LineSearchAccuracy,
double);
164 itkGetMacro(DefaultStepLength,
double);
183 bool m_OptimizerInitialized{};
185 mutable std::ostringstream m_StopConditionDescription{};
188 unsigned int m_MaximumNumberOfFunctionEvaluations{};
189 double m_GradientConvergenceTolerance{};
190 double m_LineSearchAccuracy{};
191 double m_DefaultStepLength{};
Control indentation during Print() invocation.
Wrap of the vnl_lbfgs algorithm for use in ITKv4 registration framework. The vnl_lbfgs is a wrapper f...
void StartOptimization() override
void PrintSelf(std::ostream &os, Indent indent) const override
vnl_lbfgs * GetOptimizer()
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
virtual void SetMaximumNumberOfFunctionEvaluations(unsigned int n)
vnl_lbfgs InternalOptimizerType
virtual void SetGradientConvergenceTolerance(double f)
MeasureType GetValue() const
virtual void SetDefaultStepLength(double f)
vnl_vector< double > InternalParametersType
virtual void SetTrace(bool flag)
void SetCostFunction(SingleValuedCostFunction *costFunction) override
std::string GetStopConditionDescription() const override
std::unique_ptr< InternalOptimizerType > m_VnlOptimizer
virtual void SetLineSearchAccuracy(double f)
~LBFGSOptimizer() override
Light weight base class for most itk classes.
This class is a base for the CostFunctions returning a single value.
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....