18 #ifndef itkLBFGSBOptimizerv4_h
19 #define itkLBFGSBOptimizerv4_h
22 #include "vnl/algo/vnl_lbfgsb.h"
23 #include "ITKOptimizersv4Export.h"
107 return m_InitialPosition;
111 virtual void StartOptimization(
bool doOnlyInitialization =
false) ITK_OVERRIDE;
114 virtual
void SetMetric(MetricType *metric) ITK_OVERRIDE;
117 void SetLowerBound(const BoundValueType & value);
119 itkGetConstReferenceMacro(LowerBound,BoundValueType);
122 void SetUpperBound(const BoundValueType & value);
124 itkGetConstReferenceMacro(UpperBound,BoundValueType);
132 void SetBoundSelection(const BoundSelectionType & select);
134 itkGetConstReferenceMacro(BoundSelection,BoundSelectionType);
142 virtual
void SetCostFunctionConvergenceFactor(
double);
144 itkGetConstMacro(CostFunctionConvergenceFactor,
double);
147 virtual
void SetMaximumNumberOfCorrections(
unsigned int);
149 itkGetConstMacro(MaximumNumberOfCorrections,
unsigned int);
152 virtual
void SetScales(const ScalesType &) ITK_OVERRIDE;
156 itkGetConstReferenceMacro(InfinityNormOfProjectedGradient,
double);
160 virtual ~LBFGSBOptimizerv4();
161 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
171 LBFGSBOptimizerv4(const
Self &) ITK_DELETE_FUNCTION;
172 void operator=(const
Self &) ITK_DELETE_FUNCTION;
174 unsigned int m_MaximumNumberOfCorrections;
177 BoundValueType m_LowerBound;
178 BoundValueType m_UpperBound;
179 BoundSelectionType m_BoundSelection;
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
Light weight base class for most itk classes.
Superclass::MetricType MetricType
SmartPointer< const Self > ConstPointer
Superclass::ScalesType ScalesType
Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. ...
Wrapper helper around vnl_lbfgsb.
ParametersType & GetInitialPosition(void)
Array< long > BoundSelectionType
Array< double > BoundValueType
LBFGSOptimizerBasev4< vnl_lbfgsb > Superclass
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Abstract base for vnl lbfgs algorithm optimizers in ITKv4 registration framework. ...