18#ifndef elxQuasiNewtonLBFGS_h 
   19#define elxQuasiNewtonLBFGS_h 
   87template <
class TElastix>
 
  115  using Superclass1::CostFunctionType;
 
  116  using Superclass1::CostFunctionPointer;
 
  118  using Superclass1::ParametersType;
 
  119  using Superclass1::DerivativeType;
 
  155  itkGetConstMacro(StartLineSearch, 
bool);
 
 
  202#ifndef ITK_MANUAL_INSTANTIATION 
  203#  include "elxQuasiNewtonLBFGS.hxx" 
This class is the elastix base class for all Optimizers.
 
typename ElastixType::RegistrationBaseType RegistrationType
 
itk::Optimizer ITKBaseType
 
typename ITKBaseType::ParametersType ParametersType
 
An optimizer based on the itk::QuasiNewtonLBFGSOptimizer.
 
bool TestConvergence(bool firstLineSearchDone) override
 
itk::SmartPointer< const Self > ConstPointer
 
virtual std::string GetLineSearchStopCondition() const
 
bool m_GenerateLineSearchIterations
 
void StartOptimization() override
 
EventPassThroughPointer m_EventPasser
 
void BeforeRegistration() override
 
~QuasiNewtonLBFGS() override=default
 
void AfterEachIteration() override
 
void AfterRegistration() override
 
void LineSearch(const ParametersType searchDir, double &step, ParametersType &x, MeasureType &f, DerivativeType &g) override
 
LineOptimizerPointer m_LineOptimizer
 
itk::SmartPointer< Self > Pointer
 
ITK_DISALLOW_COPY_AND_MOVE(QuasiNewtonLBFGS)
 
typename EventPassThroughType::Pointer EventPassThroughPointer
 
bool m_WolfeIsStopCondition
 
bool m_StopIfWolfeNotSatisfied
 
void InvokeIterationEvent(const itk::EventObject &event)
 
void AfterEachResolution() override
 
virtual std::string DeterminePhase() const
 
typename Superclass2::ITKBaseType ITKBaseType
 
void BeforeEachResolution() override
 
elxClassNameMacro("QuasiNewtonLBFGS")
 
itk::ReceptorMemberCommand< Self > EventPassThroughType
 
double m_SearchDirectionMagnitude
 
ITK version of the MoreThuente line search algorithm.
 
ITK version of the lbfgs algorithm ...
 
NonLinearOptimizer::ScalesType ScalesType