#include <itkLBFGSOptimizer.h>
Inheritance diagram for itk::LBFGSOptimizer:


Optimizers
Definition at line 31 of file itkLBFGSOptimizer.h.
Public Types | |
| typedef ReceptorMemberCommand< Self > | CommandType |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef CostFunctionType::Pointer | CostFunctionPointer |
| typedef SingleValuedCostFunction | CostFunctionType |
| typedef CostFunctionType::DerivativeType | DerivativeType |
| typedef vnl_lbfgs | InternalOptimizerType |
| typedef vnl_vector< double > | InternalParametersType |
| typedef CostFunctionType::MeasureType | MeasureType |
| typedef Superclass::ParametersType | ParametersType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::ScalesType | ScalesType |
| typedef LBFGSOptimizer | Self |
| typedef SingleValuedNonLinearVnlOptimizer | Superclass |
Public Member Functions | |
| virtual LightObject::Pointer | CreateAnother () const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| virtual void | Delete () |
| virtual const ParametersType & | GetCachedCurrentPosition () |
| virtual const DerivativeType & | GetCachedDerivative () |
| Command * | GetCommand (unsigned long tag) |
| virtual const CostFunctionType * | GetCostFunction () |
| virtual const ParametersType & | GetCurrentPosition () |
| bool | GetDebug () const |
| virtual double | GetDefaultStepLength () |
| virtual double | GetGradientConvergenceTolerance () |
| virtual const ParametersType & | GetInitialPosition () |
| virtual double | GetLineSearchAccuracy () |
| Methods to define whether the cost function will be maximized or *minimized By default the VNL amoeba optimizer is only a minimizer *Maximization is implemented here by notifying the CostFunctionAdaptor *which in its turn will multiply the function values and its derivative by **virtual const bool & | GetMaximize () |
| virtual unsigned int | GetMaximumNumberOfFunctionEvaluations () |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| bool | GetMinimize () const |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| vnl_lbfgs * | GetOptimizer (void) |
| virtual int | GetReferenceCount () const |
| virtual const ScalesType & | GetScales () |
| virtual bool | GetTrace () |
| MeasureType | GetValue (const ParametersType ¶meters) const |
| Return Cached Values These method have the advantage of not triggering a *recomputation of the metric but it has the disadvantage of returning *a value that may not be the one corresponding to the current parameters For *GUI update this method is a good for mathematical *validation you should rather call | GetValue ().*/virtual const MeasureType &GetCachedValue() |
| MeasureType | GetValue () |
| bool | HasObserver (const EventObject &event) const |
| void | InvokeEvent (const EventObject &) const |
| void | InvokeEvent (const EventObject &) |
| virtual void | MaximizeOff () |
| virtual void | MaximizeOn () |
| void | MinimizeOff () |
| void | MinimizeOn () |
| virtual void | Modified () const |
| void | Print (std::ostream &os, Indent indent=0) const |
| virtual void | Register () const |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) |
| virtual void | SetCostFunction (CostFunctionType *costFunction) |
| virtual void | SetCostFunction (SingleValuedCostFunction *costFunction) |
| void | SetDebug (bool debugFlag) const |
| Set Get the default step size This is a positive real number *with a default value of which determines the stpe size in the line *search *virtual void | SetDefaultStepLength (double stp) |
| Set Get the gradient convergence tolerance This is a positive *real number that determines the accuracy with which the solution is to *be found The optimization terminates X where denotes the Euclidean norm *virtual void | SetGradientConvergenceTolerance (double gtol) |
| virtual void | SetInitialPosition (const ParametersType ¶m) |
| virtual void | SetMaximize (bool _arg) |
| Set Get the maximum number of function evaluations allowed *virtual void | SetMaximumNumberOfFunctionEvaluations (unsigned int n) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| void | SetMinimize (bool v) |
| virtual void | SetReferenceCount (int) |
| void | SetScales (const ScalesType &scales) |
| Set Get the optimizer trace flag If set to the optimizer *prints out information every iteration *virtual void | SetTrace (bool flag) |
| void | StartOptimization (void) |
| virtual void | TraceOff () |
| virtual void | TraceOn () |
| virtual void | UnRegister () const |
| Set Get the line search accuracy This is a positive real number *with a default value which controls the accuracy of the line *search If the function and gradient evalutions are inexpensive with *respect to the cost of the iterations it may be advantageous to set *the value to a small | value (say 0.1).*/virtual void SetLineSearchAccuracy(double tol) |
Static Public Member Functions | |
| static void | BreakOnError () |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| This is a global flag that controls whether any warning *or error messages are displayed *static void | SetGlobalWarningDisplay (bool flag) |
Public Attributes | |
| Allow people to add remove invoke observers(callbacks) to any ITK *object.This is an implementation of the subject/observer design *pattern.An observer is added by specifying an event to respond to *and an itk unsigned lon | AddObserver )(const EventObject &event, Command *) const |
| This is a global flag that controls whether any | debug |
| Set Get the line search accuracy This is a positive real number *with a default value | of |
| Return Cached Values These method have the advantage of not triggering a *recomputation of the metric but it has the disadvantage of returning *a value that may not be the one corresponding to the current parameters For *GUI update this method is a good | option |
| Return Cached Values These method have the advantage of not triggering a *recomputation of the metric but it has the disadvantage of returning *a value that may not be the one corresponding to the current parameters For *GUI update | purposes |
| Set Get the optimizer trace flag If set to | true |
| Return Cached Values These method have the advantage of not triggering a *recomputation of the metric | value |
| Set Get the gradient convergence tolerance This is a positive *real number that determines the accuracy with which the solution is to *be found The optimization terminates | when: * ||G|| < gtol max(1 |
Protected Types | |
| typedef Superclass::CostFunctionAdaptorType | CostFunctionAdaptorType |
Protected Member Functions | |
| CostFunctionAdaptorType * | GetCostFunctionAdaptor (void) |
| const CostFunctionAdaptorType * | GetCostFunctionAdaptor (void) const |
| CostFunctionAdaptorType * | GetNonConstCostFunctionAdaptor (void) const |
| LBFGSOptimizer () | |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| void | SetCostFunctionAdaptor (CostFunctionAdaptorType *adaptor) |
| virtual void | SetCurrentPosition (const ParametersType ¶m) |
| virtual | ~LBFGSOptimizer () |
Protected Attributes | |
| CostFunctionPointer | m_CostFunction |
| int | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
| bool | m_ScalesInitialized |
| Methods invoked by virtual 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.*/virtual void PrintSelf(std voi | PrintHeader )(std::ostream &os, Indent indent) const |
|
|
Command observer that will interact with the ITK-VNL cost-function adaptor in order to generate iteration events. This will allow to overcome the limitation of VNL optimizers not offering callbacks for every iteration Definition at line 48 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. Definition at line 39 of file itkLBFGSOptimizer.h. |
|
|
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. Definition at line 110 of file itkLBFGSOptimizer.h. |
|
|
Reimplemented in itk::FRPROptimizer, itk::LBFGSBOptimizer, itk::OnePlusOneEvolutionaryOptimizer, itk::PowellOptimizer, and itk::RegularStepGradientDescentOptimizer. Definition at line 56 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Type of the Cost Function Reimplemented in itk::FRPROptimizer, itk::LBFGSBOptimizer, itk::OnePlusOneEvolutionaryOptimizer, itk::PowellOptimizer, and itk::RegularStepGradientDescentOptimizer. Definition at line 55 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Derivative type. It defines a type used to return the cost function derivative. Definition at line 64 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Internal optimizer type. Definition at line 51 of file itkLBFGSOptimizer.h. |
|
|
InternalParameters typedef. Definition at line 45 of file itkLBFGSOptimizer.h. |
|
|
Measure type. It defines a type used to return the cost function value. Reimplemented in itk::LBFGSBOptimizer. Definition at line 60 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Parameters type. It defines a position in the optimization search space. Reimplemented from itk::NonLinearOptimizer. Reimplemented in itk::AmoebaOptimizer, itk::FRPROptimizer, itk::PowellOptimizer, and itk::QuaternionRigidTransformGradientDescentOptimizer. Definition at line 48 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. Definition at line 38 of file itkLBFGSOptimizer.h. |
|
|
Scale type. This array defines scale to be applied to parameters before being evaluated in the cost function. This allows to map to a more convenient space. In particular this is used to normalize parameter spaces in which some parameters have a different dynamic range. Reimplemented from itk::Optimizer. Definition at line 52 of file itkNonLinearOptimizer.h. |
|
|
Standard "Self" typedef. Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. Definition at line 36 of file itkLBFGSOptimizer.h. |
|
|
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. Definition at line 37 of file itkLBFGSOptimizer.h. |
|
|
|
|
|
|
|
|
This method is called when itkExceptionMacro executes. It allows the debugger to break on error. |
|
|
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class. Reimplemented from itk::LightObject. |
|
|
Turn debugging output off. |
|
|
Turn debugging output on. |
|
|
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting. |
|
|
|
|
|
|
|
|
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used. |
|
|
Get the cost function. |
|
|
|
|
|
|
|
|
Get current position of the optimization. |
|
|
Get the value of the debug flag. |
|
|
|
|
|
|
|
|
|
|
|
Get the position to initialize the optimization. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 72 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
|
Run-time type information (and related methods). Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. |
|
|
The purpose of this method is to get around the lack of const-correctness in VNL cost-functions and optimizers |
|
|
Method for getting access to the internal optimizer. |
|
|
Gets the reference count on this object. Definition at line 98 of file itkLightObject.h. |
|
|
Get current parameters scaling. |
|
|
|
|
|
Get the cost function value at the given parameters. Reimplemented in itk::SPSAOptimizer. |
|
|
Reimplemented in itk::AmoebaOptimizer, and itk::ConjugateGradientOptimizer. |
|
|
Return Current Value |
|
|
Definition at line 100 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Definition at line 98 of file itkObject.h. References itk::Object::SetGlobalWarningDisplay(). |
|
|
Return true if an observer is registered for this event. |
|
|
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object. |
|
|
Call Execute on all the Commands observing this event id. |
|
|
|
|
|
|
|
|
Definition at line 78 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
Definition at line 76 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
|
Method for creation through the object factory. Reimplemented from itk::SingleValuedNonLinearOptimizer. |
|
||||||||||||
|
Cause the object to print itself out. |
|
||||||||||||
|
|
|
||||||||||||
|
Print out internal state Reimplemented from itk::SingleValuedNonLinearVnlOptimizer. |
|
||||||||||||
|
|
|
|
Increase the reference count (mark as used by another object). Reimplemented from itk::LightObject. |
|
|
Remove all observers . |
|
|
Remove the observer with this tag value. |
|
|
Set the cost function. |
|
|
Plug in a Cost Function into the optimizer Implements itk::SingleValuedNonLinearVnlOptimizer. |
|
|
|
|
|
Set the current position. |
|
|
Set the value of the debug flag. A non-zero value turns debugging on. |
|
|
|
|
|
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn(). |
|
|
|
|
|
Set the position to initialize the optimization. |
|
|
|
|
|
|
|
|
|
|
|
Definition at line 74 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
Sets the reference count (use with care) Reimplemented from itk::LightObject. |
|
|
Set current parameters scaling. Reimplemented in itk::LBFGSBOptimizer. |
|
|
|
|
|
Start optimization with an initial value. Reimplemented from itk::Optimizer. |
|
|
|
|
|
|
|
|
Decrease the reference count (release by another object). Reimplemented from itk::LightObject. |
|
|
|
|
|
|
|
|
Definition at line 94 of file itkObject.h. |
|
|
Definition at line 80 of file itkSingleValuedNonLinearOptimizer.h. |
|
|
Number of uses of this object by other objects. Definition at line 119 of file itkLightObject.h. |
|
|
Mutex lock to protect modification to the reference count Definition at line 122 of file itkLightObject.h. |
|
|
Definition at line 90 of file itkOptimizer.h. |
|
|
Definition at line 81 of file itkLBFGSOptimizer.h. |
|
|
Definition at line 83 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
|
|
|
Definition at line 83 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
Definition at line 62 of file itkLBFGSOptimizer.h. |
|
|
Definition at line 83 of file itkSingleValuedNonLinearVnlOptimizer.h. |
|
|
Definition at line 72 of file itkLBFGSOptimizer.h. |
1.4.2 written by Dimitri van Heesch,
© 1997-2000