ModifiedDijkstra Class Reference

ModifiedDijkstra class. More...

#include <ModifiedDijkstra.h>

Inheritance diagram for ModifiedDijkstra:

DistanceTransform List of all members.

Public Member Functions

 ModifiedDijkstra (const int xSize, const int ySize, const bool unload=true)
void doTransform (const unsigned char *const I)
void modifiedDijkstra (const unsigned char *const I)
void modifiedDijkstra_DeadReckoning (const unsigned char *const I)
void modifiedDijkstra_ModifiedDeadReckoning (const unsigned char *const I)
virtual bool getP (const int x, const int y, int &px, int &py) const

Protected Attributes

P * p
 stores the parent location (border point)

Private Member Functions

void init (const unsigned char *const I, double *&d, SetElement *&se, set< const SetElement *, ltSetElement > &s)
void check (double *d, const int center, const int X, const int Y, SetElement *se, set< const SetElement *, ltSetElement > &s)

Classes

struct  ltSetElement
 strict weak ordering on SetElement's. More...
struct  SetElement
 Elements of a set class. More...

Detailed Description

ModifiedDijkstra class.


Member Function Documentation

void ModifiedDijkstra::doTransform const unsigned char *const   I  )  [virtual]
 

This method performs the distance transform. It is the same as calling modifiedDijkstra(I) directly.

Implements DistanceTransform.

virtual bool ModifiedDijkstra::getP const int  x,
const int  y,
int &  px,
int &  py
const [virtual]
 

return the parent (border point/nearest element of the immediate interior or exterior)

Reimplemented from DistanceTransform.

void ModifiedDijkstra::init const unsigned char *const   I,
double *&  d,
SetElement *&  se,
set< const SetElement *, ltSetElement > &  s
[private]
 

Parameters:
I is the input 2d binary image.
d is a reference to a pointer for which memory will be allocated and returned.
se is a reference to what will be used as a 2D array of all possible SetElement's - one for each (x,y).
s is a set which initially consists of elements of the II and IE.

void ModifiedDijkstra::modifiedDijkstra const unsigned char *const   I  ) 
 

This method performs the distance transform using an implementation/modification of Dijkstra's algorithm using the elements of the boundary as multiple starting points. The distance is propagated as the summation of edges in the graph that is 8-connected.

void ModifiedDijkstra::modifiedDijkstra_DeadReckoning const unsigned char *const   I  ) 
 

This method performs the distance transform using an modification of Dijkstra's algorithm. The distance is propagated as the actual Euclidean distance (i.e., "as the crow flies") propagated among 8-connected neighbors.

void ModifiedDijkstra::modifiedDijkstra_ModifiedDeadReckoning const unsigned char *const   I  ) 
 

This method performs the distance transform using an modification of Dijkstra's algorithm. The distance is propagated as the actual Euclidean distance (i.e., "as the crow flies") propagated among 4-connected neighbors.


The documentation for this class was generated from the following files:
Generated on Thu Jan 12 10:28:54 2006 by  doxygen 1.4.5