18 #ifndef itkLBFGSOptimizerBasev4_h
19 #define itkLBFGSOptimizerBasev4_h
22 #include "vnl/algo/vnl_lbfgs.h"
23 #include "vnl/algo/vnl_lbfgsb.h"
25 #include "ITKOptimizersv4Export.h"
40 template <
typename TInternalVnlOptimizerType>
75 template <
typename TInternalVnlOptimizerType>
109 StartOptimization(
bool doOnlyInitialization =
false)
override;
121 itkGetConstMacro(Trace,
bool);
122 itkBooleanMacro(Trace);
126 SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
128 itkGetConstMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
136 SetGradientConvergenceTolerance(
double f);
138 itkGetConstMacro(GradientConvergenceTolerance,
double);
142 GetStopConditionDescription()
const override;
148 PrintSelf(std::ostream & os,
Indent indent)
const override;
152 bool m_OptimizerInitialized{
false };
159 bool m_Trace{
false };
160 unsigned int m_MaximumNumberOfFunctionEvaluations{ 2000 };
161 double m_GradientConvergenceTolerance{ 1
e-5 };
162 double m_InfinityNormOfProjectedGradient{ 0.0 };
163 double m_CostFunctionConvergenceFactor{ 1
e+7 };
172 #ifndef ITK_MANUAL_INSTANTIATION
173 # include "itkLBFGSOptimizerBasev4.hxx"