ITK
4.8.0
Insight Segmentation and Registration Toolkit
|
#include <itkGradientDescentOptimizerBasev4.h>
Definition at line 39 of file itkGradientDescentOptimizerBasev4.h.
Public Member Functions | |
virtual SizeValueType | GetCurrentIteration () const override |
virtual const DerivativeType & | GetGradient () const |
virtual const char * | GetNameOfClass () const |
virtual SizeValueType | GetNumberOfIterations () const override |
virtual const StopConditionType & | GetStopCondition () const |
virtual const StopConditionReturnStringType | GetStopConditionDescription () const override |
virtual void | ModifyGradientByLearningRateOverSubRange (const IndexRangeType &subrange)=0 |
virtual void | ModifyGradientByScalesOverSubRange (const IndexRangeType &subrange)=0 |
virtual void | ResumeOptimization ()=0 |
virtual void | StartOptimization (bool doOnlyInitialization=false) override |
virtual void | StopOptimization () |
virtual void | SetNumberOfIterations (const SizeValueType numberOfIterations) override |
virtual void | ModifyGradientByScales () |
virtual void | ModifyGradientByLearningRate () |
Public Member Functions inherited from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > | |
virtual const MeasureType & | GetCurrentMetricValue () const |
virtual const ParametersType & | GetCurrentPosition () const |
virtual const ThreadIdType & | GetNumberOfThreads () const |
virtual const ScalesType & | GetScales () const |
virtual const bool & | GetScalesAreIdentity () const |
bool | GetScalesInitialized () const |
virtual const MeasureType & | GetValue () const |
virtual const ScalesType & | GetWeights () const |
virtual const bool & | GetWeightsAreIdentity () const |
virtual void | SetNumberOfThreads (ThreadIdType number) |
virtual void | SetScalesEstimator (ScalesEstimatorType *_arg) |
virtual void | SetWeights (ScalesType _arg) |
virtual void | SetMetric (MetricType *_arg) |
virtual MetricType * | GetModifiableMetric () |
virtual const MetricType * | GetMetric () const |
virtual void | SetScales (const ScalesType &scales) |
virtual void | SetDoEstimateScales (bool _arg) |
virtual const bool & | GetDoEstimateScales () const |
virtual void | DoEstimateScalesOn () |
virtual void | DoEstimateScalesOff () |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
virtual 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 |
virtual void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) override |
virtual void | UnRegister () const noexceptoverride |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
Protected Member Functions | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
GradientDescentOptimizerBasev4Template () | |
virtual | ~GradientDescentOptimizerBasev4Template () |
Protected Member Functions inherited from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType > | |
ObjectToObjectOptimizerBaseTemplate () | |
virtual | ~ObjectToObjectOptimizerBaseTemplate () |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
Protected Member Functions inherited from itk::LightObject | |
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 () |
Private Member Functions | |
GradientDescentOptimizerBasev4Template (const Self &) | |
void | operator= (const Self &) |
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 flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
typedef SmartPointer< const Self > itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ConstPointer |
Definition at line 47 of file itkGradientDescentOptimizerBasev4.h.
typedef itk::Function::WindowConvergenceMonitoringFunction<TInternalComputationValueType> itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ConvergenceMonitoringType |
Type for the convergence checker
Definition at line 88 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::DerivativeType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::DerivativeType |
Derivative type
Definition at line 77 of file itkGradientDescentOptimizerBasev4.h.
typedef ThreadedIndexedContainerPartitioner::IndexRangeType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::IndexRangeType |
Definition at line 151 of file itkGradientDescentOptimizerBasev4.h.
typedef TInternalComputationValueType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::InternalComputationValueType |
It should be possible to derive the internal computation type from the class object.
Definition at line 70 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::MeasureType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::MeasureType |
Measure type
Definition at line 80 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::MetricType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::MetricType |
Metric type over which this class is templated
Definition at line 73 of file itkGradientDescentOptimizerBasev4.h.
typedef MetricType::Pointer itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::MetricTypePointer |
Definition at line 74 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::ParametersType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ParametersType |
Definition at line 84 of file itkGradientDescentOptimizerBasev4.h.
typedef SmartPointer< Self > itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Pointer |
Definition at line 46 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::ScalesType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::ScalesType |
Definition at line 82 of file itkGradientDescentOptimizerBasev4.h.
typedef GradientDescentOptimizerBasev4Template itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Self |
Standard class typedefs.
Definition at line 44 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::StopConditionDescriptionType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::StopConditionDescriptionType |
Stop condition internal string type
Definition at line 67 of file itkGradientDescentOptimizerBasev4.h.
typedef Superclass::StopConditionReturnStringType itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::StopConditionReturnStringType |
Stop condition return string type
Definition at line 64 of file itkGradientDescentOptimizerBasev4.h.
typedef ObjectToObjectOptimizerBaseTemplate<TInternalComputationValueType> itk::GradientDescentOptimizerBasev4Template< TInternalComputationValueType >::Superclass |
Definition at line 45 of file itkGradientDescentOptimizerBasev4.h.
enum itk::GradientDescentOptimizerBasev4Template::StopConditionType |
Codes of stopping conditions.
Enumerator | |
---|---|
MAXIMUM_NUMBER_OF_ITERATIONS | |
COSTFUNCTION_ERROR | |
UPDATE_PARAMETERS_ERROR | |
STEP_TOO_SMALL | |
CONVERGENCE_CHECKER_PASSED | |
GRADIENT_MAGNITUDE_TOLEARANCE | |
OTHER_ERROR |
Definition at line 53 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Default constructor
|
protectedvirtual |
Default constructor
|
private |
|
inlineoverridevirtual |
Get the current iteration number.
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Definition at line 115 of file itkGradientDescentOptimizerBasev4.h.
References itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >::m_CurrentIteration.
|
virtual |
Get the most recent gradient values.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentLineSearchOptimizerv4Template< TInternalComputationValueType >, itk::ConjugateGradientLineSearchOptimizerv4Template< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, and itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >.
|
inlineoverridevirtual |
Get the number of iterations.
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Definition at line 109 of file itkGradientDescentOptimizerBasev4.h.
References itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >::m_NumberOfIterations.
|
virtual |
Get stop condition enum
Reimplemented in itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
overridevirtual |
Get the reason for termination
Implements itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in 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 optionaly 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 >, 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 optionaly 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 >, and itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >.
|
private |
|
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::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >, itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, itk::GradientDescentLineSearchOptimizerv4Template< TInternalComputationValueType >, and itk::ConjugateGradientLineSearchOptimizerv4Template< TInternalComputationValueType >.
|
pure virtual |
Resume optimization. This runs the optimization loop, and allows continuation of stopped optimization
Implemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, and itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
inlineoverridevirtual |
Set the number of iterations.
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Definition at line 97 of file itkGradientDescentOptimizerBasev4.h.
References itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >::m_NumberOfIterations, and itk::Object::Modified().
|
overridevirtual |
Start and run the optimization
Reimplemented from itk::ObjectToObjectOptimizerBaseTemplate< TInternalComputationValueType >.
Reimplemented in itk::GradientDescentOptimizerv4Template< TInternalComputationValueType >, itk::RegularStepGradientDescentOptimizerv4< TInternalComputationValueType >, itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >, itk::QuasiNewtonOptimizerv4Template< TInternalComputationValueType >, and itk::ConjugateGradientLineSearchOptimizerv4Template< 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 >, and itk::MultiGradientOptimizerv4Template< TInternalComputationValueType >.
|
protected |
The convergence checker.
Definition at line 208 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 205 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 180 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 185 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Current gradient
Definition at line 219 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 193 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 211 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 210 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 214 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 215 of file itkGradientDescentOptimizerBasev4.h.
|
protected |
Definition at line 216 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 199 of file itkGradientDescentOptimizerBasev4.h.