template<typename TInternalComputationValueType>
class itk::ConjugateGradientLineSearchOptimizerv4Template< TInternalComputationValueType >
Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
ConjugateGradientLineSearchOptimizer implements a conjugate gradient descent optimizer that is followed by a line search to find the best value for the learning rate. At each iteration the current position is updated according to
\[ p_{n+1} = p_n
+ \mbox{learningRateByGoldenSectionLineSearch}
\, d
\]
where d is defined as the Polak-Ribiere conjugate gradient.
Options are identical to the superclass's.
- Examples
- Examples/RegistrationITKv4/MultiStageImageRegistration1.cxx, and Examples/RegistrationITKv4/MultiStageImageRegistration2.cxx.
Definition at line 48 of file itkConjugateGradientLineSearchOptimizerv4.h.
|
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| |
| virtual const TInternalComputationValueType & | GetInitialLearningRate () const |
| |
| virtual const char * | GetNameOfClass () const |
| |
| virtual void | SetInitialLearningRate (TInternalComputationValueType _arg) |
| |
| void | SetLearningRate (TInternalComputationValueType learningRate) override |
| |
| void | StartOptimization (bool doOnlyInitialization=false) override |
| |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| |
| virtual void | SetEpsilon (TInternalComputationValueType _arg) |
| |
| virtual TInternalComputationValueType | GetEpsilon () |
| |
| virtual void | SetLowerLimit (TInternalComputationValueType _arg) |
| |
| virtual TInternalComputationValueType | GetLowerLimit () |
| |
| virtual void | SetUpperLimit (TInternalComputationValueType _arg) |
| |
| virtual TInternalComputationValueType | GetUpperLimit () |
| |
| virtual void | SetMaximumLineSearchIterations (unsigned int _arg) |
| |
| virtual unsigned int | GetMaximumLineSearchIterations () |
| |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| |
| virtual void | EstimateLearningRate () |
| |
| | itkVirtualGetConstReferenceMacro (ConvergenceValue, TInternalComputationValueType) |
| |
| | itkVirtualSetMacro (ConvergenceWindowSize, SizeValueType) |
| |
| | itkVirtualSetMacro (MinimumConvergenceValue, TInternalComputationValueType) |
| |
| void | ResumeOptimization () override |
| |
| void | StartOptimization (bool doOnlyInitialization=false) override |
| |
| void | StopOptimization () override |
| |
| virtual const TInternalComputationValueType & | GetLearningRate () const |
| |
| virtual void | SetMaximumStepSizeInPhysicalUnits (TInternalComputationValueType _arg) |
| |
| virtual const TInternalComputationValueType & | GetMaximumStepSizeInPhysicalUnits () const |
| |
| 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 | SetReturnBestParametersAndValue (bool _arg) |
| |
| virtual const bool & | GetReturnBestParametersAndValue () const |
| |
| virtual void | ReturnBestParametersAndValueOn () |
| |
| virtual void | ReturnBestParametersAndValueOff () |
| |
| virtual const DerivativeType & | GetGradient () const |
| |
| StopConditionReturnStringType | GetStopConditionDescription () const override |
| |
| | itkVirtualGetConstReferenceMacro (StopCondition, StopConditionObjectToObjectOptimizerEnum) |
| |
| 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 |
| |
| LightObject::Pointer | CreateAnother () const override |
| |
| 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 |
| |
|
| void | AdvanceOneStep () override |
| |
| | ConjugateGradientLineSearchOptimizerv4Template ()=default |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~ConjugateGradientLineSearchOptimizerv4Template () override=default |
| |
| void | AdvanceOneStep () override |
| |
| TInternalComputationValueType | GoldenSectionSearch (TInternalComputationValueType a, TInternalComputationValueType b, TInternalComputationValueType c, TInternalComputationValueType metricb=NumericTraits< TInternalComputationValueType >::max()) |
| |
| | GradientDescentLineSearchOptimizerv4Template () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~GradientDescentLineSearchOptimizerv4Template () override=default |
| |
| | GradientDescentOptimizerv4Template () |
| |
| void | ModifyGradientByLearningRateOverSubRange (const IndexRangeType &subrange) override |
| |
| void | ModifyGradientByScalesOverSubRange (const IndexRangeType &subrange) override |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~GradientDescentOptimizerv4Template () override=default |
| |
| | GradientDescentOptimizerBasev4Template () |
| |
| | ~GradientDescentOptimizerBasev4Template () override=default |
| |
| | ObjectToObjectOptimizerBaseTemplate () |
| |
| | ObjectToObjectOptimizerBaseTemplate () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const override |
| |
| | ~ObjectToObjectOptimizerBaseTemplate () override |
| |
| | ~ObjectToObjectOptimizerBaseTemplate () override |
| |
| | Object () |
| |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| |
| virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
| |
| | ~Object () override |
| |
| virtual LightObject::Pointer | InternalClone () const |
| |
| | LightObject () |
| |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| |
| virtual | ~LightObject () |
| |