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.