14
COMPUTER VISION, GRAPHICS, AND IMAGE PROCESSING 27, 78-91 (1984) NOTE Three-Dimensional Skeletonization of Elongated Solids KIMBERLYJYLHAFFORLIAND KENDALLPRESTON,JR. Biomedicul Engineering Program and Department of Electrical Engineering, Carnegie- Mellon University, Pittsburgh, Pennsylvuniu 1Xl 3, and Department of Radiation Health, University of Pittsburgh, Pittsburgh, Pennsylvania 15260 Received July 26,1982; revised November 19,1982, February 14,1983, and July 25,1983 A three-dimensional skeletonization algorithm using the tetradecahedral neighborhood in the face-centered cubic tessellation is described. The algorithm operates using table lookup logical transforms which lead to fast hardware implementations. This paper demonstrates the algo- rithm as applied to serial-section reconstructions of neurons from one of the nematodes. It is shown that use of the tetradecahedral neighborhood may lead to the production of “rings” which interfere with the skeletonizing algorithm. A procedure for detecting and deleting or modifying these “rings” is described. 1. INTRODUCTION This paper concerns skeletonization of digitally sampled solids using a three- dimensional logical transform. The logical transform causes the surfaces of a solid to propagate inward until only a single strand of three-dimensional elements (voxels) remains. This single strand of voxels we define as the three-dimensional skeleton. For example, when the structure to be skeletonized is a three-dimensional parallele- piped, the initial phase of skeletonization causes all surfaces to propagate inward until a plane of voxels, called the skeletal stratum by Shari [l], is obtained. In this example, the skeletal stratum (Fig. 1D) is the locus of the centers of equi-diameter spheres whose surfaces are tangent to at least two of the surfaces of the original parallelepiped. The next step, in this example, is to skeletonize the skeletal stratum (Fig. 7A) into the single strand of voxels (Fig. 7B) whose medial axis forms the locus of those circles that are tangent to at least two of the borders of the skeletal stratum. These two separate skeletonizing operations must be performed without destroy- ing the original topology of the initial solid. Thus, a comrectivity-number-preserving transformation [2] (or series of transformations) is required. For computational speed and simplicity, it is desired to carry out these operations using a local operator performing the transform in parallel. As has been pointed out by Rosenfeld [3], there is no parallel connectivity-preserving local operator. Even in a Cartesian coordinate space of two dimensions, a 5 X 5 operator must be employed. Golay solved this paradox in two dimensions by introducing the concept of subfields [4]. Golay employed parallel local operations in three sequential subfields using the hexagonal tessellation in the plane for skeletonizing two-dimensional structures. Extending Golay’s subfield concept into three dimensions utilizing six subfields, we have developed a three-dimensional skeletonization algorithm that permits the use of a three-dimensional local operator. Other workers have attempted to produce three-dimensional skeletons. Lobregt et al. [5] failed to use subfields while Tsao and Fu [6] used an incomplete set of 78 0734-189X/84 $3.00 Copyright 0 1984 by Academic Press. Inc. All rights of reproduction in any form reserved.

Three-dimensional skeletonization of elongated solids

Embed Size (px)

Citation preview

Page 1: Three-dimensional skeletonization of elongated solids

COMPUTER VISION, GRAPHICS, AND IMAGE PROCESSING 27, 78-91 (1984)

NOTE

Three-Dimensional Skeletonization of Elongated Solids

KIMBERLYJYLHAFFORLIAND KENDALLPRESTON,JR.

Biomedicul Engineering Program and Department of Electrical Engineering, Carnegie- Mellon University, Pittsburgh, Pennsylvuniu 1 Xl 3, and

Department of Radiation Health, University of Pittsburgh, Pittsburgh, Pennsylvania 15260

Received July 26,1982; revised November 19,1982, February 14,1983, and July 25,1983

A three-dimensional skeletonization algorithm using the tetradecahedral neighborhood in the face-centered cubic tessellation is described. The algorithm operates using table lookup logical transforms which lead to fast hardware implementations. This paper demonstrates the algo- rithm as applied to serial-section reconstructions of neurons from one of the nematodes. It is shown that use of the tetradecahedral neighborhood may lead to the production of “rings” which interfere with the skeletonizing algorithm. A procedure for detecting and deleting or modifying these “rings” is described.

1. INTRODUCTION

This paper concerns skeletonization of digitally sampled solids using a three- dimensional logical transform. The logical transform causes the surfaces of a solid to propagate inward until only a single strand of three-dimensional elements (voxels) remains. This single strand of voxels we define as the three-dimensional skeleton. For example, when the structure to be skeletonized is a three-dimensional parallele- piped, the initial phase of skeletonization causes all surfaces to propagate inward until a plane of voxels, called the skeletal stratum by Shari [l], is obtained. In this example, the skeletal stratum (Fig. 1D) is the locus of the centers of equi-diameter spheres whose surfaces are tangent to at least two of the surfaces of the original parallelepiped. The next step, in this example, is to skeletonize the skeletal stratum (Fig. 7A) into the single strand of voxels (Fig. 7B) whose medial axis forms the locus of those circles that are tangent to at least two of the borders of the skeletal stratum.

These two separate skeletonizing operations must be performed without destroy- ing the original topology of the initial solid. Thus, a comrectivity-number-preserving transformation [2] (or series of transformations) is required. For computational speed and simplicity, it is desired to carry out these operations using a local operator performing the transform in parallel. As has been pointed out by Rosenfeld [3], there is no parallel connectivity-preserving local operator. Even in a Cartesian coordinate space of two dimensions, a 5 X 5 operator must be employed. Golay solved this paradox in two dimensions by introducing the concept of subfields [4]. Golay employed parallel local operations in three sequential subfields using the hexagonal tessellation in the plane for skeletonizing two-dimensional structures. Extending Golay’s subfield concept into three dimensions utilizing six subfields, we have developed a three-dimensional skeletonization algorithm that permits the use of a three-dimensional local operator.

Other workers have attempted to produce three-dimensional skeletons. Lobregt et al. [5] failed to use subfields while Tsao and Fu [6] used an incomplete set of

78 0734-189X/84 $3.00 Copyright 0 1984 by Academic Press. Inc. All rights of reproduction in any form reserved.

Page 2: Three-dimensional skeletonization of elongated solids

79

FIG. 1. A 4 X 5 x 8 parallelepiped whose surfaces lie in cubic planes of the face-centered cubic tessellation reduced in four sequential steps (A through D) to its skeletal stratum.

subfields. Thus, general connectivity-preserving algorithms did not result. Neighbor- hoods used by ourselves and these other workers are shown in Fig. 2 as closed netted surfaces. The central voxel is not included in the neighborhood. The 2 X 2 X 2 cube is used by Lobregt et al., while the 3 X 3 x 3 cube is used by Tsao and Fu. The tetradecahedron employed in our research consists of a central voxel and its 12 neighbors and is the extension of the Golay hexagonal tessellation into three dimensions (Fig. 3). Unlike the other neighborhoods shown, it has the advantage that every voxel in the neighborhood is equidistant from the central voxel. Tetra- decahedrons nested produce the face-centered cubic tessellation.

The connectivity number of any closed netted surface is equal to the number of nodes (N) plus the number of faces (F) minus the number of edges (E). Values for N, F, and E are given for the tetradecahedron, the 2 x 2 x 2 cube, and the 3 x 3 x 3 cube in Fig. 2. Lobregt et al. determine the contribution of each 2 x 2 x 2 cube to the connectivity number of the 26-element neighborhood of each voxel in the 3 X 3 X 3 cube. If local connectivity is preserved by the removal of the central voxel, then it is erased. They do not use subfields, so that their algorithm would totally erase (rather than skeletonize) an L X M X N parallelepiped where L, M, and N are all even or an L X M skeletal stratum where L and M are even. Tsao and Fu use six subfields in the Cartesian tessellation, namely, U (up), D (down), N (north), S (south), E (east) and W (west). This is an incomplete set, in that the

Page 3: Three-dimensional skeletonization of elongated solids

80 HAFFORD AND PRESTON

N = 12 N= 26 N=56 F q 14 F = 24 F q 54 E = 24 E=48 E = 108

FIG. 2. Three three-dimensional neighborhoods shown as closed netted surfaces with the number of nodes (N), faces (F), and edges (E) indicated.

Cartesian tessellation requires eight subfields. (In the Cartesian tessellation, each neighborhood voxel is in contact with seven other voxels-six in the neighborhood plus the central voxel. Each of these must lie in a separate subfield.) Tsao and Fu, therefore, revert to the additional computational feature of adding what they call “checking planes,” which, with eight subfields, would have been unnecessary. With the tetradecahedron, only six subfields are required in that each voxel in the neighborhood is in contact with only five other voxels (four from the neighborhood plus the central voxel).

2. MULTIDIMENSIONAL CELLULAR LOGIC

This paper describes an application of multidimensional cellular logic transforms utilizing the face-centered cubic tessellation. It represents a direct extension into three dimensions of the Golay hexagonal parallel pattern transformation [4]. Golay recognized that the 26 = 64 binary patterns in the six-element hexagonal neighbor- hood could be categorized according to the 14 six-element cyclic binary codes. These 14 codes have been called the Golay “primitives” or “surrounds” (Fig. 4). Golay’s primitive number 0 represents the empty neighborhood (no 1 elements). Golay’s primitive number 6 represents the full neighborhood (all 1 elements). The primitives 1 through 5 represent neighbors containing a corresponding number of adjacent 1 elements. The remaining primitives (7-13) have groups of nonadjacent 1 elements.

FIG. 3. The tetradecahedron with the six subfields numbered showing that every voxel is completely isolated from all other members of its subfield.

Page 4: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 81

The maximum number of nonadjacent 1 elements is three (Golay’s primitive number 7 wherein three 1 elements alternate with three 0 elements).

In the hexagonal tessellation, each element in the surround contacts the central element and two neighbors so that a minimum of three subfields are required. By carrying out the Golay transform in parallel within each subfield, it is possible, within three cycles, to carry out one iteration of a connectivity-preserving skeletoni- zation transform. This is illustrated in Fig. 4. This figure shows a 3 X 9 shape (with the resultant skeleton in black) which, in three subfield cycles, is reduced to a skeleton by the Golay transform performed with subfield order l-3-2. In Fig. 4A the upper left-hand comer of the shape lies in subfield 1. As can be seen, six elements are removed in each of the subfield cycles and the result is the ideal skeleton after subfield cycle number 3. The transform used is one where the transition rule states that a 1 element in the subfield addressed is removed unless its neighborhood exhibits any one of the Golay primitives 6 through 13. Figure 4B shows the same procedure with the upper left hand comer of the shape lying in subfield 2; Fig. 4C, in subfield 3.

Preston et al. [7] simplified the Golay transform by pointing out that the Golay primitives are characterized by only two parameters. One parameter, called “Factor,” is the total number of 1 elements in the neighborhood, while the other parameter, called the “Crossing Number” [8], is the number of transitions between 0 and 1 in the neighborhood. For the hexagonal neighborhood, Factor is identically equal to

0 I 2 3 4 5 6

FIG. 4. The Golay primitives (above) and examples of 2-D skeletonizing using the Golay hexagonal parallel pattern transformation (below).

Page 5: Three-dimensional skeletonization of elongated solids

82 HAFFORD AND PRESTON

the Golay primitive number for primitives 0 through 6. For these primitives, the Crossing Number is identically zero for both primitive 0 and primitive 6, while it is equal to two for primitives 1 through 5. For Golay primitives 8 through 13, it is equal to four while, for primitive 7, it is equal to six as indicated above. Therefore, the Golay transform illustrated in Fig. 4 may be carried out by simply specifying the transition rule that a 1 element is changed to a.0 element unless its Factor has a value of 6 (indicative of an interior point) or its Crossing Number has a value of 4 or higher. Preston’s modification of the Golay transform in the hexagonal tessellation and an extension to the Cartesian tessellation are both described in detail in [7].

2.1. The Three-Dimensional Neighborhood

While the parameter Factor applies directly to any three-dimensional neighbor- hood, the Crossing Number must be redefined. There is no inherent cyclic order for the elements of a three-dimensional neighborhood. A solution to this problem is obtained by noting that the Crossing Number is exactly half the Occupancy, where Occupancy is defined as the number of connected regions of 1 elements in the neighborhood (whether two dimensional or N dimensional). Occupancy in the tetradecahedral neighborhood has been extensively investigated by Preston [9] with the result that its value has been tabulated for all 212 = 4096 neighborhood con- figurations. Direct calculation of the Occupancy is currently being investigated by Piazza [lo]. However, because of the convention established earlier, we continue to use the parameter Crossing Number (cnum) but define it as twice the Occupancy.

The value of the parameter Factor (fat) serves as a local indicator of the physical shape of a three-dimensional structure. A voxel in the interior of an object in the face-centered cubic tessellation has fat equal to 12. Border voxels (voxels on the surface of a three-dimensional structure) have fat values of 11 or less. High values of fat (between 9 and 11) are indicative of voxels lying in local concavities. Voxels located in a flat surface parallel to one of the four hexagonal planes of the face-centered cubic tessellation have fat equal to 9; those in a surface parallel to one of the three cubic planes have fat equal to 8. A voxel with a still lower fat value is a protrusion of the surface into the background (most of the neighbors are 0 elements).

As in two dimensions, Crossing Number is a measure of connectivity, which we define as twice the Occupancy. We have defined Occupancy for the 1 elements in the neighborhood of a particular voxel as the number of regions of connected 1 elements in the neighborhood. Occupancy for 0 elements is defined analogously. In three dimensions these two quantities are, in general, unequal [9]. From the Occupancies for 1 elements and 0 elements, the corresponding values for Crossing Number, “cnuml” and “cnum0” may be obtained. The highest possible value for any Crossing Number in the face-centered cubic tessellation is eight, which occurs when four isolated 1 elements exist in the neighborhood with each surrounded by 0 elements.

3. THREE-DIMENSIONAL SKFiLETONIZATION

In this section, we show that 3-D skeletonization as defined by Srihari in Section 1 [l] can be performed with logical transforms using the face-centered cubic tessella- tion and tetradecahedral neighborhood in Fig. 2.

Page 6: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 83

3.1. Dejinition of Logical Transform

We define the three-dimensional logical transform R as

Rb, P, Y) = 0 if (cnuml < CNUMl) and (cnum0 < CNUMO) and (fat I FAC)

= 1 otherwise (1)

where quantities in upper case are arguments specified by the user and (Y, j3, y are coordinates of the central voxel. Since fat may have values ranging from 0 to 12, and cnum from 0 to 8 (in steps of two), the “don’t care” values) for the FAC and CNUM arguments, for which the corresponding inequalities in (1) are always satisfied, are 12 and 9, respectively.

In order to use the logical transform to skeletonize, we must use the parameter values that guarantee chain connectivity. In a singly connected chain of 1 elements in the tetradecahedron, each nonterminal voxel in the chain has two neighboring 1 elements which do not touch each other. In other words, the center element has an occupancy for ones equal to 2 and for zeros equal to 1, so that cnuml equals 4 and cnum0 equals 2. Consequently, to preserve connectivity, we require that no voxels for which CNUMl = 4 be deleted. The factor value for such a nonterminal skeletal voxel is 2. Therefore, in general, a skeletal element that is not a node will have a cnuml equal to 4 and a factor value equal to 2.

In the cellular logic computer program TRIAKIS [ll], which we use, only 1 elements may undergo transformation (may be changed to zeros) while zeros remain zeros. A consequence of this transformation is that, when the solid is represented by ones in a background of zeros, a logical transform will always reduce the number of ones that comprise the solid (or, in the trivial case, leave them unchanged). Inverting the polarity of the values of the elements comprising the solid (and background), transforming, and reinverting may be done to produce augmentation,

Besides FAC, CNUMl and CNUMO, three more arguments must be specified in the cellular logic command of TRIAKIS. They are MODE, CYCLE and BORDER. MODE is used to cause the program to operate on either one or all of the six subfields of the face-centered cubic tessellation (Fig. 3). The spatial organization of subfields is such that any voxel in one subfield touches no other voxel in the same subfield. Thus, subfields 1,2,3 compose every other hexagonal plane. MODE 0 allows the user to operate on an image without division into subfields. A transform operating in a single subfield may be indicated by specifying MODES l-6. MODE 7 commands the program to operate on all voxels, one subfield at a time, in the following subfield order: l-6-3-4-2-5. It can be shown that this subfield order is isotropic. For example, when reducing a solid to a residue, this subfield order will locate the residue closest to the centroid. The user specifies the total number of iterations to be performed on the solid by means of the CYCLE argument. Finally, BORDER is used to set all voxels on the borders of the TRIAKIS 64 x 64 X 64 workspace either to ones or zeros.

3.2. Results

Thirty cross sections of neurons from the preanal ganglion of the soil worm Caenorhabditis elegans were manually digitized from electron micrographs using the

Page 7: Three-dimensional skeletonization of elongated solids

84 HAFFORD AND PRESTON

Biological Computer Facility at Columbia University. The photographs were ob- tained by Hall [12] in a detailed study of the posterior nervous system of the nematode and were provided by Dr. Richard Russell, Professor of Biology at University of Pittsburgh. The average slice thickness was 0.05-0.06 pm and the cross sectional diameter was approximately 0.2 pm. The digitized points defined the sampled boundary of each cross section. They were entered into planes l-63 of the 64 X 64 X 64 workspace (Fig. 5A). The value of BORDER was set to 1 permitting skeletonization of the elongated solid while tying the ends of the skeleton to planes 1 and 64. The digitized points were then connected using one or two cycles of augmentation by a two-dimensional logical transform in order to form a continuous perimeter (Fig. 5B). Solid cross sections were then filled by further two-dimensional logical transforms (Fig. 5C). These solids, with volumes ranging from about 6000 to 23,000 voxels, were then skeletonized automatically using our algorithm.

3.2.1. Program Parameters. Algorithm details and a flow chart for the skeletoni- zation program used are given in the Appendix. The program begins the skeletoniz- ing process by using FAC = 5. Experiments show that a starting value of FAC = 5 minimizes the velocity of surface propagation in the three-dimensional tessellation,

r

FIG. 5. Sixty-three serial cross sections of (A) digitized nerve-cell boundaries; (B) continuous perimeters following 2-D augmentation; (C) solid cross sections following 2-D filling. Plane 1 of the TRIAKIS 64 X 64 X 64 workspace appears in the upper left corner; plane 64 in the lower right.

Page 8: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 85

but more importantly, prevents the formation of tunnels as the surfaces of the solid propagate inwards. These tunnels could otherwise prevent further reduction to a skeleton. If the rate of removal of voxels using FAC = 5 is too slow (less than 0.5% of the total number of 1 elements per cycle), then the program automatically increases the value of FAC to 6. At this instant, a single subfield is used for one cycle followed by a return to FAC = 5. In the event that no reduction occurs with FAC = 6 in the subfield selected, the program repeats the operation in another subfield, etc. In the event that none of the subfield operations using FAC = 6 produce reduction, the program tests for further reducibility. If further reducibility cannot be obtained, the program automatically checks for the existence of ring structures which may cause unwanted leaf-like protrusions and removes them and the associated protrusions. These ring structures are described in the next section.

32.2. Ring Structures. The tetradecahedral neighborhood has the disadvantage that four-element rings may form during the skeletonization process that can cause the program to produce a skeleton having leaf-like protrusions extending from the desired skeletal structure. The basic reason for ring formation has to do with the “completeness” of the tetradecahedral neighborhood. A complete neighborhood is one in which all lines and planes passing through the central voxel can be detected by the neighborhood voxels included on the lines or planes. The tetradecahedron is complete for lines lying in the hexagonal planes, but not lines lying in the cubic planes. Ring structures lie in cubic planes. These are undetected, which is a fundamental problem with the tetradecahedral neighborhood.

The ring structure was discovered early in our research on three-dimensional skeletonization using the tetradecahedral neighborhood. Rings may have 26 attach- ments in the three basic configurations as shown in Fig. 6. Eight of these yield a cnuml = 4 for all elements; thus the program maintains them during the reduction

FIG. 6. Ring connected to a chain has attachment element with (A) CNUMl = 4; (B) CNUMl = 6; (C) CNUMl = 2.

Page 9: Three-dimensional skeletonization of elongated solids

86 HAFFORD AND PRESTON

process. These 26 attachments are the geometric structures in which the four members of a ring may be joined to form a leaf-like protrusion connecting to the skeleton. By treating each ring element as the center of a unit tetradecahedron, it can be shown that

8 attachment positions give the ring element cnuml = 4 (Fig. 6A); 16 attachment positions give the ring element cnuml = 6 (Fig. 6B);

2 attachment positions give the ring element cnuml = 2 (Fig. 6C).

In the case where the attachment position yields cnuml equal to 2, the ring is automatically removed by the program. In the event that cnuml is equal to 6, the ring can be detected by the program (see step 3 of the algorithm). This is done automatically by the program following every cycle of reduction wherein voxels of the object having cnuml equal to six (or greater) are detected and are augmented locally. A separate workspace is used is this operation to avoid augmentation of the entire structure being skeletonized. The contents of this workspace are then ORed with the main workspace to remove these ring configurations. A voxel positioned at an intersection of a natural bifurcation of a skeleton may have a cnuml equal to 6, in which case, the voxel reappears after every execution of this step. To avoid an infinite loop of augmenting and reducing in such cases, the program performs step 4 to test for such reoccurrences. In the event of a reoccurrence, the program skips to step 8. Rings having an attachment element exhibiting cnuml equal to 4 are automatically removed at the final step of the program by means of inverting, augmenting with FAC = 8, reinverting, and reskeletonizing. This eliminates any residual protrusions in the skeleton. Figures 7A and B shows an example of the application of skeletonization to the type of double-strand skeletal stratum which occurs when an even-dimensioned parallelepiped is reduced (Fig. 1). Since this stratum is a chain of rings, it is a particularly difficult case. Also, neither strand

FIG. 7. (A), (B) Two-strand skeletal stratum and its skeleton; (C), (D) skeletons of two typical neurons.

Page 10: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 87

FIG. 8. Cross sections showing the original neuronal surface plus the resulting position of the single-strand skeleton (enlarged to 3 X 3 array for visibility).

alone forms the true skeleton. Our program generates a crenelated single strand skeleton whose medial axis lies midway between the two original strands.

4. CONCLUSIONS

The algorithm described above produced satisfactory skeletons for several differ- ent neurons of which two are shown in Fig. 7. The positions of these skeletons relative to the cross sections favor the more concave side of the original structure because the low value of FACTOR used causes anisotropic surface propagation. Also, thinner sections of the elongated solids reduce to skeletal elements more quickly, and this exerts some influence on neighboring cross sections through the propagation of the skeleton into these areas. Figure 8 provides information on the location of the final skeleton with respect to the original cross sections. Figure 9A shows a spurious branch formed when undetected rings occurred during reduction. Following the completion of the initial portion of the program, such rings were removed by inverting and augmenting with FAC = 8 (Fig. 9B). Further reduction resulted in a skeleton (Fig. 9C).

Regarding the problem of the formation of rings which is due to the incomplete- ness of the tetradecahedral neighborhood, one solution has been proposed by Toriwaki [13]. This is to use a larger neighborhood which is complete for the cubic planes such as the octahedron containing 19 elements (Fig. 10). This neighborhood consists of a tetradecahedron plus six extra voxels, three both in the top and bottom planes. Use of such a neighborhood would require a lookup table 64 times larger than is employed in our program. This would present serious problems in imple- menting our algorithm in hardware. Furthermore, the voxels in the neighborhood are no longer equidistant from the central voxel.

APPENDIX: SKELETONIZATION ALGORITHM’

(1) Load the initial 3-D data array into both the main workspace and the storage buffer.

‘The flow chart for this algorithm appears in Fig. Al.

Page 11: Three-dimensional skeletonization of elongated solids

88

FIG. 9. (A) Leaf-like protrusion terminating in an initially undetected ring; (B) the result of inverting, augmentating with FAC = 8, and reinverting; (C) final skeleton with protrusion removed.

(2) Reduce one CYCLE with FAC 5, CNUMl 4, CNUMO 4, MODE 7, BORD 1 and COUNT the resulting binary ones in the 3-D array. (This step remoues voxefs having 5 or fewer 1 elements in their neighborhoods.)

(3) COPY the 3-D array into a separate buffer, perform one CYCLE of reduction with FAC 12 (don’t care), CNUMl 6, CNUMO 9 (don’t care), MODE 0, BORD 1, and COUNT. (This operation counts the number of voxels with cnuml equal to 6.)

FIG. 10. The 19-element octahedron being investigated by Toriwaki [13].

Page 12: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 89

I REDUCE IN ONE WWIELD

ALL E.UBF,ELDS? CHANGE SUBFIELD

“ES

FIG. Al. Flow chart for 3-D skeletonization algorithm of elongated solids using cellular logic transforms.

(4) If the count is more than zero, EXOR the contents of the main workspace with the contents of the storage buffer and COUNT, and, if this count is zero, a skeleton has been obtained; go to step 8. Otherwise, COPY the present 3-D array into the storage buffer for future reference. Now, INVERT the image resulting from step 3 and augment with one CYCLE, FAC 11, CNUMl 9 (don’t care), CNUMO 9 (don’t care), MODE 0, BORD 1. After INVERTing again, OR the result with the data in

Page 13: Three-dimensional skeletonization of elongated solids

90 HAFFORD AND PRESTON

the main workspace. (The first part of this step checks whether or not the voxel with cnuml of 6 is a node in a skeleton. If not, the second part augments the voxel to eliminate the formation of a ring.)

(5) If two consecutive cycles of reduction with FAC 5 have been performed, check for count stabilization. Otherwise, return to step 2. For these purposes, stabilization is defined by

c, - c, I 0.5%C, (C, = count before cycle)

(C, = count after cycle).

(This comparison checks the rate of voxel removal with FAC 5.) (6) If the count has not stabilized, return to step 2. Otherwise reduce one CYCLE

with FAC 6, CNUMl 4, CNUMO 4 and BORD 1 in one subfield. (This operation should be carried out in a different subfield each time step 6 is performed.) If no reduction is observed, repeat this step in a new subfield. The subfield order used in this research is the same as that of MODE 7. If FAC 6 does not produce any reduction in any of the six subfields, test for completion of the skeletonization process with step 7. Otherwise, return to step 3. (This step momentarily increases the rate of voxel removal by using a higher factor value, FAC 6.)

(7) COPY the image into a separate buffer. Reduce with FAC 12 (don’t care), CNUMl 4, CNUMO 9 (don’t care), MODE 0, BORD 1. If reduction has reached completion, this operation will retain the entire image and the count will be the same as before the test. If the count decreases, the solid is still reducible; return to step 6 using a higher FAC value. (This step tests for completion of the skeletonization process.)

(8) Invert image and augment one cycle with FAC 8, CNUMl 9 (don’t care), CNUMO 9 (don’t care), MODE 0, and BORD 1. Invert again and COUNT. If the count does not change, quit. If the count increases, reduce with cycles of FAC 12 (don’t care), CNUMl 4, CNUMO 4, MODE 7, BORD 1 until there are no further changes. (This operation eliminates undetected rings and associated spurious branches.)

ACKNOWLEDGMENTS

Support of this research was furnished by the United States National Science Foundation via Grant MCS80-00666 to the Department of Electrical Engineering, Carnegie-Mellon University. The research presented in this paper was conducted as a graduate project at Carnegie-Mellon in part supervised by Dr. Arthur Sanderson, Professor of Electrical Engineering and Biomedical Engineering and Associate Director of the Robotics Institute, and Dr. Richard Stem, Associate Professor of Electrical Engineering and Biomedical Engineering, in addition to Dr. Richard Russell, Professor of Biology, University of Pittsburgh. The research was performed using the computer facility supervised by Dr. John Herron, Research Assistant Professor in the Department of Radiation Health of the University of Pittsburgh and Director of the Biological Image Processing Unit, and Mr. Walter Good of his staff. All digitizations were performed at the Columbia University Biological Com- puter Facility directed by Dr. Cyrus Levinthal. Assistance by the Mellon Institute Department of Photography and Drafting is also acknowledged in preparing the illustrations. The authors are particularly indebted to the anonymous reviewer whose numerous suggestions have lead to significant improvement of the text and figures.

Page 14: Three-dimensional skeletonization of elongated solids

THREE-DIMENSIONAL SKELETONIZATION 91

REFERENCES 1. S. N. Srihari, Representation of three-dimensional digital images, Comput. Surveys 13, 1981,

399-424. 2. D. Hilbert and S. Cohn-Vossen, Anschauliche Geometrie, Berlin, Springer-Verlag, 1932, 254-265.

(Available in English as Geometry and the Imagination, Chelsea, New York, 1952.) 3. A. Rosenfeld, Connectivity in digital pictures, J. Assoc. Comput. Mach. 17, 1970, 146-160. 4. M. 3. E. Golay, Hexagonal parallel pattern transformations, IEEE Trans. Comput. C-18, 1969,

733-740. 5. S. Lobregt, P W. Verbeek, and F. C. A. Groen, Three-dimensional skeletonization: Principle and

algorithm, IEEE Trans. Pattern Anal. Machine Intel. 2, 1980, 75-77. 6. Y.-F. Tsao and K. S. Fu, A parallel thinning algorithm for 3-D pictures, Computer Graphics and

Image Processing 17, 1981, 315-331. 7. K. Preston, Jr., M. J. B. Duff, S. Levialdi, P. E. Norgren, J.-i. Toriwaki, Basics of cellular logic with

some applications in medical image processing, Proc. IEEE 67,1979, 826-856. 8. D. Rutovitz, Data stmctures for operations on digital images, in (G. C. Cheng et al., Eds.). Pictorial

Pattern Recognition, Thompson Book Co., Washington, D. C., 1968. 9. K. Preston, Jr., The crossing number of a three-dimensional dodecamino, J. Combin. Inform. Sys.

Sci. 5, 1980, 281-286. 10. B. Piazza, A Combinatorial Analysis of Preston’s Dodecamino Table, Ph.D. Dissertation (in progress),

Dept. Math. Sci., Clemson University, Clemson, S. C. 11. K. Preston, Jr., Multi-dimensional logical transforms, IEEE Trans. Pattern Anal. Mach. Intel. 5,

1983, 539-554. 12. D. H. Hall, The Posterior Nervous System of the Nematode, Caenorhabditis elegans, Ph.D. Disserta-

tion, California Institute of Technology, Pasadena, 1977. 13. J.-i. Toriwaki, Topological properties and topology-preserving transformation of a three-dimensional

binary picture, Proceedings 6th International Conf. on Pattern Recognition, Munich, 1982.