18#ifndef elxStandardGradientDescent_h 
   19#define elxStandardGradientDescent_h 
   67template <
class TElastix>
 
   95  using Superclass1::CostFunctionType;
 
   96  using Superclass1::CostFunctionPointer;
 
  105  using typename Superclass1::ParametersType;
 
  139    this->Superclass1::SetCurrentPosition(param);
 
 
  144  itkSetMacro(MaximumNumberOfSamplingAttempts, 
unsigned long);
 
  147  itkGetConstReferenceMacro(MaximumNumberOfSamplingAttempts, 
unsigned long);
 
 
  164#ifndef ITK_MANUAL_INSTANTIATION 
  165#  include "elxStandardGradientDescent.hxx" 
This class is the elastix base class for all Optimizers.
 
typename ElastixType::RegistrationBaseType RegistrationType
 
itk::Optimizer ITKBaseType
 
typename ITKBaseType::ParametersType ParametersType
 
A gradient descent optimizer with a decaying gain.
 
void AfterEachIteration() override
 
ITK_DISALLOW_COPY_AND_MOVE(StandardGradientDescent)
 
void BeforeRegistration() override
 
typename Superclass2::ITKBaseType ITKBaseType
 
itk::SmartPointer< const Self > ConstPointer
 
unsigned long m_PreviousErrorAtIteration
 
elxClassNameMacro("StandardGradientDescent")
 
itk::SmartPointer< Self > Pointer
 
void MetricErrorResponse(itk::ExceptionObject &err) override
 
unsigned long m_MaximumNumberOfSamplingAttempts
 
void SetCurrentPositionPublic(const ParametersType ¶m) override
 
void BeforeEachResolution() override
 
void AfterEachResolution() override
 
void StartOptimization() override
 
StandardGradientDescent()
 
void AfterRegistration() override
 
unsigned long m_CurrentNumberOfSamplingAttempts
 
~StandardGradientDescent() override=default
 
This class implements a gradient descent optimizer with a decaying gain.