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"
38 template<
typename TInternalVnlOptimizerType >
72 template<
typename TInternalVnlOptimizerType >
103 virtual void StartOptimization(
bool doOnlyInitialization =
false) ITK_OVERRIDE;
106 virtual
void SetMetric(
MetricType *metric) ITK_OVERRIDE;
111 virtual
void SetTrace(
bool flag);
113 itkGetConstMacro(Trace,
bool);
114 itkBooleanMacro(Trace);
117 virtual
void SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
119 itkGetConstMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
126 virtual
void SetGradientConvergenceTolerance(
double gtol);
128 itkGetConstMacro(GradientConvergenceTolerance,
double);
135 virtual ~LBFGSOptimizerBasev4();
136 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
140 bool m_OptimizerInitialized;
143 InternalOptimizerAutoPointer m_VnlOptimizer;
145 mutable std::ostringstream m_StopConditionDescription;
148 unsigned int m_MaximumNumberOfFunctionEvaluations;
149 double m_GradientConvergenceTolerance;
150 double m_InfinityNormOfProjectedGradient;
151 double m_CostFunctionConvergenceFactor;
159 LBFGSOptimizerBasev4(const
Self &);
160 void operator=(const Self &);
165 #ifndef ITK_MANUAL_INSTANTIATION
166 #include "itkLBFGSOptimizerBasev4.hxx"
Superclass::StopConditionDescriptionType StopConditionDescriptionType
LBFGSOptimizerBaseHelperv4< TInternalVnlOptimizerType > InternalOptimizerType
Light weight base class for most itk classes.
Superclass::ScalesType ScalesType
Wrapper helper around vnl optimizer.
Wrapper helper around vnl_lbfgsb.
Superclass::MetricType MetricType
Superclass::MetricType MetricType
This class is an Adaptor that allows to pass itk::ObjectToObjectMetricBase objects to vnl_optimizers ...
This is a base for the ITKv4 Optimization methods using the vnl library.
Superclass::ParametersType ParametersType
LBFGSOptimizerBasev4 Self
SmartPointer< const Self > ConstPointer
Superclass::StopConditionReturnStringType StopConditionReturnStringType
Implements an Automatic Pointer to an object.
Superclass::StopConditionReturnStringType StopConditionReturnStringType
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
Abstract base for vnl lbfgs algorithm optimizers in ITKv4 registration framework. ...
SingleValuedNonLinearVnlOptimizerv4 Superclass