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