The shape of a structure of interest can be determined by analyzing its boundary, the variations and curvature of which constitute the information to be quantified. This is achieved by transforming the boundary into a 1D signal and analyzing its structure. A common technique is based on the radial distance measured from a central point in the region to each pixel (x(n), y(n)) on the boundary. Generally the centroid (xc, yc) is used as the central point and the radial distance sequence

Typically moment orders larger than 4 are not used since such high-order moments have a large dynamic range and high sensitivity to noise. For the shapes shown in Fig. 4, the values of m2, m4, and -4 are:

76.074 50.080 37.882

75.754 49.098 38.174

71.739 50.435 39.541 6084.93 2714.65 1594.94 6035.35 2614.59 1620.81 5428.31 2752.00 1731.75

1.9935 2.6930 2.8414

1.9485 2.6972 2.8653

1.8845 2.7425 2.8427

Two features

and their difference f21 — f2 — f1 have been reported to have good invariance properties and monotonie increase with shape complexity [1]. The distributions of f21 are illustrated in Figs 2 and 3 for benign and malignant microcalcifications in mammograms.

The number of times the signal r(n) crosses its mean and other similar metrics can be used as a measure of boundary roughness [10]. The information in the r(n) signal can be analyzed in the spectral domain with the discrete Fourier transform (DFT)

whose coefficients with highest values convey the essential shape information. It is also possible to quantify the shape of the boundary with the discrete Wavelet transform (DWT) of the r(n) signal by using a selected wavelet [11-13]. Radial distance measures have been used to quantify the shape of breast tumors [2,3,10] and calcifications [1].

The shape of a region can be represented by quantifying the relative position of consecutive points on its boundary. The chain code technique achieves this representation by analyzing each point on the boundary in sequence (e.g., counterclockwise) and assigning a code digit to the transition from each point to the next. The term point rather than pixel was deliberately used because, depending on the image resolution and object size, a chain code that addresses each boundary pixel may be too large. Furthermore, using each pixel causes all minor boundary deviations related to noise or segmentation pitfalls to be considered part of the object shape. Therefore, a boundary is typically prepared for chain codes by reducing the spatial resolution with a new x-y grid. Figure 5a illustrates segmented boundary pixels on a vertebral contour, the lower resolution grid, and the points used for the chain code. The transition from one point to the next can be coded with 4-connectivity, considering the 4 nearest neighbors, or 8-connectivity, where transitions to all adjacent points are coded. Here we consider the chain code based on 8-connectivity as defined in Fig. 6. For example, when the boundary passes from a point to the one located to its right, the code for the transition is 0; when the boundary goes from a point to its upper left, the code is 3. Figure 5b shows the chain code points and the directional digit associated with each transition. In this example, the chain code starting from the point labeled with

an S and progressing counterclockwise is shown in Fig. 7a. The chain code can be analyzed further to extract metrics that quantify the boundary shape.

Before discussing shape quantification, some normalization issues have to be addressed. Because the chain code changes with the selected starting point, it is clear that a given boundary can be represented with as many chain codes as the number of points that it has. To eliminate this ambiguity, we select the starting point that produces the chain code with minimal numerical value. In this manner, only one chain code is associated with the boundary.

A rotation invariant code sequence also can be obtained by using the first difference of the chain code; the difference between two consecutive digits is defined as the number of directions between them, which is taken to be positive when counterclockwise. For example, in the chain code of Fig. 7a, passage from the first digit to the second entails a direction change of one clockwise step; referring to Fig. 6, the first element of the differential chain code is — 1. On the other hand, passage from the 5th element (2) to the next (3) occurs with a counterclockwise change of 1 digit, producing a difference of 1. The differential chain code shown in Fig. 7b, considered a circular sequence, is a unique, rotation-invariant representation of the boundary obtained for all its topologically homologous rotations in the image plane. Note that generally, when the same object is imaged at two different orientations, pixels on the segmented boundary in one orientation are not

FIGURE 6 Transition label definitions for the 8-connected chain code.

homologous to those of the other orientation. In order to ensure a rotation-invariant representation with the differential code described above, the new grid cell size has to be large enough to become insensitive to imaging and segmentation variations due to object rotation.

The differential chain code is different for different boundaries, and it can be used to distinguish shapes, but it cannot be used directly to quantify a given aspect of a shape or to compare shapes with a scale. The differential chain code is a rotation and translation-invariant encoding of the boundary, but it is not a measure of any shape attribute. However, because it contains all the essential shape information, several metrics can be extracted from it. For example, boundary smoothness is related to the local curvature of the boundary and can be quantified directly from the differential chain code. If the boundary is relatively smooth, the transitions between adjacent points in a local section of the boundary, tend to be in either the same direction or closely spaced directions. Consequently, the differences between consecutive digits of the original chain code are small and the differential sequence has relatively small digits. The mean of the absolute value of all digits in the differential chain code can be used as a smoothness measure that takes a low value for smooth boundaries.

Boundary symmetry also manifests itself in the differential chain code. If the starting point is on the axis of symmetry, the differential chain code is also symmetric around its middle. If the starting point is arbitrary, the differential chain code generally has two parts that are symmetric around their own middles, as in Fig. 7b. Such symmetric sections can be determined by parsing the differential chain code, and the axis of symmetry of the boundary can be inferred by further analysis.

The presence of concave sections in the boundary also can be determined from the differential chain code. With the difference definition as stated above, a convex boundary has a differential chain code made of only positive digits. Any point that lies on a concave turn produces a negative digit. The amount of convex and concave sections can be quantified by analyzing the positive and negative runs of the differential chain code.

Chain codes have been used for autoradiographic brain and neural tissue analysis [14], quantification of the nuclear contour of cervical cells [15], analysis of single and overlapping lymphocytes [16], quantification of nerve fibers [17], recognition of abnormal pap smear cells [18], region coding in volumetric data [19], and quantification of left ventricular boundary in echocardiograms [20].

Was this article helpful?

## Post a comment