errorfreeCSED Class Reference

Ragnemalm's error free CSED distance transform algorithm. This implementation does not perform as described in Ragnemalm's paper. More...

#include <errorfreeCSED.h>

Inheritance diagram for errorfreeCSED:

DistanceTransform List of all members.

Public Member Functions

 errorfreeCSED (const int xSize, const int ySize, const bool unload=true)
void doTransform (const unsigned char *const I)
 calculate the distance transform
virtual bool getP (const int x, const int y, int &px, int &py) const

Protected Attributes

P * v

Private Member Functions

void test (const int px, const int py, const int ox, const int oy, vector< P * > *list2, const int i)

Static Private Member Functions

static double D (const int x, const int y)
static double D (P &p)

Detailed Description

Ragnemalm's error free CSED distance transform algorithm. This implementation does not perform as described in Ragnemalm's paper.

As described in I. Ragnemalm, "Neighborhoods for distance transformations using ordered propagation," CVGIP:IU 56(3):399-409, 1992.


Member Function Documentation

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

Parameters:
x is the x location
y is the y location
px is the parent's x location to be returned
py is the parent's y location to be returned
Returns:
true if the parent is know; otherwise false.

Reimplemented from DistanceTransform.

void errorfreeCSED::test const int  x,
const int  y,
const int  ox,
const int  oy,
vector< P * > *  list2,
const int  i
[private]
 

Parameters:
(x,y) is a pixel position, p
(ox,oy) is the displacement from (x,y) to a neighbor, o
list2 is a list
i is the subscript associated with (x,y)
  subroutine test ( o ):
      if D(v(p+o)) > D(v(p)+o)
          put p+o in list2  //in both
          put v(p)+o in list2


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