#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. |