![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#include <elxFiniteDifferenceGradientDescent.h>
An optimizer based on the itk::FiniteDifferenceGradientDescentOptimizer.
This class is a wrap around the FiniteDifferenceGradientDescentOptimizer class. It takes care of setting parameters and printing progress information. For more information about the optimisation method, please read the documentation of the FiniteDifferenceGradientDescentOptimizer class.
Watch out for this optimizer; it may be very slow....
The parameters used in this class are:
Optimizer: Select this optimizer as follows:
(Optimizer "FiniteDifferenceGradientDescent")
MaximumNumberOfIterations: The maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
SP_a: The gain
SP_a can be defined for each resolution.
example: (SP_a 3200.0 3200.0 1600.0)
The default value is 400.0. Tuning this variable for you specific problem is recommended.
SP_A: The gain
SP_A can be defined for each resolution.
example: (SP_A 50.0 50.0 100.0)
The default/recommended value is 50.0.
SP_alpha: The gain
SP_alpha can be defined for each resolution.
example: (SP_alpha 0.602 0.602 0.602)
The default/recommended value is 0.602.
SP_c: The perturbation step size
SP_c can be defined for each resolution.
example: (SP_c 2.0 1.0 1.0)
The default value is 1.0.
SP_gamma: The perturbation step size
SP_gamma can be defined for each resolution.
example: (SP_gamma 0.101 0.101 0.101)
The default/recommended value is 0.101.
ShowMetricValues: Defines whether to compute/show the metric value in each iteration.
This flag can NOT be defined for each resolution.
example: (ShowMetricValues "true" )
Default value: "false". Note that turning this flag on increases computation time.
Definition at line 80 of file elxFiniteDifferenceGradientDescent.h.
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
FiniteDifferenceGradientDescent () | |
~FiniteDifferenceGradientDescent () override=default | |
![]() | |
virtual double | Compute_a (unsigned long k) const |
virtual double | Compute_c (unsigned long k) const |
FiniteDifferenceGradientDescentOptimizer () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~FiniteDifferenceGradientDescentOptimizer () override=default | |
![]() | |
virtual void | GetScaledDerivative (const ParametersType ¶meters, DerivativeType &derivative) const |
virtual MeasureType | GetScaledValue (const ParametersType ¶meters) const |
virtual void | GetScaledValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
ScaledSingleValuedNonLinearOptimizer () | |
void | SetCurrentPosition (const ParametersType ¶m) override |
virtual void | SetScaledCurrentPosition (const ParametersType ¶meters) |
~ScaledSingleValuedNonLinearOptimizer () override=default | |
![]() | |
virtual bool | GetNewSamplesEveryIteration () const |
OptimizerBase ()=default | |
virtual void | SelectNewSamples () |
~OptimizerBase () override=default | |
![]() | |
BaseComponentSE ()=default | |
~BaseComponentSE () override=default | |
![]() | |
BaseComponent ()=default | |
virtual | ~BaseComponent ()=default |
Protected Attributes | |
bool | m_ShowMetricValues |
![]() | |
bool | m_ComputeCurrentValue { false } |
DerivativeType | m_Gradient |
double | m_GradientMagnitude { 0.0 } |
double | m_LearningRate { 0.0 } |
![]() | |
ScaledCostFunctionPointer | m_ScaledCostFunction |
ParametersType | m_ScaledCurrentPosition |
![]() | |
ConfigurationPointer | m_Configuration {} |
itk::WeakPointer< TElastix > | m_Elastix {} |
RegistrationType * | m_Registration {} |
Private Attributes | |
elxOverrideGetSelfMacro | |
using elastix::FiniteDifferenceGradientDescent< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 92 of file elxFiniteDifferenceGradientDescent.h.
using elastix::FiniteDifferenceGradientDescent< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 114 of file elxFiniteDifferenceGradientDescent.h.
using elastix::FiniteDifferenceGradientDescent< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 91 of file elxFiniteDifferenceGradientDescent.h.
using elastix::FiniteDifferenceGradientDescent< TElastix >::Self = FiniteDifferenceGradientDescent |
Standard ITK.
Definition at line 88 of file elxFiniteDifferenceGradientDescent.h.
using elastix::FiniteDifferenceGradientDescent< TElastix >::Superclass1 = FiniteDifferenceGradientDescentOptimizer |
Definition at line 89 of file elxFiniteDifferenceGradientDescent.h.
using elastix::FiniteDifferenceGradientDescent< TElastix >::Superclass2 = OptimizerBase<TElastix> |
Definition at line 90 of file elxFiniteDifferenceGradientDescent.h.
enum itk::FiniteDifferenceGradientDescentOptimizer::StopConditionType |
Codes of stopping conditions
Definition at line 73 of file itkFiniteDifferenceGradientDescentOptimizer.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Methods that take care of setting parameters and printing progress information.
Reimplemented from elastix::BaseComponent.
elastix::FiniteDifferenceGradientDescent< TElastix >::elxClassNameMacro | ( | "FiniteDifferenceGradientDescent< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "FiniteDifferenceGradientDescent")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::FiniteDifferenceGradientDescentOptimizer.
elastix::FiniteDifferenceGradientDescent< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | FiniteDifferenceGradientDescent< TElastix > | ) |
|
static |
Method for creation through the object factory.
|
override |
Check if any scales are set, and set the UseScales flag on or off; after that call the superclass' implementation
|
private |
Definition at line 147 of file elxFiniteDifferenceGradientDescent.h.
|
protected |
Definition at line 144 of file elxFiniteDifferenceGradientDescent.h.
Generated on Wed 12 Apr 2023
for elastix by ![]() |
![]() |