Image Processing Reference
In-Depth Information
one expansion. In such cases, the propagation of distance values comes from
more than one different skeleton voxel. Here, the largest of the arriving values
should be stored and sent to adjacent voxels in the next propagation cycle.
The above algorithm executed this expansion or propagation by dividing
the propagation twice into a different direction. One is the propagation toward
the right and the downward (forward scan), and the other is toward the left
and the upward (backward scan).
In this algorithm, a value of a voxel in an output image is written into the
corresponding voxel as soon as it is fixed, and the updated value is used in the
subsequent procedure. This is a typical style of the sequential algorithm. This
execution of the algorithm makes it possible for this algorithm to be performed
on a single 3D array. Thus this algorithm is regarded as a reversal version of
Algorithm 5.10 both in its basic idea and in the type of an algorithm.
Next, we will give a parallel-type algorithm.
Algorithm 5.14 (Fixed neighborhood RDT - parallel type).
F
=
{
f ijk }
: Input image.
f ijk = distance value, if a voxel ( i, j, k ) is a skeleton voxel ,
0 ,
otherwise
G
{
g ijk }
=
: Work array, and output image. Initial value is 0 for all voxels.
[STEP 1]
for all ( i, j, k ) do
if f ijk = 0
then g ijk
0
else
d
∈N ( k ) (( i, j, k ))
}
(The superscript k represents the type of neighborhood, k =6 , 18 , 26)
if d
max
{
f pqr ;( p, q, r )
= 0
then g ijk
d
1
else no operation
endif
endif
enddo
[STEP 2]
if
when [STEP 1] finishes,
then stop
else
F
=
G
F G
endif
go to [STEP 1]
[Explanation of the algorithm]
The meaning of each step of the algorithm will be understood from the
explanation of the sequential-type algorithm. In fact, the description of the
Search WWH ::




Custom Search