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 at each iteration is defined by
.
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 at each iteration is defined by
.
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 at each iteration is defined by
.
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 at each iteration is defined by
.
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 at each iteration is defined by
.
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.
Public Member Functions | |
void | AfterEachIteration (void) override |
void | AfterEachResolution (void) override |
void | AfterRegistration (void) override |
void | BeforeEachResolution (void) override |
void | BeforeRegistration (void) override |
elxClassNameMacro ("FiniteDifferenceGradientDescent") | |
virtual const char * | GetClassName () const |
void | StartOptimization (void) override |
Public Member Functions inherited from itk::FiniteDifferenceGradientDescentOptimizer | |
virtual void | AdvanceOneStep (void) |
virtual void | ComputeCurrentValueOff () |
virtual void | ComputeCurrentValueOn () |
virtual const char * | GetClassName () const |
virtual bool | GetComputeCurrentValue () const |
virtual unsigned long | GetCurrentIteration () const |
virtual double | GetGradientMagnitude () const |
virtual double | GetLearningRate () const |
virtual unsigned long | GetNumberOfIterations () const |
virtual double | GetParam_a () |
virtual double | GetParam_A () |
virtual double | GetParam_alpha () |
virtual double | GetParam_c () |
virtual double | GetParam_gamma () |
virtual StopConditionType | GetStopCondition () const |
virtual double | GetValue () const |
void | ResumeOptimization (void) |
virtual void | SetComputeCurrentValue (bool _arg) |
virtual void | SetNumberOfIterations (unsigned long _arg) |
virtual void | SetParam_a (double _arg) |
virtual void | SetParam_A (double _arg) |
virtual void | SetParam_alpha (double _arg) |
virtual void | SetParam_c (double _arg) |
virtual void | SetParam_gamma (double _arg) |
void | StartOptimization (void) override |
void | StopOptimization (void) |
Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
virtual const char * | GetClassName () const |
const ParametersType & | GetCurrentPosition (void) const override |
virtual bool | GetMaximize () const |
virtual const ScaledCostFunctionType * | GetScaledCostFunction () |
virtual const ParametersType & | GetScaledCurrentPosition () |
bool | GetUseScales (void) const |
virtual void | InitializeScales (void) |
virtual void | MaximizeOff () |
virtual void | MaximizeOn () |
void | SetCostFunction (CostFunctionType *costFunction) override |
virtual void | SetMaximize (bool _arg) |
virtual void | SetUseScales (bool arg) |
Public Member Functions inherited from elastix::OptimizerBase< TElastix > | |
void | AfterRegistrationBase (void) override |
void | BeforeEachResolutionBase () override |
virtual ITKBaseType * | GetAsITKBaseType (void) |
virtual const ITKBaseType * | GetAsITKBaseType (void) const |
virtual const char * | GetClassName () const |
virtual void | SetCurrentPositionPublic (const ParametersType ¶m) |
virtual void | SetSinusScales (double amplitude, double frequency, unsigned long numberOfParameters) |
Public Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationType * | GetConfiguration (void) const |
ElastixType * | GetElastix (void) const |
RegistrationPointer | GetRegistration (void) const |
ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponentSE) | |
void | SetConfiguration (ConfigurationType *_arg) |
void | SetElastix (ElastixType *_arg) |
Public Member Functions inherited from elastix::BaseComponent | |
virtual void | AfterEachIteration (void) |
virtual void | AfterEachIterationBase (void) |
virtual void | AfterEachResolution (void) |
virtual void | AfterEachResolutionBase (void) |
virtual void | AfterRegistration (void) |
virtual void | AfterRegistrationBase (void) |
virtual int | BeforeAll (void) |
virtual int | BeforeAllBase (void) |
virtual void | BeforeEachResolution (void) |
virtual void | BeforeEachResolutionBase (void) |
virtual void | BeforeRegistration (void) |
virtual void | BeforeRegistrationBase (void) |
virtual const char * | elxGetClassName (void) const |
const char * | GetComponentLabel (void) const |
ITK_DISALLOW_COPY_AND_ASSIGN (BaseComponent) | |
itkTypeMacroNoParent (BaseComponent) | |
void | SetComponentLabel (const char *label, unsigned int idx) |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::FiniteDifferenceGradientDescentOptimizer | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
static std::string | ConvertSecondsToDHMS (const double totalSeconds, const unsigned int precision) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
FiniteDifferenceGradientDescent () | |
~FiniteDifferenceGradientDescent () override | |
Protected Member Functions inherited from itk::FiniteDifferenceGradientDescentOptimizer | |
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 | |
Protected Member Functions inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
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 | |
Protected Member Functions inherited from elastix::OptimizerBase< TElastix > | |
virtual bool | GetNewSamplesEveryIteration (void) const |
OptimizerBase () | |
virtual void | SelectNewSamples (void) |
~OptimizerBase () override | |
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 |
Protected Attributes | |
bool | m_ShowMetricValues |
Protected Attributes inherited from itk::FiniteDifferenceGradientDescentOptimizer | |
bool | m_ComputeCurrentValue |
DerivativeType | m_Gradient |
double | m_GradientMagnitude |
double | m_LearningRate |
Protected Attributes inherited from itk::ScaledSingleValuedNonLinearOptimizer | |
ScaledCostFunctionPointer | m_ScaledCostFunction |
ParametersType | m_ScaledCurrentPosition |
Protected Attributes inherited from elastix::BaseComponentSE< TElastix > | |
ConfigurationPointer | m_Configuration {} |
ElastixPointer | m_Elastix {} |
RegistrationPointer | m_Registration {} |
Private Member Functions | |
FiniteDifferenceGradientDescent (const Self &) | |
void | operator= (const Self &) |
typedef Superclass2::ConfigurationPointer elastix::FiniteDifferenceGradientDescent< TElastix >::ConfigurationPointer |
Definition at line 116 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::ConfigurationType elastix::FiniteDifferenceGradientDescent< TElastix >::ConfigurationType |
Definition at line 115 of file elxFiniteDifferenceGradientDescent.h.
typedef itk::SmartPointer< const Self > elastix::FiniteDifferenceGradientDescent< TElastix >::ConstPointer |
Definition at line 93 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass1::CostFunctionPointer elastix::FiniteDifferenceGradientDescent< TElastix >::CostFunctionPointer |
Definition at line 109 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass1::CostFunctionType elastix::FiniteDifferenceGradientDescent< TElastix >::CostFunctionType |
Typedef's inherited from Superclass1.
Definition at line 108 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::ElastixPointer elastix::FiniteDifferenceGradientDescent< TElastix >::ElastixPointer |
Definition at line 114 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::ElastixType elastix::FiniteDifferenceGradientDescent< TElastix >::ElastixType |
Typedef's inherited from Elastix.
Definition at line 113 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::ITKBaseType elastix::FiniteDifferenceGradientDescent< TElastix >::ITKBaseType |
Definition at line 119 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass1::ParametersType elastix::FiniteDifferenceGradientDescent< TElastix >::ParametersType |
Typedef for the ParametersType.
Definition at line 122 of file elxFiniteDifferenceGradientDescent.h.
typedef itk::SmartPointer< Self > elastix::FiniteDifferenceGradientDescent< TElastix >::Pointer |
Definition at line 92 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::RegistrationPointer elastix::FiniteDifferenceGradientDescent< TElastix >::RegistrationPointer |
Definition at line 118 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass2::RegistrationType elastix::FiniteDifferenceGradientDescent< TElastix >::RegistrationType |
Definition at line 117 of file elxFiniteDifferenceGradientDescent.h.
typedef FiniteDifferenceGradientDescent elastix::FiniteDifferenceGradientDescent< TElastix >::Self |
Standard ITK.
Definition at line 89 of file elxFiniteDifferenceGradientDescent.h.
typedef Superclass1::StopConditionType elastix::FiniteDifferenceGradientDescent< TElastix >::StopConditionType |
Definition at line 110 of file elxFiniteDifferenceGradientDescent.h.
typedef FiniteDifferenceGradientDescentOptimizer elastix::FiniteDifferenceGradientDescent< TElastix >::Superclass1 |
Definition at line 90 of file elxFiniteDifferenceGradientDescent.h.
typedef OptimizerBase< TElastix > elastix::FiniteDifferenceGradientDescent< TElastix >::Superclass2 |
Definition at line 91 of file elxFiniteDifferenceGradientDescent.h.
|
protected |
|
inlineoverrideprotected |
Definition at line 142 of file elxFiniteDifferenceGradientDescent.h.
|
private |
|
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.
|
static |
Method for creation through the object factory.
|
private |
|
override |
Check if any scales are set, and set the UseScales flag on or off; after that call the superclass' implementation
|
protected |
Definition at line 144 of file elxFiniteDifferenceGradientDescent.h.
Generated on 1667476801 for elastix by 1.9.4 |