18#ifndef itkLBFGSBOptimizer_h
19#define itkLBFGSBOptimizer_h
23#include "ITKOptimizersExport.h"
103 itkGetMacro(Trace,
bool);
104 itkBooleanMacro(Trace);
138 itkGetMacro(CostFunctionConvergenceFactor,
double);
147 itkGetMacro(ProjectedGradientTolerance,
double);
153 itkGetMacro(MaximumNumberOfIterations,
unsigned int);
159 itkGetMacro(MaximumNumberOfEvaluations,
unsigned int);
165 itkGetMacro(MaximumNumberOfCorrections,
unsigned int);
171 itkExceptionMacro(
"This optimizer does not support scales.");
175 itkGetConstReferenceMacro(CurrentIteration,
unsigned int);
183 itkGetConstReferenceMacro(InfinityNormOfProjectedGradient,
double);
Array class with size defined at construction time.
Control indentation during Print() invocation.
virtual void SetProjectedGradientTolerance(double)
SingleValuedNonLinearVnlOptimizer Superclass
~LBFGSBOptimizer() override
bool CanUseScales() const override
unsigned int m_MaximumNumberOfCorrections
std::unique_ptr< InternalOptimizerType > m_VnlOptimizer
virtual void SetCostFunctionConvergenceFactor(double)
vnl_vector< long > InternalBoundSelectionType
void SetCostFunction(SingleValuedCostFunction *costFunction) override
bool m_OptimizerInitialized
Superclass::CostFunctionAdaptorType CostFunctionAdaptorType
friend class LBFGSBOptimizerHelper
virtual void SetMaximumNumberOfIterations(unsigned int)
virtual void SetMaximumNumberOfEvaluations(unsigned int)
double m_CostFunctionConvergenceFactor
unsigned int m_MaximumNumberOfEvaluations
LBFGSBOptimizerHelper InternalOptimizerType
SmartPointer< const Self > ConstPointer
virtual void SetMaximumNumberOfCorrections(unsigned int)
BoundValueType m_UpperBound
vnl_vector< double > InternalBoundValueType
std::string GetStopConditionDescription() const override
MeasureType GetValue() const
unsigned int m_CurrentIteration
void StartOptimization() override
double m_ProjectedGradientTolerance
BoundValueType m_LowerBound
virtual void SetUpperBound(const BoundValueType &value)
unsigned int m_MaximumNumberOfIterations
double m_InfinityNormOfProjectedGradient
virtual void SetLowerBound(const BoundValueType &value)
Array< double > BoundValueType
virtual void SetBoundSelection(const BoundSelectionType &value)
SmartPointer< Self > Pointer
Array< long > BoundSelectionType
virtual void SetTrace(bool flag)
BoundSelectionType m_BoundSelection
void SetScales(const ScalesType &)
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::ScalesType ScalesType
This class is a base for the CostFunctions returning a single value.
CostFunctionType::MeasureType MeasureType
SingleValuedVnlCostFunctionAdaptor CostFunctionAdaptorType
SingleValuedNonLinearVnlOptimizer()
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT LBFGSBOptimizerHelper