18 #ifndef __itkLBFGSBOptimizer_h
19 #define __itkLBFGSBOptimizer_h
108 itkGetMacro(Trace,
bool);
109 itkBooleanMacro(Trace);
118 itkGetConstReferenceMacro(UpperBound,BoundValueType);
139 itkGetMacro(CostFunctionConvergenceFactor,
double);
147 itkGetMacro(ProjectedGradientTolerance,
double);
152 itkGetMacro(MaximumNumberOfIterations,
unsigned int);
157 itkGetMacro(MaximumNumberOfEvaluations,
unsigned int);
162 itkGetMacro(MaximumNumberOfCorrections,
unsigned int);
167 itkExceptionMacro(<<
"This optimizer does not support scales.");
171 itkGetConstReferenceMacro(CurrentIteration,
unsigned int);
178 itkGetConstReferenceMacro(InfinityNormOfProjectedGradient,
double);
185 virtual ~LBFGSBOptimizer();
186 virtual
void PrintSelf(std::ostream & os,
Indent indent) const ITK_OVERRIDE;
191 LBFGSBOptimizer(const
Self &);
192 void operator=(const Self &);
virtual void SetMaximumNumberOfCorrections(unsigned int)
vnl_vector< long > InternalBoundSelectionType
This class is a base for the CostFunctions returning a single value.
Light weight base class for most itk classes.
vnl_vector< double > InternalBoundValueType
BoundSelectionType m_BoundSelection
virtual void SetProjectedGradientTolerance(double)
virtual void SetMaximumNumberOfIterations(unsigned int)
Array< long > BoundSelectionType
virtual void SetCostFunction(SingleValuedCostFunction *costFunction) ITK_OVERRIDE
virtual void SetUpperBound(const BoundValueType &value)
virtual void SetLowerBound(const BoundValueType &value)
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
virtual void SetCostFunctionConvergenceFactor(double)
virtual void SetMaximumNumberOfEvaluations(unsigned int)
BoundValueType m_UpperBound
Superclass::ScalesType ScalesType
double m_CostFunctionConvergenceFactor
Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. ...
Array< double > BoundValueType
CostFunctionType::MeasureType MeasureType
This class is a base for the Optimization methods that optimize a single valued function.
bool m_OptimizerInitialized
virtual void StartOptimization(void) ITK_OVERRIDE
BoundValueType m_LowerBound
SmartPointer< Self > Pointer
unsigned int m_MaximumNumberOfIterations
SingleValuedNonLinearVnlOptimizer Superclass
double m_InfinityNormOfProjectedGradient
LBFGSBOptimizerHelper InternalOptimizerType
virtual void SetTrace(bool flag)
virtual const std::string GetStopConditionDescription() const ITK_OVERRIDE
double m_ProjectedGradientTolerance
Control indentation during Print() invocation.
unsigned int m_CurrentIteration
virtual void SetBoundSelection(const BoundSelectionType &select)
MeasureType GetValue() const
void SetScales(const ScalesType &)
SmartPointer< const Self > ConstPointer
Wrapper helper around vnl_lbfgsb.
unsigned int m_MaximumNumberOfCorrections
unsigned int m_MaximumNumberOfEvaluations
InternalOptimizerType * m_VnlOptimizer