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