template<typename TInternalComputationValueType = double>
class itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >
Regular Step Gradient descent optimizer.
This optimizer is a variant of gradient descent that attempts to prevent it from taking steps that are too large. At each iteration, this optimizer will take a step along the direction of the metric derivative. Each time the direction of the derivative abruptly changes, the optimizer assumes that a local extrema has been passed and reacts by reducing the step length by a relaxation factor that is set to 0.5 by default. The default value for the initial step length is 1, and this value can only be changed manually via SetLearningRate() since this optimizer does not use the ScaleEstimator to automatically estimate the learning rate. Also note that unlike the previous version of RegularStepGradientDescentOptimizer, ITKv4 does not have a "maximize/minimize" option to modify the effect of the metric derivative. The assigned metric is assumed to return a parameter derivative result that "improves" the optimization.
- Examples
- Examples/RegistrationITKv4/ImageRegistration1.cxx, Examples/RegistrationITKv4/ImageRegistration12.cxx, Examples/RegistrationITKv4/ImageRegistration13.cxx, Examples/RegistrationITKv4/ImageRegistration3.cxx, Examples/RegistrationITKv4/ImageRegistration4.cxx, Examples/RegistrationITKv4/ImageRegistration5.cxx, Examples/RegistrationITKv4/ImageRegistration6.cxx, Examples/RegistrationITKv4/ImageRegistration7.cxx, Examples/RegistrationITKv4/ImageRegistration8.cxx, Examples/RegistrationITKv4/ImageRegistration9.cxx, Examples/RegistrationITKv4/MultiResImageRegistration1.cxx, Examples/RegistrationITKv4/MultiStageImageRegistration1.cxx, and Examples/RegistrationITKv4/MultiStageImageRegistration2.cxx.
Definition at line 47 of file itkRegularStepGradientDescentOptimizerv4.h.
|
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| |
| void | EstimateLearningRate () override |
| |
| double | GetCurrentStepLength () const |
| |
| virtual const char * | GetNameOfClass () const |
| |
| void | StartOptimization (bool doOnlyInitialization=false) override |
| |
|
| virtual void | SetMinimumStepLength (TInternalComputationValueType _arg) |
| |
| virtual const TInternalComputationValueType & | GetMinimumStepLength () const |
| |
|
| virtual void | SetRelaxationFactor (TInternalComputationValueType _arg) |
| |
| virtual const TInternalComputationValueType & | GetRelaxationFactor () const |
| |
|
| virtual void | SetGradientMagnitudeTolerance (TInternalComputationValueType _arg) |
| |
| virtual const TInternalComputationValueType & | GetGradientMagnitudeTolerance () const |
| |
|
| virtual void | SetCurrentLearningRateRelaxation (MeasureType _arg) |
| |
| virtual const MeasureType & | GetCurrentLearningRateRelaxation () const |
| |
| | itkVirtualGetConstReferenceMacro (ConvergenceValue, double) |
| |
| | itkVirtualGetConstReferenceMacro (ConvergenceValue, double) |
| |
| | itkVirtualSetMacro (ConvergenceWindowSize, SizeValueType) |
| |
| | itkVirtualSetMacro (ConvergenceWindowSize, SizeValueType) |
| |
| | itkVirtualSetMacro (MinimumConvergenceValue, double) |
| |
| | itkVirtualSetMacro (MinimumConvergenceValue, double) |
| |
| void | ResumeOptimization () override |
| |
| void | ResumeOptimization () override |
| |
| void | StopOptimization () override |
| |
| void | StopOptimization () override |
| |
| virtual void | SetLearningRate (double _arg) |
| |
| virtual const double & | GetLearningRate () const |
| |
| virtual void | SetLearningRate (double _arg) |
| |
| virtual const double & | GetLearningRate () const |
| |
| virtual void | SetMaximumStepSizeInPhysicalUnits (double _arg) |
| |
| virtual const double & | GetMaximumStepSizeInPhysicalUnits () const |
| |
| virtual void | SetMaximumStepSizeInPhysicalUnits (double _arg) |
| |
| virtual const double & | GetMaximumStepSizeInPhysicalUnits () const |
| |
| virtual void | SetDoEstimateLearningRateAtEachIteration (bool _arg) |
| |
| virtual const bool & | GetDoEstimateLearningRateAtEachIteration () const |
| |
| virtual void | DoEstimateLearningRateAtEachIterationOn () |
| |
| virtual void | DoEstimateLearningRateAtEachIterationOff () |
| |
| virtual void | SetDoEstimateLearningRateAtEachIteration (bool _arg) |
| |
| virtual const bool & | GetDoEstimateLearningRateAtEachIteration () const |
| |
| virtual void | DoEstimateLearningRateAtEachIterationOn () |
| |
| virtual void | DoEstimateLearningRateAtEachIterationOff () |
| |
| virtual void | SetDoEstimateLearningRateOnce (bool _arg) |
| |
| virtual const bool & | GetDoEstimateLearningRateOnce () const |
| |
| virtual void | DoEstimateLearningRateOnceOn () |
| |
| virtual void | DoEstimateLearningRateOnceOff () |
| |
| virtual void | SetDoEstimateLearningRateOnce (bool _arg) |
| |
| virtual const bool & | GetDoEstimateLearningRateOnce () const |
| |
| virtual void | DoEstimateLearningRateOnceOn () |
| |
| virtual void | DoEstimateLearningRateOnceOff () |
| |
| virtual void | SetReturnBestParametersAndValue (bool _arg) |
| |
| virtual const bool & | GetReturnBestParametersAndValue () const |
| |
| virtual void | ReturnBestParametersAndValueOn () |
| |
| virtual void | ReturnBestParametersAndValueOff () |
| |
| virtual void | SetReturnBestParametersAndValue (bool _arg) |
| |
| virtual const bool & | GetReturnBestParametersAndValue () const |
| |
| virtual void | ReturnBestParametersAndValueOn () |
| |
| virtual void | ReturnBestParametersAndValueOff () |
| |
| virtual const DerivativeType & | GetGradient () const |
| |
| virtual const DerivativeType & | GetGradient () const |
| |
| StopConditionReturnStringType | GetStopConditionDescription () const override |
| |
| StopConditionReturnStringType | GetStopConditionDescription () const override |
| |
| | itkVirtualGetConstReferenceMacro (StopCondition, StopConditionObjectToObjectOptimizerEnum) |
| |
| | itkVirtualGetConstReferenceMacro (StopCondition, StopConditionObjectToObjectOptimizerEnum) |
| |
| virtual void | ModifyGradientByScales () |
| |
| virtual void | ModifyGradientByLearningRate () |
| |
| virtual void | ModifyGradientByScales () |
| |
| virtual void | ModifyGradientByLearningRate () |
| |
| virtual bool | CanUseScales () const |
| |
| virtual bool | CanUseScales () const |
| |
| virtual SizeValueType | GetCurrentIteration () const |
| |
| virtual SizeValueType | GetCurrentIteration () const |
| |
| virtual const MeasureType & | GetCurrentMetricValue () const |
| |
| virtual const MeasureType & | GetCurrentMetricValue () const |
| |
| virtual const ParametersType & | GetCurrentPosition () const |
| |
| virtual const ParametersType & | GetCurrentPosition () const |
| |
| virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
| |
| virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
| |
| virtual const ScalesType & | GetScales () const |
| |
| virtual const ScalesType & | GetScales () const |
| |
| virtual const bool & | GetScalesAreIdentity () const |
| |
| virtual const bool & | GetScalesAreIdentity () const |
| |
| bool | GetScalesInitialized () const |
| |
| bool | GetScalesInitialized () const |
| |
| virtual const MeasureType & | GetValue () const |
| |
| virtual const MeasureType & | GetValue () const |
| |
| virtual const ScalesType & | GetWeights () const |
| |
| virtual const ScalesType & | GetWeights () const |
| |
| virtual const bool & | GetWeightsAreIdentity () const |
| |
| virtual const bool & | GetWeightsAreIdentity () const |
| |
| | itkVirtualGetConstMacro (NumberOfIterations, SizeValueType) |
| |
| | itkVirtualGetConstMacro (NumberOfIterations, SizeValueType) |
| |
| | itkVirtualSetMacro (NumberOfIterations, SizeValueType) |
| |
| | itkVirtualSetMacro (NumberOfIterations, SizeValueType) |
| |
| virtual void | SetNumberOfWorkUnits (ThreadIdType number) |
| |
| virtual void | SetNumberOfWorkUnits (ThreadIdType number) |
| |
| virtual void | SetScales (const ScalesType &scales) |
| |
| virtual void | SetScales (const ScalesType &scales) |
| |
| virtual void | SetScalesEstimator (ScalesEstimatorType *_arg) |
| |
| virtual void | SetScalesEstimator (ScalesEstimatorType *_arg) |
| |
| virtual void | SetWeights (ScalesType _arg) |
| |
| virtual void | SetWeights (ScalesType _arg) |
| |
| | itkVirtualSetObjectMacro (Metric, MetricType) |
| |
| virtual MetricType * | GetModifiableMetric () |
| |
| virtual const MetricType * | GetMetric () const |
| |
| | itkVirtualSetObjectMacro (Metric, MetricType) |
| |
| virtual MetricType * | GetModifiableMetric () |
| |
| virtual const MetricType * | GetMetric () const |
| |
| virtual void | SetDoEstimateScales (bool _arg) |
| |
| virtual const bool & | GetDoEstimateScales () const |
| |
| virtual void | DoEstimateScalesOn () |
| |
| virtual void | DoEstimateScalesOff () |
| |
| virtual void | SetDoEstimateScales (bool _arg) |
| |
| virtual const bool & | GetDoEstimateScales () const |
| |
| virtual void | DoEstimateScalesOn () |
| |
| virtual void | DoEstimateScalesOff () |
| |
| unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
| |
| unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
| |
| virtual void | DebugOff () const |
| |
| virtual void | DebugOn () const |
| |
| Command * | GetCommand (unsigned long tag) |
| |
| bool | GetDebug () const |
| |
| MetaDataDictionary & | GetMetaDataDictionary () |
| |
| const MetaDataDictionary & | GetMetaDataDictionary () const |
| |
| virtual ModifiedTimeType | GetMTime () const |
| |
| virtual const TimeStamp & | GetTimeStamp () const |
| |
| bool | HasObserver (const EventObject &event) const |
| |
| void | InvokeEvent (const EventObject &) |
| |
| void | InvokeEvent (const EventObject &) const |
| |
| virtual void | Modified () const |
| |
| void | Register () const override |
| |
| void | RemoveAllObservers () |
| |
| void | RemoveObserver (unsigned long tag) const |
| |
| void | SetDebug (bool debugFlag) const |
| |
| void | SetReferenceCount (int) override |
| |
| void | UnRegister () const noexcept override |
| |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| |
| virtual void | SetObjectName (std::string _arg) |
| |
| virtual const std::string & | GetObjectName () const |
| |
| Pointer | Clone () const |
| |
| virtual void | Delete () |
| |
| virtual int | GetReferenceCount () const |
| |
| void | Print (std::ostream &os, Indent indent=0) const |
| |