19#ifndef itkQuasiNewtonLBFGSOptimizer_h 
   20#define itkQuasiNewtonLBFGSOptimizer_h 
   71  using Superclass::ParametersType;
 
   72  using Superclass::DerivativeType;
 
   73  using Superclass::CostFunctionType;
 
   75  using Superclass::MeasureType;
 
   79  using SType = std::vector<ParametersType>;
 
   80  using YType = std::vector<DerivativeType>;
 
  107  itkGetConstMacro(CurrentIteration, 
unsigned long);
 
  108  itkGetConstMacro(CurrentValue, MeasureType);
 
  109  itkGetConstReferenceMacro(CurrentGradient, DerivativeType);
 
  110  itkGetConstMacro(InLineSearch, 
bool);
 
  112  itkGetConstMacro(CurrentStepLength, 
double);
 
  133  itkSetMacro(Memory, 
unsigned int);
 
  134  itkGetConstMacro(Memory, 
unsigned int);
 
  163  itkSetMacro(InLineSearch, 
bool);
 
  186  LineSearch(
const ParametersType searchDir, 
double & step, ParametersType & x, MeasureType & f, DerivativeType & g);
 
 
A base class for LineSearch optimizers.
 
SmartPointer< Self > Pointer
 
ITK version of the lbfgs algorithm ...
 
unsigned int m_PreviousPoint
 
itkGetModifiableObjectMacro(LineSearchOptimizer, LineSearchOptimizerType)
 
std::vector< DerivativeType > YType
 
LineSearchOptimizerPointer m_LineSearchOptimizer
 
ITK_DISALLOW_COPY_AND_MOVE(QuasiNewtonLBFGSOptimizer)
 
virtual void ComputeSearchDirection(const DerivativeType &gradient, ParametersType &searchDir)
 
QuasiNewtonLBFGSOptimizer()
 
DerivativeType m_CurrentGradient
 
virtual void ResumeOptimization()
 
unsigned long m_MaximumNumberOfIterations
 
virtual void StopOptimization()
 
virtual void ComputeDiagonalMatrix(DiagonalMatrixType &diag_H0)
 
void PrintSelf(std::ostream &, Indent) const override
 
~QuasiNewtonLBFGSOptimizer() override=default
 
virtual void StoreCurrentPoint(const ParametersType &step, const DerivativeType &grad_dif)
 
virtual bool TestConvergence(bool firstLineSearchDone)
 
unsigned long m_CurrentIteration
 
void StartOptimization() override
 
@ GradientMagnitudeTolerance
 
@ MaximumNumberOfIterations
 
StopConditionType m_StopCondition
 
MeasureType m_CurrentValue
 
Array< double > DiagonalMatrixType
 
double m_CurrentStepLength
 
double m_GradientMagnitudeTolerance
 
std::vector< ParametersType > SType
 
virtual void LineSearch(const ParametersType searchDir, double &step, ParametersType &x, MeasureType &f, DerivativeType &g)
 
SmartPointer< const Self > ConstPointer
 
A cost function that applies a scaling to another cost function.
 
ScaledSingleValuedNonLinearOptimizer()
 
NonLinearOptimizer::ScalesType ScalesType