Public Member Functions | List of all members
mirtk::EulerMethodWithDamping Class Reference

#include <EulerMethodWithDamping.h>

Inheritance diagram for mirtk::EulerMethodWithDamping:
Inheritance graph
Collaboration diagram for mirtk::EulerMethodWithDamping:
Collaboration graph

Public Member Functions

 EulerMethodWithDamping (ObjectiveFunction *=NULL)
 Constructor.
 
 EulerMethodWithDamping (const EulerMethodWithDamping &)
 Copy constructor.
 
virtual void Initialize ()
 
EulerMethodWithDampingoperator= (const EulerMethodWithDamping &)
 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 void UpdateDisplacement ()
 Update node displacements.
 
virtual ~EulerMethodWithDamping ()
 Destructor.
 
- Public Member Functions inherited from mirtk::EulerMethod
 EulerMethod (ObjectiveFunction *=NULL)
 Constructor.
 
 EulerMethod (const EulerMethod &)
 Copy constructor.
 
EulerMethodoperator= (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 StoppingCriterionStoppingCriterion (int)
 Get the n-th stopping criterion.
 
const class StoppingCriterionStoppingCriterion (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.
 

Additional Inherited Members

- Public Types inherited from mirtk::LocalOptimizer
typedef ObjectFactory< enum OptimizationMethod, LocalOptimizerFactoryType
 Type of optimizer factory.
 
- Static Public Member Functions inherited from mirtk::LocalOptimizer
static FactoryTypeFactory ()
 Get global optimizer factory instance.
 
static LocalOptimizerNew (enum OptimizationMethod, ObjectiveFunction *=NULL)
 Construct optimizer.
 
- Static Public Member Functions inherited from mirtk::Object
static const char * NameOfType ()
 Get name of this class type.
 
- 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)
 
virtual void UpdateNormalDisplacement ()
 Update recorded node displacement in normal direction.
 
- 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.
 
LocalOptimizeroperator= (const LocalOptimizer &)
 Assignment operator.
 
- Protected Member Functions inherited from mirtk::Observable
 Observable ()
 Default constructor.
 
 Observable (const Observable &)
 Copy constructor.
 
Observableoperator= (const Observable &)
 Assignment operator.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 
- Static Protected Member Functions inherited from mirtk::Object
template<typename... Args>
static void ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args)
 

Detailed Description

Minimizes deformable surface model using Euler's method with momentum

This method has for example been used in the following paper on which this implementation is also based on:

Park et al. (2001), A non-self-intersecting adaptive deformable surface for complex boundary extraction from volumetric images, Computer & Graphics, 25, 421–440

Another variant of an Euler method with momentum used by the FreeSurfer tools is implemented by EulerMethodWithMomentum.

Definition at line 42 of file EulerMethodWithDamping.h.

Member Function Documentation

§ Initialize()

virtual void mirtk::EulerMethodWithDamping::Initialize ( )
virtual

Initialize optimization

This member funtion is implicitly called by Run.

Reimplemented from mirtk::EulerMethod.


The documentation for this class was generated from the following file: