#include <EulerMethodWithMomentum.h>
Public Member Functions | |
EulerMethodWithMomentum (ObjectiveFunction *=NULL) | |
Constructor. | |
EulerMethodWithMomentum (const EulerMethodWithMomentum &) | |
Copy constructor. | |
virtual void | Initialize () |
EulerMethodWithMomentum & | operator= (const EulerMethodWithMomentum &) |
Assignment operator. | |
virtual ParameterList | Parameter () const |
Get parameters as key/value as string map. | |
virtual bool | Set (const char *, const char *) |
Set parameter value from string. | |
virtual | ~EulerMethodWithMomentum () |
Destructor. | |
Public Member Functions inherited from mirtk::EulerMethod | |
EulerMethod (ObjectiveFunction *=NULL) | |
Constructor. | |
EulerMethod (const EulerMethod &) | |
Copy constructor. | |
EulerMethod & | operator= (const EulerMethod &) |
Assignment operator. | |
virtual double | Run () |
Integrate deformable surface model. | |
virtual | ~EulerMethod () |
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 | |
virtual void | UpdateDisplacement () |
Update node displacements. | |
virtual void | UpdateNormalDisplacement () |
Update recorded node displacement in normal direction. | |
Protected Member Functions inherited from mirtk::EulerMethod | |
virtual void | Finalize () |
Finalize optimization. | |
virtual double | GradientNorm () const |
Get node force normalization factor. | |
virtual bool | RemeshModel () |
Perform local adaptive remeshing (optional) | |
virtual void | TruncateDisplacement (bool force=false) |
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) |
Minimizes deformable surface model using Euler's method with momentum
This method is used by the FreeSurfer tools:
Fischl et al., Cortical Surface-Based Analysis II: Inflation, Flattening, and a Surface-Based Coordinate System. NeuroImage, 9(2), 195–207 (1999).
Another variant of an Euler method with momentum is implemented by EulerMethodWithDamping.
Definition at line 40 of file EulerMethodWithMomentum.h.
|
virtual |
Initialize optimization
This member funtion is implicitly called by Run.
Reimplemented from mirtk::EulerMethod.