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


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: "Optimal Algorithm for Shape from Shading and Path Planning.",
Ron Kimmel, James A. Sethian, Kluweer Academic Publishers 2001 , Netherlands.
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2002, Eggs & Pictures. MIT/Open BSD copyright model.
Public Methods | |
| DistanceFMM (int amaskFlag=1) | |
| virtual | ~DistanceFMM () |
| virtual void | setMaskActivity (int amaskFlag) |
| 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 FImage * | ffilter (AnImage *mask, FImage *dest=0, bool dmapFlag=false) |
| measures | |
| virtual RImage * | rfilter (AnImage *mask, RImage *dest=0, bool dmapFlag=false) |
| measures | |
| virtual AnImage * | singlePath (AnImage *src, int x0, int y0, int x1, int y1, AnImage *dest=0) |
| euclidian path | |
| virtual void | report () |
Protected Methods | |
| 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 | maskFlag |
| int | iteration |
| double | selectedDistance |
| double | root2 |
| 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
Reimplemented in SimilarPixelFMM. |
|
||||||||||||||||
|
iteration
Reimplemented in PathTrackingFMM. |
|
||||||||||||
|
iteration
Reimplemented in PathTrackingFMM. |
|
||||||||||||||||
|
Local filtering in a mask area.
Reimplemented from AnImageOp. Reimplemented in DTransportFMM, and SimilarPixelFMM. |
![]() |
