Image Processing Reference
In-Depth Information
z pqr
k
r pqr
f ijk
endif
enddo
enddo
for all ( i, j, k ) such that r ijk > 0 do
h ( x ijk )( y ijk )( z ijk )
1
enddo
Algorithm 5.16 (Extraction of Skeleton 2 of Def. 5.9).
Input image
F
=
{
f ijk }
: Squared Euclidean DT image.
Output image:
: Skeleton image. Initial value is 0 for all voxels.
In the output, the value 1 is given to skeleton voxels, and 0 is given to
other voxels.
Work arrays
H
=
{
h ijk }
G =
V =
g ijk }
v ijk }
G
=
{
g ijk }
,
U
=
{
u ijk }
,
V
=
{
v ijk }
,
{
,
{
,
:Initialvalueis 0 for all voxels in all arrays.
During executing the program, all voxel values outside of an input image are
regarded as 0 . Arrays
and
T
=
{
t n }
G ,and
V are assigned to the same
G
V
and
and
memory space, respectively.
[STEP 1] (Generation of a label image)
Input image:
F
=
{
f ijk }
squared Euclidean DT image
Output image:
(label image)
Scan an input image, and give labels represented by sequential positive num-
bers starting by 1 to a voxel of
U
=
{
u ijk }
F
having a positive value, that is, f ijk
> 0 .
Labels are written into a corresponding voxel of a work array
U
.
[STEP 2] (Reverse distance transformation with labels)
(1) Processing in the row direction (forward scan)
Input image:
F
=
{
f ijk }
Squared Euclidean distance transformation image,
U
(label image).
Output image:
=
{
u ijk }
G
=
{
g ijk }
(Reverse Euclidean distance transformation im-
age),
(label image).
Perform the following procedure in each row with increasing suxes i from 1
until M .
(a) If f ijk <f ( i− 1) jk ,
perform the following procedure for n such that 0
V
=
{
v ijk }
n
( f ( i− 1) jk
f ijk
1 ) / 2 ,
(a-1) if f ( i + n ) jk
( n + 1 ) 2 , go to the next i ,
f ( i− 1) jk
(a-2) unless (a-1),
(a-2-1) if g ( i + n ) jk <f ( i− 1) jk
( n + 1 ) 2 ,
( n + 1 ) 2 ,
g ( i + n ) jk
f ( i− 1) jk
u ( i− 1) jk ,
go to the next n .
(a-2-2) otherwise, go to the next n .
(b) If f ijk
v ( i + n ) jk
f ( i− 1) jk ,
(b-1) if g ijk <f ijk ,
Search WWH ::




Custom Search