![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <itkFiniteDifferenceGradientDescentOptimizer.h>
An optimizer based on gradient descent ...
If is a costfunction that has to be minimised, the following iterative algorithm is used to find the optimal parameters x:
for all parameters .
From this equation it is clear that it a gradient descent optimizer, using a finite difference approximation of the gradient.
The gain at each iteration
is defined by:
The perturbation size at each iteration
is defined by:
Note the similarities to the SimultaneousPerturbation optimizer and the StandardGradientDescent optimizer.
Definition at line 52 of file itkFiniteDifferenceGradientDescentOptimizer.h.
typedef SmartPointer<const Self> itk::FiniteDifferenceGradientDescentOptimizer::ConstPointer |
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
Definition at line 61 of file itkFiniteDifferenceGradientDescentOptimizer.h.
typedef SmartPointer<Self> itk::FiniteDifferenceGradientDescentOptimizer::Pointer |
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
Definition at line 60 of file itkFiniteDifferenceGradientDescentOptimizer.h.
typedef FiniteDifferenceGradientDescentOptimizer itk::FiniteDifferenceGradientDescentOptimizer::Self |
Standard class typedefs.
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
Definition at line 58 of file itkFiniteDifferenceGradientDescentOptimizer.h.
typedef ScaledSingleValuedNonLinearOptimizer itk::FiniteDifferenceGradientDescentOptimizer::Superclass |
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Definition at line 59 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Codes of stopping conditions
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
Definition at line 70 of file itkFiniteDifferenceGradientDescentOptimizer.h.
itk::FiniteDifferenceGradientDescentOptimizer::FiniteDifferenceGradientDescentOptimizer | ( | ) | [protected] |
virtual itk::FiniteDifferenceGradientDescentOptimizer::~FiniteDifferenceGradientDescentOptimizer | ( | ) | [inline, protected, virtual] |
Definition at line 136 of file itkFiniteDifferenceGradientDescentOptimizer.h.
itk::FiniteDifferenceGradientDescentOptimizer::FiniteDifferenceGradientDescentOptimizer | ( | const Self & | ) | [private] |
virtual void itk::FiniteDifferenceGradientDescentOptimizer::AdvanceOneStep | ( | void | ) | [virtual] |
Advance one step following the gradient direction.
virtual double itk::FiniteDifferenceGradientDescentOptimizer::Compute_a | ( | unsigned long | k | ) | const [protected, virtual] |
virtual double itk::FiniteDifferenceGradientDescentOptimizer::Compute_c | ( | unsigned long | k | ) | const [protected, virtual] |
virtual void itk::FiniteDifferenceGradientDescentOptimizer::ComputeCurrentValueOff | ( | ) | [virtual] |
virtual void itk::FiniteDifferenceGradientDescentOptimizer::ComputeCurrentValueOn | ( | ) | [virtual] |
virtual const char* itk::FiniteDifferenceGradientDescentOptimizer::GetClassName | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
virtual bool itk::FiniteDifferenceGradientDescentOptimizer::GetComputeCurrentValue | ( | ) | const [virtual] |
virtual unsigned long itk::FiniteDifferenceGradientDescentOptimizer::GetCurrentIteration | ( | ) | const [virtual] |
Get the current iteration number.
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetGradientMagnitude | ( | ) | const [virtual] |
Get the CurrentStepLength, GradientMagnitude and LearningRate (a_k)
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetLearningRate | ( | ) | const [virtual] |
virtual unsigned long itk::FiniteDifferenceGradientDescentOptimizer::GetNumberOfIterations | ( | ) | const [virtual] |
Get the number of iterations.
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetParam_a | ( | ) | [virtual] |
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetParam_A | ( | ) | [virtual] |
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetParam_alpha | ( | ) | [virtual] |
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetParam_c | ( | ) | [virtual] |
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetParam_gamma | ( | ) | [virtual] |
virtual StopConditionType itk::FiniteDifferenceGradientDescentOptimizer::GetStopCondition | ( | ) | const [virtual] |
Get Stop condition.
virtual double itk::FiniteDifferenceGradientDescentOptimizer::GetValue | ( | ) | const [virtual] |
Get the current value.
static Pointer itk::FiniteDifferenceGradientDescentOptimizer::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
void itk::FiniteDifferenceGradientDescentOptimizer::operator= | ( | const Self & | ) | [private] |
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
void itk::FiniteDifferenceGradientDescentOptimizer::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected] |
PrintSelf method.
Reimplemented from itk::ScaledSingleValuedNonLinearOptimizer.
Resume previously stopped optimization with current parameters
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetComputeCurrentValue | ( | bool | _arg | ) | [virtual] |
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetNumberOfIterations | ( | unsigned long | _arg | ) | [virtual] |
Set the number of iterations.
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetParam_a | ( | double | _arg | ) | [virtual] |
Set/Get a.
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetParam_A | ( | double | _arg | ) | [virtual] |
Set/Get A.
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetParam_alpha | ( | double | _arg | ) | [virtual] |
Set/Get alpha.
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetParam_c | ( | double | _arg | ) | [virtual] |
Set/Get c.
virtual void itk::FiniteDifferenceGradientDescentOptimizer::SetParam_gamma | ( | double | _arg | ) | [virtual] |
Set/Get gamma.
Start optimization.
Reimplemented in elastix::FiniteDifferenceGradientDescent< TElastix >.
Stop optimization.
Boolean that says if the current value of the metric has to be computed. This is not necessary for optimisation; just nice for progress information.
Definition at line 151 of file itkFiniteDifferenceGradientDescentOptimizer.h.
unsigned long itk::FiniteDifferenceGradientDescentOptimizer::m_CurrentIteration [private] |
Definition at line 167 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 142 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 144 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 143 of file itkFiniteDifferenceGradientDescentOptimizer.h.
unsigned long itk::FiniteDifferenceGradientDescentOptimizer::m_NumberOfIterations [private] |
Definition at line 166 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Parameters, as described by Spall.
Definition at line 170 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 172 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 173 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 171 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 174 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Private member variables.
Definition at line 163 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 165 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Definition at line 164 of file itkFiniteDifferenceGradientDescentOptimizer.h.
Generated on 11-05-2012 for elastix by ![]() |
![]() |