18#ifndef itkStochasticPreconditionedGradientDescentOptimizer_h
19#define itkStochasticPreconditionedGradientDescentOptimizer_h
75 using Superclass::MeasureType;
76 using Superclass::ParametersType;
77 using Superclass::DerivativeType;
78 using Superclass::CostFunctionType;
90 itkSetMacro(Param_a,
double);
91 itkGetConstMacro(Param_a,
double);
94 itkSetMacro(Param_A,
double);
95 itkGetConstMacro(Param_A,
double);
98 itkSetMacro(Param_alpha,
double);
99 itkGetConstMacro(Param_alpha,
double);
116 itkSetMacro(InitialTime,
double);
117 itkGetConstMacro(InitialTime,
double);
122 itkGetConstMacro(CurrentTime,
double);
Implement a gradient descent optimizer.
DerivativeType::ValueType PreconditionValueType
NonLinearOptimizer::ScalesType ScalesType
PreconditionedGradientDescentOptimizer()
vnl_sparse_matrix< PreconditionValueType > PreconditionType
A cost function that applies a scaling to another cost function.
This class implements a gradient descent optimizer with a decaying gain and preconditioning.
StochasticPreconditionedGradientDescentOptimizer()
virtual void AdvanceOneStep()
virtual ~StochasticPreconditionedGradientDescentOptimizer()
ITK_DISALLOW_COPY_AND_MOVE(StochasticPreconditionedGradientDescentOptimizer)
SmartPointer< const Self > ConstPointer
virtual double Compute_a(double k) const
virtual void UpdateCurrentTime()
virtual void StartOptimization()