Next: Circular propagation algorithm
Up: Geodesic DT algorithms
Previous: Geodesic DT algorithms
In order to define an efficient implementation of the
Bd-geodesic DT, we restrict the class of paths under
consideration to the paths
such that
That is, all steps but the last one are approximately of length d.
This slightly reduces the accuracy of the EDT approximation by
restricting the path directions to those of the edge of Bd,
instead of the complete ball. The accuracy of the EDT
approximation is studied in section
.
On the other hand, it makes the implementation of the DT much
easier. For all p such that
,
the DT can be
computed similarly to the PSN algorithm in chapter 3. For
,
the distances can be computed by propagating from
the edge of
,
i.e.
.
For those pixels, D(p) is defined as
 |
(8.7) |
Similarly, for
,
we propagate from the edge
of
,
and so on. More generally, the value
of D(p) for a pixel p can be split into two terms:
| D(p) |
= |
 |
|
| |
= |
 |
|
| |
= |
D(pm-1) + dN(pm-1,pm) |
(8.8) |
where
(m-1 times) and
(m times).
In the following algorithm, we remember two values for each pixel
in the propagation front. dpath corresponds to the first term
of (
) and is the length of the path from p1 to
pm-1. The vector dp is the relative location of p from
pm-1. It corresponds to the second term of
(
).
The algorithm proceeds step by step, first computing D(p) in
,
then in
,
... Within each step,
the propagation is ordered by bucket sorting on
distE(dp). When
diste(dp) > d, the pixel is saved in a temporary buffer to
be used in the following step.
Algorithm 8
Bd-geodesic DT by bucket sorting.
Next: Circular propagation algorithm
Up: Geodesic DT algorithms
Previous: Geodesic DT algorithms
Olivier Cuisenaire
1999-10-05