A Central Axis Algorithm for 3D Bronchial Tree Structures Chandrasekhar Pisupati, Lawrence Woly, Wayne Mitznerz, Elias Zerhounix two types of trees in the lung: airway tree and vascular trees. Inspiration and expiration cause several changes in these tree structures, including segment lengths, cross sectional area and the bifurcation angle between branches. A three dimensional measurement of the lung is required in order to study these changes. Using High Resolution Computed Tomography (HRCT), we can obtain a multislice data set, which can be used to study the anatomical changes in bronchial tree structures, thereby gaining new insights into mechanism of lung function and pathology. Bronchial tree structures have been studied extensively by the physiological community and various models have been developed [1, 2]. But, methods to analyze these three dimensional trees are not well developed. Previous work involved preparing plastic casts of the tree structures and obtaining measurements from them [1, 2]. Recent work using HRCT [3, 4, 5], involved scanning lungs and stacking the slices to create a volume of bronchial tree data. After segmenting the airway tree using simple thresholding techniques, these investigators computed the central axis tree and obtained physiological measurements. The algorithms used were not robust and required manual intervention in the computation of branch points, in order to come up with an accurate computation of the central axis tree. In the present work, we do not compute the central axis tree through medial axis transforms as it leads to complicated shapes when the boundary of the object varies rapidly or when there is noise in the object. Skeletonization and thinning algorithms [8, 9] have been used previously on coronary arterial trees but with limited success on bronchial trees because of their greater complexity. Thinning algorithms produce skeletons which may not reect the true shape of the original pattern. Moreover, they may produce small bumps and extraneous branches in the pattern especially at junctions and turning points. In the case of bronchial trees, thinning algorithms produce connected voxels that atten out at branch bifurcations and lead to poor localization of central axis. Several thinning algorithms [9, 10] have been tried on these trees with limited success [5]. In order to obtain the exact branching structure of the bronchial trees, we resort to techniques other than thinning, to obtain the central axis tree. Moreover, a central axis tree with straight line segments, facilitates physiological measurements like branch angles and branch lengths. These central axis trees also help us in corresponding airway tree volumes at dierent phases of breathing and also in corresponding airway trees with vascular trees at a particular phase in breathing [6]. Abstract Accurate measurements of the physiological parameters like branching angles, branch lengths and diameters of bronchial tree structures help in addressing the diagnostic questions related to obstructive lung disease. To facilitate these measurements, 3D bronchial trees are reduced to a straight line central axis tree. We designed a two pass algorithm to compute the central axis tree of bronchial tree structures. In the rst pass, the topological branching tree structure T is obtained by using a top-down region growing algorithm on the tree volume. In the second pass, T is used to region grow bottom-up from the leaves, in order to obtain accurate centroid points that lie along the axes of the branches. Using these centroid points at each bifurcation, the branch point and the three direction vectors along the branches are computed, by solving a non-linear optimization problem. By connecting the computed branch points at each bifurcation with straight lines, we obtain the central axis tree on which we make the measurements. We also ran our algorithm on 3D tree models (cylindrical branches) that simulate bronchial trees and the computed central axis compared favorably with the ground truth central axis in terms of the measured physiological parameters. 1 Introduction Physiological measurements of the bronchial tree structure are clinically essential for evaluating the function of normal and diseased lung. Since lung function depends on its geometric structure, its detailed measurement intimately aects our understanding of the organ. There are Dept of Computer Science, Johns Hopkins University, Baltimore, MD-21218. E-mail : [email protected] y Dept of Computer Science, Johns Hopkins University, Baltimore, MD-21218. E-mail : [email protected] z Division of Physiology, Johns Hopkins University, Baltimore, MD-21218. E-mail : [email protected] x Dept of Radiology, Johns Hopkins University, Baltimore,MD21218. E-mail : [email protected] 1 The binary tree structure of these central axis trees per- of the bronchial tree and the edges in T correspond to admits more ecient algorithms for tree correspondence. jacent branches of the bronchial tree. We start with an initial set S of voxels and region grow from S in order to compute a new set S of voxels, using 26-connectivity (Figure 1). At each stage of the region growth, we check The geometric denitions which we use in our method are to see if the current set S is a single connected component or not. If S contains two disjoint voxel sets, this imas follows: The central axis tree of the 3D bronchial tree can be plies that the parent branch is branching to two daughter informally dened as a connected union of straight line branches and hence we update T by adding two new nodes spine segments wherein each spine segment best approx- to the current node of T. We continue region growth imates the axis of the branch. They are binary in na- by expanding on the two disjoint voxel sets, updating T ture, since bronchial trees have binary branching. The along the way and thereby growing the entire tree volbranch length is dened as the Euclidean distance between ume. T reects the branching structure of the bronchial two successive branch points of the central axis tree, tree. In each of the nodes of T, we maintain centroid (rst which correspond to the two junctions wherein the branch order moments) information of current voxel sets as we is connected. The branch angle between the daughter go down that branch. We use information in T to guide branches is dened as the angle produced by the branch the second phase of our algorithm. point at bifurcation and the branch points terminating at The second phase involves traversing the tree voleach of the daughter branches. The cross-sectional area ume bottom-up from the leaves of the bronchial tree (Figis dened as the number of pixels present on the plane ure 1). Note that, in the rst phase, the region growth can occur oblique to the axis of the branch thereby properpendicular to the axis of the branch. The seeded region growing algorithm has been used viding few centroid points for the nodes of T. The obextensively in medical imaging applications [11, 12]. Al- jective of the second phase is to direct the region growth though, this approach has been used on bronchial tree along the axis of the branch, so as to facilitate more censtructures to compute the central axis tree, the algorithm troid points corresponding to each branch, than the rst was not robust in computing branch points [3, 4]. We phase. More importantly, this phase tries to avoid the represent a robust algorithm to compute the central axis gion growth at branch junctions thereby providing good tree for bronchial tree structures. This algorithm uses a centroid points, for branch point computation. As a retwo-pass region growing of the tree volume and obtains sult of this phase, we also obtain the cross sectional area branch points by solving a non-linear optimization for- along all the branches. mulation. We rst present the details of CAA and then The bottleneck of the second phase is to direct region develop the mathematical tools required for branch point growth of the parent branch along its axis and in order to computation. accomplish this at all branch junctions, we use the information provided by the daughter branches (Figure 2). In2.1 Details of CAA ductively, we assume proper region growth of the daughThe algorithm to compute the straight line central axis ter branches such that the centroid points lie close to the tree involves two phases of region growing of the bronchial branch axis. By using the centroid points of these daughter branches, we compute the intersection point C and tree volume. two unit direction vectors r1 and r2 (starting from C) that lie along the axis of the respective daughter branches by S running the non-linear program i.e. the 2 ? cluster problem (discussed in next section). We project C onto the base line L obtained by joining the projections of centroid points of the last voxel sets of the two daughter branches onto r1 and r2 respectively. Let D be the projected point. The best initial direction to grow the parent branch is determined by the ray r3 that originates from L, goes through C, and passes the maximum length through the tree volume. In order to compute r3, we discretize L Top-Down and shoot rays starting from L that pass through C and Bottom-Up measure their length from C. r3 acts as the normal to the initial plane P that passes through C and this P is used Figure 1: Two phases of region growth of CAA to grow the parent branch. By starting from P, we avoid region growth at branch bifurcations, thereby, computing accurate centroid points for the parent branch. Note In the rst phase, we use a recursive region growing that P may not necessarily be perpendicular to the axis procedure to go down the tree volume. As we traverse of the branch, and therefore, we rene P to obtain a new down the tree volume, we obtain the branching informa- plane P that satises this criteria, by performing a local tion of the bronchial tree by constructing the topological correction as follows: tree T (Figure 1). The nodes in T correspond to branches Assuming r3 as the current direction, we region grow 2 Central Axis Algorithm (CAA) 0 0 0 (Topological Tree with Nodes & Edges Embedded) (Region growth avoiding branch junctions) 0 2 Cluster 1 Final Plane Initial Plane Cr r1 u1 2 C j ( (p - C) i p u i)u j i i u3 u2 D ui (p j - C) i C (Minimize dott ed line distance) Daughter 1 Daughter 2 Cluster 2 Cluster 3 Figure 2: Direction of growth for parent branch (X rep- Figure 3: 3-Cluster problem at a branch junction (X represents centroid point) resents input point) the parent branch from P, computing the centroids of ( denotes dot product) each of the voxel sets. We obtain the new plane P by computing the direction vector r4 that best ts the cenk M troids of these new voxel sets and use r4 as the normal to Minimize k(pji ? C) ? ((pji ? C) uj )uj k2 P passing through C. As in the rst phase, we maintain j =1 i=1 the same information in T i.e. centroids, as we go up the tree volume. subj: to kuj k2 ? 1 = 0 8j = 1; : : :; k After the completion of second phase, at each bifurcation, the branch point and the three direction vectors The above formulation can be simplied as follows: along the branches are computed, by formulating it as a 3 ? cluster problem (described in next section) that k M j minimizes the least square error of the centroid points k(pi ? C)k2 ? ((pji ? C) uj )2 Minimize (obtained from second phase) corresponding to that j =1 i=1 branch. By connecting the appropriate branch points with straight lines using the topological tree T, we obsince kuj k2 = 1 tain a straight line central axis tree. Note that if C is xed, then the above problem reduces 2.2 Optimization Problem to Compute to minimizing k independent subproblems, each with just one eigenvalue computation corresponding to the direcBranch Points tion vector of the points in a cluster. If the uj 's are xed, Let M1 ; M2; : : :; Mk be the number of points in each of then the above problem reduces to a unconstrained minthe k clusters respectively. Let pji correspond to the ith imization of a convex quadratic function which can be point of the j th cluster. In the case of bronchial trees, solved via the solution of a linear system of equations. we have three clusters, one corresponding to the parent The approach taken to solve the above problem involves branch and the other two corresponding to the daughter computing the eigenvalues and eigenvectors (i.e. uj 's) branches (Figure 3). Hence, we use this problem as a for all the clusters independently, and using them as an special case, when k 3. Moreover, the points in a cluster initial estimate to solve for C. Now, C is used as initial are the centroid points (obtained in second phase) of a estimate to rene uj 's, and the algorithm iterates back node of the topological tree T which in turn correspond and forth until convergence is obtained. The convergence to estimated axial points of a branch of the bronchial tree. of this method depends on how well the centroid points lie We dene the k ? cluster or k ? star problem as follows: along the axis of the branch. In terms of CAA, we run the Given a group of k disjoint clusters in three di- above problem as 2 ? cluster and 3 ? cluster subroutines mensional space, nd a center point C and k unit at each of the branch junctions with the centroid points direction vectors u1; u2; : : :; uk emanating from C at each branch being the input points of each cluster. such that the Euclidean perpendicular distance from the points in cluster i to its direction vector ui is minimized and this is summed over all clusters i = 1; 2; : : :; k. Results from running the central axis algorithm on both We formulate it as the following non-linear program : airway tree and vascular tree data sets of a static dog XX 0 j 0 XX j 3 Results 3 lung obtained from HRCT are depicted in Figures 5 and 6 with the central axes superimposed on the corresponding tree volumes. The superimposition cannot be seen very clearly because of grayscale images. The vascular trees have curved branches when compared to airway trees. But, we approximate their branch axes as straight lines in order to compute measurements. We obtained measurements in terms of branch angles, branch lengths and diameters from these central axis trees. The 3-cluster subroutine used in branch point computation converged quite well because of accurate centroid points obtained from CAA. central axis for the bronchial trees. Since there are no standard tools to measure the performance of our algorithm or verify its correctness, except, through subjective assessments, we decided to run our algorithm on 3D tree models that simulate bronchial trees [7]. While this by no means is a formal verication of our algorithm, it is an improvement over previous methods [3, 4] as one can perform error analysis on these simplied tree models. In order to generate simulated data of bronchial trees, we use the physiological information of these trees i.e. the average branch length to diameter (L/D) ratios and the branch angles [1]. As a rst approximation to bronchial trees, our models generate 3D trees with regular and tapered cylindrical branches. The 3D stick model is input to the model generator [7]. The input is in the form of a binary tree (ground truth central P2 Branch point P2 from B2 axis) with each segment of the stick model containing the Bifurcation B1 P1 3D coordinates of the endpoints, and the radius of that Branch Point P1 from B1 branch segment. Given the segment information, we traBifurcation B2 verse the tree, and dilate each of the segments by the corresponding radius, thereby, generating a branch. In the case of leaves, we let the radius linearly taper to zero along the length of the segment. The time required to build the 3D tree model is linearly proportional to the Topological Tree embedded Central Axis Tree without Heuristic number of voxels that fall into the tree volume. We also computed the average absolute percent errors in terms of the branch lengths (AESL) and branch angles (AEBA) on the central axis trees computed from CAA, both for ideal and noisy tree models. Let M1 and M2 be the number of branches and number ofi branch angles respectively, in the tree model. Let SLI represent segment length of the ithth segment and BAI i represent the branch angle of the i bifurcation with respect to ground i represent truth central axis. Similarly, let SL the segCentral Axis Tree using Heuristic : Dark lines are central axes from subtrees ment length of the ithth segment and BAi represent the Figure 4: Small twigs cause problems with central axis branch angle of the i bifurcation computed from CAA. jxj refers to the absolute value of x. We compute AESL and AEBA as follows: Sometimes we come up with the situation where small M1 twigs emanate from the main tree trunk and cause disAESL = ( ((jSLi ? SLI i j=SLI i ) 100))=M1 crepancy in central axis tree as illustrated in Figure 4. i=1 Since, we use the ordering of the topological tree T in connecting branch points, it is possible for a branch point M2 P1 to be a parent of branch point P2 even though the ((jBAi ? BAI i j=BAI i ) 100))=M2 AEBA = ( bifurcation region B1 corresponding to P1 is "below" the i=1 bifurcation region B2 corresponding to P2 in T. Note that, though CAA obtains correct branch angle compu- We ran CAA on 5 dierent simulated bronchial tree modtation at these bifurcations, the way we join the branch els with approximately 30 branches and the results are points using T, results in a kink in the central axis tree. shown in Table 1. The trees # 1 and # 4 have all possiTo circumvent this, we rst obtain the central axis of ble types of branching angles, whereas tree # 2 has symthe main bronchial tree, discarding subtrees with small metric branching (regular dichotomy), and tree # 3 has branches. Then, we compute the central axes for these predominantly 90 degree branching angles between the subtrees separately and append them to the main cen- daughter branches. Tree # 5 has branching types of trees tral axis as in Figure 4. We use a simple heuristic based # 2 and # 3 combined. N1 and N2 correspond to noisy on the cross sectional area of the branches to distinguish data sets with approximately 10 and 20 percent increase small branches from the main branches. If one of the in volume with respect to IDEAL tree volume. The noise daughter branches has a very small cross-sectional area is additive, and is obtained by adding new voxels ranwhen compared to the other daughter, then the subtree domly to the boundary of the IDEAL tree volume. The emanating from the smaller daughter is discarded and AEBA and AESL are quite small for IDEAL trees and processed later. This results in a cleaner, more proper they increase with noise. For the sake of brevity, we have X X 4 TREE # TYPE 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 IDEAL N1 N2 IDEAL N1 N2 IDEAL N1 N2 IDEAL N1 N2 IDEAL N1 N2 solve the k ? cluster problem and Jim Williams for providing image utility routines. AESL AEBA 4.5 7.25 6 2.2 2.35 5.1 6.5 6.1 8.5 4.6 6.3 5.1 1.7 2.5 2.9 0.43 4 3.8 1.4 1.5 3.5 6.4 9.5 10.5 0.5 4.5 4.0 1.0 4.0 1.6 6 References [1] E.R. Weibel, \Lung Morphometry and Models in Respiratory Physiology," Respiratory Physiology An analytical Approach Editors : Chang, Paiva. [2] J.R. Hammersley and D.E. Olson, \Physical models of the smaller pulmonary airways ," Journal of Applied Physiology, Vol. 72, pp. 2402-2414, 1992. [3] S. Wood, J. Hoford et al, \A method for measurement of cross sectional area, segment length and branching angle of airway tree structures in situ," Journal of computerized medical imaging and graphics, Vol. 19, pp. 145-152, 1995. [4] S. Wood, \Analysis of 3 dimensional lung structures during ination using Computed Tomography," Ph.D thesis, School of Hygiene and Public Health, Johns Hopkins University, Aug. 1994. [5] S. Wood, J. Hoford , W. Mitzner et al, \Quantitative 3D reconstruction of airway and vascular trees using HRCT, "SPIE conference on medical imaging, Vol. 1905, pp. 316-322, 1993. [6] C. Pisupati, L. Wol, \Correspondence of bronchial tree structures,"Johns Hopkins University Tech. Report, 1995. [7] C. Pisupati, L. Wol et al, \Computer models for computation and verication of bronchial morphology,"SPIE conference on medical imaging, Vol.2433, 1995, in print. [8] W.E. Higgins and W.J.T. Spyra,\Automatic analysis system for three dimensional angiograms,", SPIE proc. in Image Processing, Vol. 1445, pp. 276286, 1991. [9] S. Lobregt, P.W. Veerbeek et al, \Three dimensional skeletonization : principle and algorithm," IEEE Trans. Pattern Anal. Machine Intelligence., PAMI-2, Vol.1, pp. 75-77, 1980. [10] J. Mukherjee, B.N. Chatterji et al, \Thinning of 3-D images using Safe point thinning algorithm," Pattern Recognition letters, Vol. 10, pp. 167-173, 1989. [11] J.K. Udapa, \Interactive segmentation and boundary surface formation for digital images,"Computer Graphics and Image Processing Vol. 18, pp. 213235, 1982. [12] G.T. Herman, H.K. Liu,\Display of threedimensional informationin computed tomography," Journal of Computer Assisted Tomography, Vol.1, pp155-160, 1977. Table 1: Average absolute percent errors in branch lengths and branch angles for 5 dierent tree models with and without noise just shown one 3D tree model along with ground truth central axis and central axis computed from CAA superimposed in Figure 7. These two central axes almost overlap each other and are dicult to distinguish in Figure 7. 4 Conclusions We designed a robust central axis algorithm for bronchial trees on which we can perform physiological measurements. We also ran the CAA on 3D tree models and compared its performance with ground truth. Central axis trees can be viewed as representations which help us in corresponding bronchial trees at various stages of breathing. They can also be used as a clinical tool to distinguish physiological characteristics of a diseased lung from a normal lung. Currently, our branch point computation is local in that it uses the information provided by the three branches at the bifurcation and does not aect the branch point computations at adjacent branch junctions. The advantage is that potential error at one branch point does not aect neighboring branch point computations. But, in reality, neighboring branches could aect branch point computation. Hence, we plan to use the central axis obtained from CAA as an initial estimate to formulate a global non-linear optimization problem (variables being branch points) to solve for the central axis of the entire tree volume and compare its solution with the CAA. Also, we would like to perform a rigorous error analysis with model data, in computing the physiological parameters. 5 Acknowledgements We thank Dr. Susan Wood, Kumar Ramaiyer and Jim Williams for some useful discussions. Thanks to Dr. Ramana Motakuri for providing the non-linear software to 5 Figure 5: Airway tree, central axis and their superposition at a pressure of 5cm H2O Figure 6: Vascular tree (veinous), central axis and their superposition at a pressure of 20cm H2O Figure 7: 3D tree model, computed central axis, and superimposition of 3D model, computed central axis and ground truth central axis 6
© Copyright 2026 Paperzz