#include <ConjugateGradientDescent.h>
Public Member Functions | |
ConjugateGradientDescent (ObjectiveFunction *=NULL) | |
Constructor. | |
ConjugateGradientDescent (const ConjugateGradientDescent &) | |
Copy constructor. | |
void | ConjugateGradientOff () |
Disable conjugation of objective function gradient. | |
void | ConjugateGradientOn () |
Enable conjugation of data fidelity gradient. | |
void | ConjugateTotalGradientOff () |
void | ConjugateTotalGradientOn () |
Enable conjugation of objective function gradient. | |
ConjugateGradientDescent & | operator= (const ConjugateGradientDescent &) |
Assignment operator. | |
virtual ParameterList | Parameter () const |
Get parameters as key/value as string map. | |
void | ResetConjugateGradient () |
Reset conjugate gradient to objective function gradient. | |
virtual bool | Set (const char *, const char *) |
Set parameter value from string. | |
virtual | ~ConjugateGradientDescent () |
Destructor. | |
Public Member Functions inherited from mirtk::GradientDescent | |
virtual void | Function (ObjectiveFunction *) |
Set objective function. | |
GradientDescent (ObjectiveFunction *=NULL) | |
Constructor. | |
GradientDescent (const GradientDescent &) | |
Copy constructor. | |
virtual void | LineSearch (class LineSearch *, bool=false) |
Set line search object. | |
GradientDescent & | operator= (const GradientDescent &) |
Assignment operator. | |
virtual double | Run () |
Optimize objective function using gradient descent. | |
virtual | ~GradientDescent () |
Destructor. | |
Public Member Functions inherited from mirtk::LocalOptimizer | |
void | AddStoppingCriterion (StoppingCriterion *) |
Add stopping criterion and take over ownership of the object. | |
void | ClearStoppingCriteria () |
Delete all stopping criteria. | |
int | NumberOfStoppingCriteria () const |
Get number of stopping criteria. | |
virtual enum OptimizationMethod | OptimizationMethod () const =0 |
Optimization method implemented by this optimizer. | |
void | RemoveStoppingCriterion (StoppingCriterion *) |
Remove stopping criterion and revoke ownership of the object. | |
class StoppingCriterion * | StoppingCriterion (int) |
Get the n-th stopping criterion. | |
const class StoppingCriterion * | StoppingCriterion (int) const |
Get the n-th stopping criterion. | |
virtual | ~LocalOptimizer () |
Destructor. | |
Public Member Functions inherited from mirtk::Observable | |
void | AddObserver (Observer &) |
Add observer. | |
void | Broadcast (Event, const void *=NULL) |
Broadcast event to observers. | |
void | ClearObservers () |
Delete all observers. | |
void | DeleteObserver (Observer &) |
Delete observer. | |
void | NotifyObservers (Event, const void *=NULL) |
Notify all observers about given event if this object has changed. | |
int | NumberOfObservers () const |
Number of current observers. | |
virtual | ~Observable () |
Destructor. | |
Public Member Functions inherited from mirtk::Object | |
virtual const char * | NameOfClass () const =0 |
Get name of class, which this object is an instance of. | |
bool | Parameter (const ParameterList &) |
Set parameters from name/value pairs. | |
virtual | ~Object () |
Destructor. | |
Protected Member Functions | |
void | ConjugateGradient (double *) |
Compute conjugate gradient. | |
void | CopyAttributes (const ConjugateGradientDescent &) |
Copy attributes of this class from another instance. | |
virtual void | Finalize () |
Finalize gradient descent. | |
virtual void | Gradient (double *, double=.0, bool *=NULL) |
Compute gradient of objective function and make it conjugate. | |
virtual void | Initialize () |
Initialize gradient descent. | |
Protected Member Functions inherited from mirtk::LocalOptimizer | |
virtual bool | Converged (int iter, double value, const double *delta) |
bool | IsImprovement (double prev, double value) const |
LocalOptimizer (ObjectiveFunction *=NULL) | |
Constructor. | |
LocalOptimizer (const LocalOptimizer &) | |
Copy constructor. | |
LocalOptimizer & | operator= (const LocalOptimizer &) |
Assignment operator. | |
Protected Member Functions inherited from mirtk::Observable | |
Observable () | |
Default constructor. | |
Observable (const Observable &) | |
Copy constructor. | |
Observable & | operator= (const Observable &) |
Assignment operator. | |
Protected Member Functions inherited from mirtk::Object | |
template<typename... Args> | |
void | Throw (ErrorType err, const char *func, Args... args) const |
Additional Inherited Members | |
Public Types inherited from mirtk::LocalOptimizer | |
typedef ObjectFactory< enum OptimizationMethod, LocalOptimizer > | FactoryType |
Type of optimizer factory. | |
Static Public Member Functions inherited from mirtk::LocalOptimizer | |
static FactoryType & | Factory () |
Get global optimizer factory instance. | |
static LocalOptimizer * | New (enum OptimizationMethod, ObjectiveFunction *=NULL) |
Construct optimizer. | |
Static Public Member Functions inherited from mirtk::Object | |
static const char * | NameOfType () |
Get name of this class type. | |
Static Protected Member Functions inherited from mirtk::Object | |
template<typename... Args> | |
static void | ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args) |
Protected Attributes inherited from mirtk::GradientDescent | |
bool * | _AllowSignChange |
double * | _Gradient |
Allocated memory for line search direction. | |
Minimizes objective function using conjugate gradient descent
Definition at line 33 of file ConjugateGradientDescent.h.
|
inline |
Disable conjugation of objective function gradient When conjugation was enabled before, the data fidelity gradient is still conjugated
Definition at line 147 of file ConjugateGradientDescent.h.