A Central Axis Algorithm for 3D Bronchial Tree Structures 1

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