#include <BalloonForce.h>


Public Member Functions | |
| BalloonForce (const char *="", double=1.0) | |
| Constructor. | |
| BalloonForce (const BalloonForce &) | |
| Copy constructor. | |
| virtual void | Initialize () |
| Initialize external force once input and parameters have been set. | |
| BalloonForce & | operator= (const BalloonForce &) |
| Assignment operator. | |
| virtual ParameterList | Parameter () const |
| Get parameter name/value pairs. | |
| virtual void | Update (bool=true) |
| Update moving input points and internal state of force term. | |
| virtual | ~BalloonForce () |
| Destructor. | |
Public Member Functions inherited from mirtk::SurfaceForce | |
| double | IntersectWithRay (const double p[3], const double e[3], double l=.0) const |
| double | SelfDistance (const double p[3], const double n[3], double maxd=.0) const |
| virtual | ~SurfaceForce () |
| Destructor. | |
Public Member Functions inherited from mirtk::ExternalForce | |
| virtual | ~ExternalForce () |
| Destructor. | |
Public Member Functions inherited from mirtk::PointSetForce | |
| virtual void | Reinitialize () |
| virtual void | WriteDataSets (const char *, const char *, bool=true) const |
| Write input of force term. | |
| virtual void | WriteGradient (const char *, const char *) const |
| Write gradient of force term. | |
| virtual | ~PointSetForce () |
| Destructor. | |
Public Member Functions inherited from mirtk::EnergyTerm | |
| virtual enum EnergyMeasure | EnergyMeasure () const =0 |
| Energy measure implemented by this term. | |
| void | Gradient (double *gradient, double step) |
| virtual void | GradientStep (const double *gradient, double &min, double &max) const |
| double | InitialValue () |
| Returns initial value of energy term. | |
| void | NormalizedGradient (double *gradient, double step) |
| string | Prefix (const char *=NULL) const |
| Prefix to be used for debug output files. | |
| virtual void | Print (Indent=0) const |
| Print debug information. | |
| virtual double | RawValue (double) const |
| double | RawValue () |
| void | ResetInitialValue () |
| Reset initial value of energy term. | |
| void | ResetValue () |
| Reset cached value of energy term. | |
| virtual bool | Upgrade () |
| Update energy term after convergence. | |
| double | Value () |
| Evaluate energy term. | |
| virtual | ~EnergyTerm () |
| Destructor. | |
Public Member Functions inherited from mirtk::Configurable | |
| string | DefaultName () const |
| virtual bool | Set (const char *, const char *) |
| Set parameter value from string. | |
| virtual | ~Configurable () |
| 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 | ComputeLocalIntensityAttributes (bool, bool) |
| Compute local intensity thresholds and/or background/foreground statistics. | |
| void | CopyAttributes (const BalloonForce &) |
| Copy attributes of this class from another instance. | |
| virtual void | EvaluateGradient (double *, double, double) |
| Evaluate external force. | |
| virtual bool | SetWithoutPrefix (const char *, const char *) |
| Set parameter value from string. | |
Protected Member Functions inherited from mirtk::SurfaceForce | |
| void | CopyAttributes (const SurfaceForce &) |
| Copy attributes of this class from another instance. | |
| SurfaceForce & | operator= (const SurfaceForce &) |
| Assignment operator. | |
| SurfaceForce (const char *="", double=1.0) | |
| Constructor. | |
| SurfaceForce (const SurfaceForce &) | |
| Copy constructor. | |
Protected Member Functions inherited from mirtk::ExternalForce | |
| void | CopyAttributes (const ExternalForce &) |
| Copy attributes of this class from another instance. | |
| virtual double | Evaluate () |
| Evaluate external force term. | |
| ExternalForce (const char *="", double=1.0) | |
| Constructor. | |
| ExternalForce (const ExternalForce &) | |
| Copy constructor. | |
| ExternalForce & | operator= (const ExternalForce &) |
| Assignment operator. | |
Protected Member Functions inherited from mirtk::PointSetForce | |
| void | AddPointData (const char *name, vtkSmartPointer< vtkDataArray > &data, bool global=false) |
| vtkDataArray * | AddPointData (const char *name, int c=1, int type=VTK_FLOAT, bool global=false) |
| void | AllocateCount (int) |
| Allocate _Count memory. | |
| void | AllocateGradient (int) |
| Allocate memory for (non-parametric) gradient. | |
| void | CopyAttributes (const PointSetForce &) |
| Copy attributes of this class from another instance. | |
| vtkPointSet * | DeformedPointSet () const |
| Get point set on which this force is acting on. | |
| vtkPolyData * | DeformedSurface () const |
| Get point set on which this force is acting on. | |
| const EdgeTable * | Edges () const |
| Get edge table of point set mesh. | |
| vtkSmartPointer< vtkPoints > | GetInitialPoints () const |
| Get initial points, possibly pre-transformed by global transformation. | |
| void | Init () |
| Common (re-)initialization steps of this class only (non-virtual function!) | |
| vtkDataArray * | InitialStatus () const |
| Get initial point status array. | |
| mirtkAggregateMacro (int, Count) | |
| mirtkAttributeMacro (int, GradientSize) | |
| Size of gradient vector. | |
| mirtkAttributeMacro (int, CountSize) | |
| Size of count vector. | |
| mirtkAttributeMacro (bool, InitialUpdate) | |
| Whether Update has not been called since initialization. | |
| mirtkComponentMacro (GradientType, Gradient) | |
| Negative node forces/gradient of external force term. | |
| mirtkPublicAggregateMacro (RegisteredPointSet, PointSet) | |
| Transformed point set. | |
| mirtkPublicAttributeMacro (int, GradientAveraging) | |
| Number of gradient averaging iterations. | |
| mirtkPublicAttributeMacro (bool, AverageSignedGradients) | |
| mirtkPublicAttributeMacro (bool, AverageGradientMagnitude) | |
| Whether to only average the magnitude of the gradient vectors. | |
| mirtkReadOnlyAttributeMacro (bool, SurfaceForce) | |
| mirtkReadOnlyAttributeMacro (int, NumberOfPoints) | |
| Number of points. | |
| const NodeNeighbors * | Neighbors (int=-1) const |
| Get edge-connectivity table of point set node neighbors. | |
| vtkDataArray * | Normals () const |
| Get point normals array. | |
| PointSetForce & | operator= (const PointSetForce &) |
| Assignment operator. | |
| vtkPointSet * | OriginalPointSet () const |
| Get point set on which this force is acting on. | |
| vtkPolyData * | OriginalSurface () const |
| Get point set on which this force is acting on. | |
| vtkPointData * | PointData () const |
| Get point data. | |
| vtkDataArray * | PointData (const char *name, bool optional=false) const |
| vtkPoints * | Points () const |
| Get points of point set on which this force is acting on. | |
| PointSetForce (const char *="", double=1.0) | |
| Constructor. | |
| PointSetForce (const PointSetForce &) | |
| Copy constructor. | |
| void | RemovePointData (const char *name) |
| SharedPtr< const EdgeTable > | SharedEdgeTable () const |
| Get edge table of point set mesh. | |
| vtkDataArray * | Status () const |
| Get point status array. | |
Protected Member Functions inherited from mirtk::EnergyTerm | |
| EnergyTerm (const char *="", double=1.0) | |
| Constructor. | |
| EnergyTerm (const EnergyTerm &) | |
| Copy constructor. | |
| EnergyTerm & | operator= (const EnergyTerm &) |
| Assignment operator. | |
| virtual bool | SetWithPrefix (const char *, const char *) |
| Set parameter value from string. | |
Protected Member Functions inherited from mirtk::Configurable | |
| Configurable (const char *="") | |
| Constructor. | |
| Configurable (const Configurable &) | |
| Copy constructor. | |
| string | DefaultPrefix () const |
| Get default object name prefix (if any) | |
| bool | HasName () const |
| Whether this object has an explicit name. | |
| bool | HasPrefix () const |
| Whether this object has either an explicit name or default prefix. | |
| template<class T > | |
| bool | InsertWithPrefix (ParameterList &, string, T) const |
| Insert parameter into name/value list with object name prefix. | |
| bool | InsertWithPrefix (ParameterList &, const ParameterList &) const |
| Insert parameters into name/value list with object name prefix. | |
| Configurable & | operator= (const Configurable &) |
| Assignment operator. | |
| string | ParameterNameWithoutPrefix (const char *) const |
| Get name of parameter without object name prefix. | |
| string | ParameterNameWithPrefix (const string &) const |
| Get name of parameter with default object name prefix. | |
| string | ParameterNameWithPrefix (const char *) const |
| Get name of parameter with default object name prefix. | |
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::ExternalForce | |
| typedef GenericImage< VoxelType > | ImageType |
| Non-abstract base type of input image. | |
| typedef RegisteredImage::VoxelType | VoxelType |
| Type of input image voxel values. | |
Public Types inherited from mirtk::PointSetForce | |
| typedef RegisteredPointSet::EdgeTable | EdgeTable |
| Adjacency matrix with edge IDs. | |
| typedef Vector3D< double > | GradientType |
| Type of gradient w.r.t a single transformed data point. | |
| typedef RegisteredPointSet::NodeNeighbors | NodeNeighbors |
| Table of n-connected node neighbors. | |
Public Types inherited from mirtk::EnergyTerm | |
| typedef ObjectFactory< enum EnergyMeasure, EnergyTerm > | FactoryType |
| Type of energy term factory. | |
Static Public Member Functions inherited from mirtk::ExternalForce | |
| static ExternalForce * | New (ExternalForceTerm, const char *="", double=1.0) |
| Instantiate specified external force. | |
Static Public Member Functions inherited from mirtk::EnergyTerm | |
| static FactoryType & | Factory () |
| Get global energy term factory instance. | |
| static EnergyTerm * | New (EnergyMeasure, const char *="", double=1.0) |
| Construct new energy term. | |
| static EnergyTerm * | TryNew (EnergyMeasure, const char *="", double=1.0) |
| Construct new energy term or return nullptr if term not available. | |
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) |
Balloon/inflation force
The balloon force inflates the surface while inside the object and deflates it when outside the object assuming that the image intensities within the object are within a certain range. It is therefore also referred to as inflation force and is mainly used while the surface is not in the vicinity of an edge.
McInerney & Terzopoulos, Topology adaptive deformable surfaces for medical image volume segmentation. IEEE Transactions on Medical Imaging, 18(10), 840–850. doi:10.1109/42.811261 (1999)
This balloon force has also been used in
Park et al., A non-self-intersecting adaptive deformable surface for complex boundary extraction from volumetric images. Computer & Graphics, 25, 421–440, (2001)
Definition at line 47 of file BalloonForce.h.