#include <elxRegularStepGradientDescent.h>
An optimizer based on gradient descent...
This optimizer is a wrap around the itk::RegularStepGradientDescentOptimizer. This wrap-around class takes care of setting parameters, and printing progress information. For detailed information about the optimisation method, please read the documentation of the itkRegularStepGradientDescentOptimizer (in the ITK-manual).
The parameters used in this class are:
Optimizer: Select this optimizer as follows:
(Optimizer "RegularStepGradientDescent")
MaximumNumberOfIterations: the maximum number of iterations in each resolution.
example: (MaximumNumberOfIterations 100 100 50)
Default value: 500.
MinimumGradientMagnitude: stopping criterion. If the magnitude of the derivative of the cost function is below this value, optimisation is stopped.
example: (MinimumGradientMagnitude 0.0001 0.0001 0.001)
Default value: 1e-8.
MinimumStepLength: stopping criterion. If the steplength is below this value, optimisation is stopped.
example: (MinimumStepLength 1.0 0.5 0.1)
Default value: 0.5 / 2^resolutionlevel
MaximumStepLength: the starting steplength.
example: (MaximumStepLength 16.0 8.0 4.0)
Default value: 16 / 2^resolutionlevel.
RelaxationFactor: the factor with which the steplength is multiplied, if the optimiser notices that a smaller steplength is needed.
example: (RelaxationFactor 0.5 0.5 0.8 )
.
Default/recommended value: 0.5.
Definition at line 65 of file elxRegularStepGradientDescent.h.
Public Types | |
using | ConstPointer = itk::SmartPointer<const Self> |
using | ITKBaseType = typename Superclass2::ITKBaseType |
using | Pointer = itk::SmartPointer<Self> |
using | Self = RegularStepGradientDescent |
using | Superclass1 = RegularStepGradientDescentOptimizer |
using | Superclass2 = OptimizerBase<TElastix> |
Public Types inherited from elastix::OptimizerBase< TElastix > | |
using | ElastixType |
using | ITKBaseType = itk::Optimizer |
using | ParametersType = typename ITKBaseType::ParametersType |
using | RegistrationType |
using | Self = OptimizerBase |
using | Superclass = BaseComponentSE<TElastix> |
Public Types inherited from elastix::BaseComponentSE< TElastix > | |
using | ElastixType = TElastix |
using | RegistrationType = typename ElastixType::RegistrationBaseType |
using | Self = BaseComponentSE |
using | Superclass = BaseComponent |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
RegularStepGradientDescent ()=default | |
~RegularStepGradientDescent () override=default | |
Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
virtual bool | GetNewSamplesEveryIteration () const |
OptimizerBase ()=default | |
virtual void | SelectNewSamples () |
~OptimizerBase () override=default | |
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
BaseComponentSE ()=default | |
~BaseComponentSE () override=default | |
Protected Member Functions inherited from elastix::BaseComponent | |
BaseComponent ()=default | |
virtual | ~BaseComponent ()=default |
Private Attributes | |
elxOverrideGetSelfMacro | |
Additional Inherited Members | |
Protected Types inherited from elastix::OptimizerBase< TElastix > | |
using | SettingsVectorType = typename std::vector<SettingsType> |
Static Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
static void | PrintSettingsVector (const SettingsVectorType &settings) |
Protected Attributes inherited from elastix::BaseComponentSE< TElastix > | |
Configuration::ConstPointer | m_Configuration {} |
itk::WeakPointer< TElastix > | m_Elastix {} |
RegistrationType * | m_Registration {} |
using elastix::RegularStepGradientDescent< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 77 of file elxRegularStepGradientDescent.h.
using elastix::RegularStepGradientDescent< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 98 of file elxRegularStepGradientDescent.h.
using elastix::RegularStepGradientDescent< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 76 of file elxRegularStepGradientDescent.h.
using elastix::RegularStepGradientDescent< TElastix >::Self = RegularStepGradientDescent |
Standard ITK.
Definition at line 73 of file elxRegularStepGradientDescent.h.
using elastix::RegularStepGradientDescent< TElastix >::Superclass1 = RegularStepGradientDescentOptimizer |
Definition at line 74 of file elxRegularStepGradientDescent.h.
using elastix::RegularStepGradientDescent< TElastix >::Superclass2 = OptimizerBase<TElastix> |
Definition at line 75 of file elxRegularStepGradientDescent.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Methods invoked by elastix, in which parameters can be set and progress information can be printed.
Reimplemented from elastix::BaseComponent.
elastix::RegularStepGradientDescent< TElastix >::elxClassNameMacro | ( | "RegularStepGradientDescent< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific optimizer.
example: (Optimizer "RegularStepGradientDescent")
|
virtual |
Run-time type information (and related methods).
Reimplemented from elastix::OptimizerBase< TElastix >.
elastix::RegularStepGradientDescent< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | RegularStepGradientDescent< TElastix > | ) |
|
static |
Method for creation through the object factory.
|
override |
Override the SetInitialPosition. Override the implementation in itkOptimizer.h, to ensure that the scales array and the parameters array have the same size.
|
private |
Definition at line 132 of file elxRegularStepGradientDescent.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |