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"
39 template<
typename TInternalVnlOptimizerType >
73 template<
typename TInternalVnlOptimizerType >
104 virtual void StartOptimization(
bool doOnlyInitialization =
false) ITK_OVERRIDE;
107 virtual
void SetMetric(
MetricType *metric) ITK_OVERRIDE;
112 virtual
void SetTrace(
bool flag);
114 itkGetConstMacro(Trace,
bool);
115 itkBooleanMacro(Trace);
118 virtual
void SetMaximumNumberOfFunctionEvaluations(
unsigned int n);
120 itkGetConstMacro(MaximumNumberOfFunctionEvaluations,
unsigned int);
127 virtual
void SetGradientConvergenceTolerance(
double gtol);
129 itkGetConstMacro(GradientConvergenceTolerance,
double);
136 virtual ~LBFGSOptimizerBasev4() ITK_OVERRIDE;
137 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
141 bool m_OptimizerInitialized;
144 InternalOptimizerAutoPointer m_VnlOptimizer;
146 mutable std::ostringstream m_StopConditionDescription;
149 unsigned int m_MaximumNumberOfFunctionEvaluations;
150 double m_GradientConvergenceTolerance;
151 double m_InfinityNormOfProjectedGradient;
152 double m_CostFunctionConvergenceFactor;
160 ITK_DISALLOW_COPY_AND_ASSIGN(LBFGSOptimizerBasev4);
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