ITK
6.0.0
Insight Toolkit
|
#include <itkGradientDescentOptimizerBasev4.h>
Definition at line 40 of file itkGradientDescentOptimizerBasev4.h.
Public Member Functions | |
virtual const DerivativeType & | GetGradient () const |
const char * | GetNameOfClass () const override |
virtual const StopConditionObjectToObjectOptimizerEnum & | GetStopCondition () const |
StopConditionReturnStringType | GetStopConditionDescription () const override |
virtual void | ModifyGradientByLearningRateOverSubRange (const IndexRangeType &subrange)=0 |
virtual void | ModifyGradientByScalesOverSubRange (const IndexRangeType &subrange)=0 |
virtual void | ResumeOptimization ()=0 |
void | StartOptimization (bool doOnlyInitialization=false) override |
virtual void | StopOptimization () |
virtual void | ModifyGradientByScales () |
virtual void | ModifyGradientByLearningRate () |
Public Member Functions inherited from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > | |
virtual bool | CanUseScales () const |
virtual SizeValueType | GetCurrentIteration () const |
virtual const MeasureType & | GetCurrentMetricValue () const |
virtual const ParametersType & | GetCurrentPosition () const |
const char * | GetNameOfClass () const override |
virtual SizeValueType | GetNumberOfIterations () const |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
virtual const ScalesType & | GetScales () const |
virtual const bool & | GetScalesAreIdentity () const |
bool | GetScalesInitialized () const |
virtual StopConditionReturnStringType | GetStopConditionDescription () const=0 |
virtual const MeasureType & | GetValue () const |
virtual const ScalesType & | GetWeights () const |
virtual const bool & | GetWeightsAreIdentity () const |
virtual void | SetNumberOfIterations (SizeValueType _arg) |
virtual void | SetNumberOfWorkUnits (ThreadIdType number) |
virtual void | SetScalesEstimator (ScalesEstimatorType *_arg) |
virtual void | SetWeights (ScalesType _arg) |
virtual void | StartOptimization (bool doOnlyInitialization=false) |
virtual void | SetMetric (MetricType *_arg) |
virtual MetricType * | GetModifiableMetric () |
virtual void | SetScales (const ScalesType &scales) |
virtual void | SetDoEstimateScales (bool _arg) |
virtual const bool & | GetDoEstimateScales () const |
virtual void | DoEstimateScalesOn () |
Public Member Functions inherited from itk::Object | |
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 |
const char * | GetNameOfClass () const override |
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 |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Protected Member Functions | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
GradientDescentOptimizerBasev4Template () | |
~GradientDescentOptimizerBasev4Template () override=default | |
Protected Member Functions inherited from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
ObjectToObjectOptimizerBaseTemplate () | |
~ObjectToObjectOptimizerBaseTemplate () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 50 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ConvergenceMonitoringType = itk::Function::WindowConvergenceMonitoringFunction<TInternalComputationValueType> |
Type for the convergence checker
Definition at line 97 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::IndexRangeType = ThreadedIndexedContainerPartitioner::IndexRangeType |
Definition at line 142 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::InternalComputationValueType = TInternalComputationValueType |
It should be possible to derive the internal computation type from the class object.
Definition at line 80 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::MetricTypePointer = typename MetricType::Pointer |
Definition at line 84 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Pointer = SmartPointer<Self> |
Definition at line 49 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Self = GradientDescentOptimizerBasev4Template |
Standard class type aliases.
Definition at line 47 of file itkGradientDescentOptimizerBasev4.h.
using itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Superclass = ObjectToObjectOptimizerBaseTemplate<TInternalComputationValueType> |
Definition at line 48 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Default constructor
|
overrideprotecteddefault |
Default constructor
|
virtual |
Get the most recent gradient values.
|
overridevirtual |
Reimplemented from itk::Object.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, itk::LBFGS2Optimizerv4Template< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, and itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >.
|
virtual |
Get stop condition enum
Reimplemented in itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
overridevirtual |
Get the reason for termination
Implements itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::LBFGS2Optimizerv4Template< TInternalComputationValueType >, and itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
virtual |
Modify the gradient in place, to advance the optimization. This call performs a threaded modification for transforms with local support (assumed to be dense). Otherwise the modification is performed w/out threading. See EstimateLearningRate() to perform optionally learning rate estimation. At completion, m_Gradient can be used to update the transform parameters. Derived classes may hold additional results in other member variables.
|
pure virtual |
Derived classes define this worker method to modify the gradient by learning rates. Modifications must be performed over the index range defined in subrange
. Called from ModifyGradientByLearningRate(), either directly or via threaded operation. This function is used in GradientDescentOptimizerBasev4ModifyGradientByScalesThreaderTemplate and GradientDescentOptimizerBasev4ModifyGradientByLearningRateThreaderTemplate classes.
Implemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, and itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >.
|
virtual |
Modify the gradient in place, to advance the optimization. This call performs a threaded modification for transforms with local support (assumed to be dense). Otherwise the modification is performed w/out threading. See EstimateLearningRate() to perform optionally learning rate estimation. At completion, m_Gradient can be used to update the transform parameters. Derived classes may hold additional results in other member variables.
|
pure virtual |
Derived classes define this worker method to modify the gradient by scales. Modifications must be performed over the index range defined in subrange
. Called from ModifyGradientByScales(), either directly or via threaded operation.
Implemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, and itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >.
|
overrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::Object.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, itk::LBFGS2Optimizerv4Template< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, and itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >.
|
pure virtual |
Resume optimization. This runs the optimization loop, and allows continuation of stopped optimization
Implemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, itk::LBFGS2Optimizerv4Template< TInternalComputationValueType >, and itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
overridevirtual |
Start and run the optimization
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, itk::LBFGS2Optimizerv4Template< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, and itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >.
|
virtual |
Stop optimization. The object is left in a state so the optimization can be resumed by calling ResumeOptimization.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentOptimizerv4Template< double >, and itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
protected |
The convergence checker.
Definition at line 200 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Window size for the convergence checker. The convergence checker calculates convergence value by fitting to a window of the energy (metric value) profile.
Definition at line 197 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Flag to control use of the ScalesEstimator (if set) for automatic learning step estimation at each iteration.
Definition at line 172 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Flag to control use of the ScalesEstimator (if set) for automatic learning step estimation only once, during first iteration.
Definition at line 177 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Current gradient
Definition at line 211 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
The maximum step size in physical units, to restrict learning rates. Only used with automatic learning rate estimation. It may be initialized either by calling SetMaximumStepSizeInPhysicalUnits manually or by using m_ScalesEstimator automatically, and the former has higher priority than the latter. See main documentation.
Definition at line 185 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 203 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 202 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 206 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 207 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 208 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Flag to control using the convergence monitoring for stop condition. This flag should be always set to true except for regular step gradient descent optimizer that uses minimum step length to check the convergence.
Definition at line 191 of file itkGradientDescentOptimizerBasev4.h.