#include <DistanceFMM1.hpp>
Inheritance diagram for DistanceFMM1:


Purpose: Define a Fast Marching Method applied for direct distance maps
and distance based data feeding. (e.g.: OUT/IN tactic, and more)
Extensions to three dimension is obvious. My computer is too small
for 3D.
Note: We may inherit from AnImageOp, but we think there is much more
in the fast marching that simply filtering and distance maps.
It is simply a fantastic idea of Sethian & all.
Paper: "A Fast Marching Level Set Method for Monotonic Advancing Fronts.",
James A. Sethian, 1995, Report University of Mathematics, Berkeley, California.
"A second-order fast marching eikonal solver."
James Rickett and Sergey Fomel, Stanford Exploration Project, November 2000.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| DistanceFMM1 () | |
| virtual | ~DistanceFMM1 () |
| virtual double | getDistance (int x, int y) |
| virtual StatePsi | getLabel (int x, int y) |
| virtual void | setData (int w, int h, int x0, int y0) |
| You may want to load the image part too, for advanced Fast Marching. | |
| virtual void | setData (int w, int h, int n, int *xMask, int *yMask) |
| virtual void | setData (AnImage *im) |
| virtual int | getMaxIterations () |
| virtual int | numberOfIteration () |
| virtual void | setIteration (int i) |
| virtual bool | iterate () |
| simple iteration | |
| virtual bool | iterate (int *x, int *y) |
| iteration | |
| virtual bool | iterate (int *x, int *y, double *rate) |
| iteration | |
| virtual RImage * | compute (RImage *dest=0) |
| multiple FMM iterations | |
| virtual void | sortedArea (AnImage *mask, int *npoints, int **xposition, int **yposition, bool inside=true) |
| sort all pixels from the border to inside the object area | |
| virtual void | sortedArea (AnImage *mask, int *npoints, int **xposition, int **yposition, double **rating, bool inside=true) |
| sort all pixels from the border to inside the object area | |
| virtual AnImage * | filter (AnImage *mask, AnImage *dest=0) |
| like an image op generate a variant of a distance map or more | |
| virtual AnImage * | selectedFilter (AnImage *mask, AnImage *src, AnImage *dest=0) |
| Local filtering in a mask area. | |
| virtual AnImage * | singlePath (AnImage *src, int x0, int y0, int x1, int y1, AnImage *dest=0) |
| euclidian path | |
| virtual void | report () |
Protected Methods | |
| int | getOrder (int x, int y, int dimension, int back_forward) |
| determine order supported for resolution | |
| virtual double | getPotential (int i, int j) |
| return a local potential value | |
| virtual Psi2DValue * | select () |
| virtual void | getSelectionNeighbour (int x, int y) |
| virtual void | resolve (int x, int y) |
Protected Attributes | |
| int | iteration |
| double | selectedDistance |
| double | slowness |
| NeigbourSet * | neigbourSet |
| CandidateHeapList * | candidateList |
| int | iterMax |
| int | width |
| int | height |
| DomainOfAction * | dmap |
| kind of distance map | |
| int | xSelected |
| current selected point position | |
| int | ySelected |
| current selected point position | |
|
||||||||||||
|
return a local potential value
|
|
||||||||||||||||
|
iteration
|
|
||||||||||||
|
iteration
|
|
||||||||||||||||
|
Local filtering in a mask area.
Reimplemented from AnImageOp. |
![]() |
