An interactive 3D visualization and manipulation tool for effective

0 downloads 0 Views 522KB Size Report
This paper presents IVM, an Interactive Vessel Manipulation tool that can help ... volumes collected in CTA studies often have a relatively high resolution. ... In addition, tracing a desired ROI in each single image slice is not an easy and trivial task, even ..... After setting the threshold using the IVM visualization component, ...
An interactive 3D visualization and manipulation tool for effective assessment of angiogenesis and arteriogenesis using computed tomographic angiography Li Shena,c , Ling Gaob , Zhenwu Zhuangb , Ebo DeMuinckb , Heng Huangc , Fillia Makedonc , and Justin Pearlmanb a Image

and Pattern Analysis Laboratory, Department of Computer and Information Science, University of Massachusetts Dartmouth, North Dartmouth, MA 02747, USA b Angiogenesis Research Center, Departments of Radiology and Cardiology, Dartmouth Medical School, Lebanon, NH 03756, USA c Dartmouth Experimental Visualization Laboratory, Department of Computer Science, Dartmouth College, Hanover, NH 03755, USA ABSTRACT

This paper presents IVM, an Interactive Vessel Manipulation tool that can help make effective and efficient assessment of angiogenesis and arteriogenesis in computed tomographic angiography (CTA) studies. IVM consists of three fundamental components: (1) a visualization component, (2) a tracing component, and (3) a measurement component. Given a user-specified threshold, IVM can create a 3D surface visualization based on it. Since vessels are thin and tubular structures, using standard isosurface extraction techniques usually cannot yield satisfactory reconstructions. Instead, IVM directly renders the surface of a derived binary 3D image. The image volumes collected in CTA studies often have a relatively high resolution. Thus, compared with more complicated vessel extraction and visualization techniques, rendering the binary image surface has the advantages of being effective, simple and fast. IVM employs a semi-automatic approach to determine the threshold: a user can adjust the threshold by checking the corresponding 3D surface reconstruction and make the choice. Typical tracing software often defines ROIs on 3D image volumes using three orthogonal views. The tracing component in IVM takes one step further: it can perform tracing not only on image slices but also in a 3D view. We observe that directly operating on a 3D view can help a tracer identify ROIs more easily. After setting a threshold and tracing an ROI, a user can use IVM’s measurement component to estimate the volume and other parameters of vessels in the ROI. The effectiveness of the IVM tool is demonstrated on rat vessel/bone images collected in a previous CTA study. Keywords: Computed tomographic angiography, 3D surface visualization, region of interest, vessel extraction

1. INTRODUCTION Computed tomographic angiography (CTA) has been used to investigate therapeutic arteriogenesis of local fresh bone marrow cell (FBMC) in a rat ischemia hindlimb model.1, 2 One key component in the assessment process is to localize a region of interest (ROI) and quantify arteriogenesis in such an ROI. In our previous study,1, 2 the Vitrea 2 software3 is used to create a 3D volume visualization of an image stack, which aims to provide some hints for an expert to define an ROI by tracing each 2D slice of the stack. In the quantification step, a modified ImageJ software4 is used by a technician to manually calculate the area of arteriogenesis in each 2D slice and Send correspondence to Li Shen. E-mails: [email protected], {ling.gao, zhenwu.zhuang, ebo.demuinck, heng.huang, fillia.makedon, justin.pearlman}@dartmouth.edu Copyright 2005 Society of Photo-Optical Instrumentation Engineers. This paper will be published in SPIE Medical Imaging 2005: Visualization, Image-Guided Procedures, and Display, Proc. 5744 and is made available as an electronic reprint (preprint) with permission of SPIE. One print or electronic copy may be made for personal use only. Systematic or multiple reproduction, distribution to multiple locations via electronic or other means, duplication of any material in this paper for a fee or for commercial purposes, or modification of the content of the paper are prohibited.

(a) binary object

(b) rendering using matlab command isosurface

Figure 1. (a) A binary volume B, whose surface is composed of a set of square faces. (b) Surface rendering of the same object B using matlab command “isosurface(B, 0.5)”, where undesired disconnectedness exists if either 18-connectivity or 26-connectivity is assumed.

then generate the final volume measure by summing up all the 2D areas. This is effective but time-consuming and tedious. In addition, tracing a desired ROI in each single image slice is not an easy and trivial task, even with a 3D visualization of the whole image volume available. In this work, we develop IVM, an Interactive Vessel Manipulation tool that can overcome the above problems. IVM is specifically designed to help make effective and efficient assessment of angiogenesis and arteriogenesis in CTA studies.

2. METHODS IVM consists of three fundamental components: (1) a visualization component, (2) a tracing component, and (3) a measurement component. The key technique behind these components is a simple and effective vessel/bone extraction algorithm based on isosurface construction. In this section, we first present this algorithm, and then describe the IVM system. 2.1. Fast algorithm for isosurface construction A gray-level image volume can be represented by a three dimensional matrix of intensity values. Each element of this matrix is called a voxel. We can use f (x, y, z) to describe such a matrix, where (x, y, z) specifies the voxel coordinates and f (x, y, z) specifies the voxel intensity. To visualize structures embedded in a 3D volume, isosurface construction is often used, where isosurfaces are surfaces within a volume that have the same parameter value. Isosurfaces can be extracted using simple thresholding approach as well as the standard Marching Cubes algorithm.5 Given a user-specified threshold, IVM creates a 3D surface visualization of vessel/bone structures after thresholding an image volume. Since vessels are thin and tubular structures, using standard isosurface extraction techniques (e.g., the Marching Cubes algorithm5 or the matlab routine) usually cannot yield satisfactory reconstructions; see Figure 1 for an example. To overcome this problem, IVM directly renders the surface of a derived binary 3D image set. Figure 1(a) shows a sample binary image rendered using this approach, where its surface is composed of a set of square faces. Note that our image volume has a relatively high resolution: its voxel size is 0.19 × 0.19 × 0.85 mm3 and its dimensions are 512 × 512 × 100. Thus, compared with more complicated vessel extraction and visualization techniques,6 rendering the binary image surface has the advantages of being not only effective but also simple and fast. 2.1.1. Concepts and notation We introduce some concepts and notation that will be used in the rest of the paper. Let Vf = {(x, y, z, f (x, y, z)) | x ∈ [1, n1 ], y ∈ [1, n2 ], z ∈ [1, n3 ]}

z+0.5

g

h

f

e

z

z−0.5 y+0.5

c

d a y y−0.5 x−0.5

b x

x+0.5

Figure 2. Voxel (x, y, z), its corners, and faces.

be an n1 × n2 × n3 data volume, where f (x, y, z) specifies the intensity value of voxel (x, y, z). Let S = {(x, y, z) | x ∈ [1, n1 ], y ∈ [1, n2 ], z ∈ [1, n3 ]} be the space of voxel (integer) coordinates for Vf . For convenience, in this paper, we use Vb to denote a binary volume, where b(x, y, z) is a binary function defined on S; and use Vf to denote a gray-level intensity volume, where f (x, y, z) takes integer values between 0 and 255. We interpret each voxel (x, y, z) ∈ S as a cube extending from x − 0.5 to x + 0.5, y − 0.5 to y + 0.5, and z − 0.5 to z + 0.5. Thus, all possible voxel corners can be collected into a vertex set C = {(x − 0.5, y − 0.5, z − 0.5) | x ∈ [1, n1 + 1], y ∈ [1, n2 + 1], z ∈ [1, n3 + 1]}. We index each voxel corner (x − 0.5, y − 0.5, z − 0.5) ∈ C as I(x − 0.5, y − 0.5, z − 0.5) = (x − 1) ∗ (n2 + 1) ∗ (n3 + 1) + (y − 1) ∗ (n3 + 1) + z. This indexing scheme creates a bijective mapping between C and [1, (n1 + 1) ∗ (n2 + 1) ∗ (n3 + 1)]. Now based on the complete set C of voxel corner vertices and the indexing scheme I, for each voxel (x, y, z) ∈ S, we can define its six faces as follows (see Figure 2): left(x, y, z) = (a, e, h, d) right(x, y, z) = (c, g, f, b) bottom(x, y, z) = (a, d, c, b) top(x, y, z) = (e, f, g, h) front(x, y, z) = (a, b, f, e) rear(x, y, z) = (c, d, h, g)

,

where

a = I(x − 0.5, y − 0.5, z − 0.5) b = I(x + 0.5, y − 0.5, z − 0.5) c = I(x + 0.5, y + 0.5, z − 0.5) d = I(x − 0.5, y + 0.5, z − 0.5) . e = I(x − 0.5, y − 0.5, z + 0.5) f = I(x + 0.5, y − 0.5, z + 0.5) g = I(x + 0.5, y + 0.5, z + 0.5) h = I(x − 0.5, y + 0.5, z + 0.5)

For simplicity, we use surface(Vb ) to denote the surface of a binary volume Vb . Let Vf be our input CTA scan, which is a 3D intensity volume. Let Vft be the result of thresholding Vf using threshold t, and so Vft is a binary image. Thus, one task of the IVM tool is to visualize surface(Vft ) for each possible t efficiently enough so that one can use IVM to interactively select an appropriate threshold for best visualization and segmentation of a structure. To achieve this goal, we first present a simple surface extraction algorithm for a binary volume and then propose an efficient algorithm for extracting all the isosurfaces from a 3D image by varying the threshold (i.e., isovalue). Note that the object voxels touching the border of the data volume often require a special treatment. Therefore, in this study, we make sure that all border voxels belong to the background by padding additional background layers to the volume if necessary. Therefore, in the rest of this paper, we only need to consider voxel coordinates x from 2 to n1 − 1, y from 2 to n2 − 1, and z from 2 to n3 − 1. For convenience, we use Sinterior = {(x, y, z) | x ∈ [2, n1 − 1], y ∈ [2, n2 − 1], z ∈ [2, n3 − 1]} to denote the set of these voxel coordinates.

Algorithm 1 Surface extraction for a binary object Input: Binary image Vb Output: surf ace = surface(Vb ) Begin 1: surf ace = ∅ 2: for each voxel (x, y, z) ∈ Sinterior such that b(x, y, z) = 1 do 3: if b(x − 1, y, z) = 0 then S 4: surf ace = surf ace {left(x, y, z)} 5: if b(x + 1, y, z) = 0 then S 6: surf ace = surf ace {right(x, y, z)} 7: if b(x, y − 1, z) = 0 then S 8: surf ace = surf ace {front(x, y, z)} 9: if b(x, y + 1, z) = 0 then S 10: surf ace = surf ace {rear(x, y, z)} 11: if b(x, y, z − 1) = 0 then S 12: surf ace = surf ace {bottom(x, y, z)} 13: if b(x, y, z + 1) = 0 then S 14: surf ace = surf ace {top(x, y, z)} 15: return surf ace End 2.1.2. Surface extraction for a binary volume Given a 3D binary image Vb , it is easy to construct its surface. Algorithm 1 shows a straightforward approach for surface construction of a binary object. Note that some notation used in Algorithm 1 is defined in Section 2.1.1. The correctness of Algorithm 1 is obvious, since the surface of a binary object can be defined as a set of all the square voxel faces whose two incident voxels are different. Algorithm 1 organizes the four nodes of each voxel face on the surface mesh in a counterclockwise order if one looks at it from the outside. We use matlab to implement Algorithm 1. Although a for-loop is involved in the description of Algorithm 1, it is easy to see that different iterations of the loop (i.e., Lines 3-14 ) can actually run in parallel. This is because each iteration corresponds to the processing of a single different voxel. Thus, in our implementation, we do not need to use any for-loop, which is known very inefficient in matlab. Instead, we use vector and matrix operations to achieve a much better performance. In addition, a surface structure is usually defined by a set of vertices and a set of faces. Using a complete set of all voxel corners as the vertex set for a surface, it is enough for Algorithm 1 to focus only on the creation of faces. In the actual implementation, we can employ a sparse vector to denote if a vertex index (∈ I) is used in the final surface(Vb ); and then use this information to remove unnecessary vertices when rendering the surface. 2.1.3. Surface extraction for an intensity volume As mentioned before, the surface visualization strategy employed in IVM aims to allow adjustable thresholds. Thus, given a 3D intensity image Vf , IVM should be able to extract its isosurfaces for all possible thresholds (i.e., isovalues). Given a user-specified threshold t, one naive solution to visualize the desired isosurface is to first threshold Vf using t, and then use Algorithm 1 to construct the surface for binary object Vft . However, since our CTA scans are large-scale image volumes (with dimensions of 512×512×100), as reported later, the average running time (± standard deviation) for creating a single isosurface for a typical image volume is 27.8 ± 0.4 seconds. This is obviously not ideal for an interactive system. Using an alternative offline method, we need 7074 seconds (1.96 hours) to create all possible isosurfaces for that image volume. Therefore, the above naive solution is relatively inefficient. In order to accelerate the generation of isosurfaces for all the isovalues, we introduce a simple but effective data structure and then present an efficient rendering algorithm based on the structure.

The key observation for our algorithm is that the surface of Vft is composed of exactly all the square voxel faces u that satisfy the following condition: f (x1 , y1 , z1 ) < t ≤ f (x2 , y2 , z2 ), where (x1 , y1 , z1 ) and (x2 , y2 , z2 ) are two incident voxels of u. In other words, we have surface(Vft ) = {u | f (x1 , y1 , z1 ) < t ≤ f (x2 , y2 , z2 ), vinci (u) = {(x1 , y1 , z1 ), (x2 , y2 , z2 )}, u ∈ all voxel faces}, where vinci (u) is the set of two incident voxels of u. With the above observation, we develop a data structure that enables efficient findings of neighboring voxel values. Thus, we can make full use of efficient vector and matrix operations provided by matlab and avoid the use of expensive for-loops. This data structure consists of six additional 3D volumes, flef t , fright , ff ront , frear , fbottom , ftop , which store the neighboring voxel values for six different directions respectively: flef t (x, y, z) = f (x − 1, y, z) fright (x, y, z) = f (x + 1, y, z) ff ront (x, y, z) = f (x, y − 1, z) frear (x, y, z) = f (x, y + 1, z) fbottom (x, y, z) = f (x, y, z − 1) ftop (x, y, z) = f (x, y, z + 1) where (x, y, z) ∈ Sinterior . Since most of voxel values in our CTA scans are zeros, we can use a sparse vector to store each of these 3D volumes to save space and time costs. Now we can present Algorithm 2, which extracts all possible isosurfaces for a 3D image volume. The precomputation of flef t , fright , ff ront , frear , fbottom , ftop enables possible parallel processing of iterations of the inner for-loop (i.e., Lines 5 − 16). Thus, the inner for-loop can be replaced by some vector and matrix operations in a matlab implementation to improve the performance. Therefore, only the outer for-loop is needed in the implementation for creating all the isosurfaces for a 3D volume. Using Algorithm 2, IVM can create these isosurfaces in two different manners: (1) run Algorithm 2 offline, store the results, and load the results when necessary; and (2) create any desired isosurface on the fly when the tool is being used. 2.2. IVM system and components The IVM system contains three parts: (1) a visualization component, (2) a tracing component, and (3) a measurement component. Using these components, IVM can perform the following tasks: • Interactive selection of an appropriate threshold for semi-automatic segmentation of structures of interest in a 3D image volume, where the selection is supported by a 3D surface reference model. • Determination of a region of interest (ROI) in a 3D volume by performing tracing in a 3D view and/or on a set of 2D image slices. • Volume assessment for task-relevant structure parts constrained by an ROI. Although IVM is originally designed for effective assessment of arteriogenesis using computed tomographic angiography, it is a general 3D image visualization and manipulation tool that can also be applied to other computer vision and medical image analysis problem. Figure 3 shows the interface of the IVM system, which includes a control panel (a), a 3D surface viewer (b), and an image stack browser (c). The rest of this section provides a brief description of the IVM functionalities.

Algorithm 2 Extracting all possible isosurfaces for a 3D image volume Input: 3D image volume Vf Output: surf acet = surface(Vft ), for all 0 < t < 255 Begin 1: Compute flef t , fright , ff ront , frear , fbottom , ftop 2: for t = 1; t < 255; t + + do 3: surf acet = ∅ 4: for each voxel (x, y, z) ∈ Sinterior do 5: if flef t (x, y, z) < t ≤ f (x, S y, z) then 6: surf acet = surf acet {left(x, y, z)} 7: if fright (x, y, z) < t ≤ f (x, S y, z) then 8: surf acet = surf acet {right(x, y, z)} 9: if ff ront (x, y, z) < t ≤ fS (x, y, z) then 10: surf acet = surf acet {front(x, y, z)} 11: if frear (x, y, z) < t ≤ f (x, S y, z) then 12: surf acet = surf acet {rear(x, y, z)} 13: if fbottom (x, y, z) < t ≤ fS(x, y, z) then 14: surf acet = surf acet {bottom(x, y, z)} if ftop (x, y, z) < t ≤ f (x,Sy, z) then 15: 16: surf acet = surf acet {top(x, y, z)} 17: return surf ace1 , surf ace2 , ..., surf ace254 End

Volume = 60.004687 mm3 (t=220) 0 50 100 150 200 250 300 350 400 450 500 0

(a) Control panel

(b) Surface viewer

100

200 300 Slice 55/100

400

(c) Image viewer

Figure 3. IVM interfaces: (a) control panel, (b) surface viewer, (c) image viewer.

500

2.2.1. Surface and image visualization Visualization is a basic functionality of the IVM system. IVM is designed for processing high resolution 3D image volumes, and it can visualize a 3D volume using both an image viewer (Figure 3(c)) and a surface viewer (Figure 3(b)). The image viewer displays axial slices one at a time, and the image slider in the control panel (Figure 3(a)) can be used to select different axial slices. The surface viewer displays the surface of a thresholded volume using the current threshold setting. The threshold slider in the control panel can be used to adjust the threshold. Accordingly, the 3D surface visualization is updated in the surface viewer. The new surface can be either loaded from a pre-computed file or computed on the fly. The “Create” button in the control panel can be used to create pre-computed surfaces and save them in a file. Using the surface threshold slider, one can interactively evaluate the surface rendering results and pick the most appropriate threshold value for the extraction of structures of interest (vessels and bones in this study). In the surface viewer, one can rotate the 3D visualization to select a satisfactory viewing angle. Users can define an ROI using either the 3D surface viewer or the 2D image viewer. The ROI boundary is displayed in a different color (e.g., green in Figure 3). For the 3D surface viewer, if one clicks “Preview(3D)” button in the control pattern, the structure within the ROI will be rendered in a different color (e.g., green in Figure 3(b)). This helps one determine if his/her definition of the ROI is appropriate. 2.2.2. Interactive tracing After setting the threshold using the IVM visualization component, a satisfactory segmentation result of the structure of interest in the 3D volume is available. Now the next step is to define an ROI in the 3D space to localize task-relevant structure parts. Typical tracing softwares (e.g., CTMRedit7 and TROI8 ) usually define ROIs on 3D image volumes using three orthogonal views. The tracing component in IVM takes one step further: it can perform tracing not only on image slices but also in a 3D surface view. We observe that directly operating on a 3D view can help a tracer identify ROIs more easily. The tracing functionality on image slices is standard. One can define a 2D contour on each slice, and a series of these contours from all the slices form the surface model of an ROI. We observe that, for a few neighboring slices, their ROI traces are often very similar. Thus, to avoid tracing each individual slice and save duplicated efforts, the IVM control panel provides “Copy 2D ROI” button, whose functionality is to copy the ROI on the current slice to a set of user-specified image slices. For tracing in a 3D surface view, several standard views (e.g., axial, coronal, sagittal) are provided by a popup menu in the control panel. Using this menu, one can select to trace on the xy (axial), yz (coronal), or zx (sagittal) plane; or directly rotate the 3D surface to find an appropriate view for tracing. In this study, we use the coronal view to define an ROI. The tracing results on coronal view put constraints on y and z, but not on x. If additional tracing is performed on the xy or zx planes of a 3D view, more constraints on x, y and z values can be placed on the ROI. To introduce more flexibility, an ROI can be projected onto each 2D image slice. For example, Figure 3(b) shows an ROI in a 3D view, and Figure 3(c) shows the projection of this ROI onto a 2D slice. If necessary, each ROI on a 2D slice can be adjusted by re-tracing the 2D image slice. 2.2.3. Effective measurement After setting a threshold and tracing an ROI, a user can use the IVM’s measurement component to estimate the volume of vessels in the ROI. For example, the title part of Figure 3(c) shows the estimated volume for the structure parts inside the ROI, which are those green vessels shown in Figure 3(b). The future extension of IVM will be able to estimate multiple other parameters such as vessel diameter distributions and fractal dimensions. The effectiveness of the measurement depends on a good selection of the threshold and an accurate definition of the ROI. IVM aims to achieve both goals. On one hand, IVM employs a semi-automatic approach to determine the threshold: a user can adjust the threshold by checking the corresponding 3D surface reconstruction and then pick the best one. On the other hand, IVM allows one to operate directly on a 3D view as well as traditional 2D image view, which can help a tracer identify ROIs more easily and effectively.

(a) Threshold = 100

(b) Threshold = 220

Figure 4. 3D surface visualizations of rat bones: (a) the threshold is set as 100; (b) the threshold is set as 220. Rat bones are extracted by thresholding its 3D image volume, where image intensity values range from 0 to 255. A user can adjust the threshold value to an appropriate one by checking its corresponding visualization.

3. RESULTS Rat vessel/bone images collected in our previous study1, 2 are used to demonstrate the functionalities of the IVM tool. Figure 4 shows 3D surface visualizations of rat bones using IVM. Rat bones are extracted by thresholding its 3D image volume, where image intensity values range from 0 to 255. Figure 4(a) and Figure 4(b) show two rendering results after setting the thresholds as 100 and 220, respectively. Using IVM, a user can adjust the threshold to an appropriate value by checking its corresponding surface visualization. The threshold slider in the control panel is used to adjust the threshold. Our fast isosurface construction algorithm, Algorithm 2, is used to construct the surface of a thresholded volume. This can be done in two ways: (1) the surface can be created on the fly when one is using the IVM tool; (2) all possible isosurfaces of a given volume can be created offline and thus one just need to load the results when using the IVM tool. In order to show that Algorithm 2 is efficient enough to allow interactive manipulation of the threshold, we have performed several experiments on a Dell Workstation PWS670 with a Xeon 3.00GHz CPU and 2.00GB of RAM, which is running WinXP Professional OS and Matlab version 7.0. In the experiments, a rat vessel/bone image stack is used and its resolution is 512 × 512 × 100. Both Algorithm 1 and Algorithm 2 are tested on this stack for extracting isosurfaces for all possible thresholds. Figure 5 shows the running times (a) and the numbers of vertices (b) and faces (c) in the resulting surfaces for all the experiments. The average running time (± standard deviation) for creating a single isosurface is 6.7 ± 0.4 seconds using Algorithm 2 and 27.8 ± 0.4 seconds using Algorithm 1. Clearly, it is quite feasible if we want to create the surface on the fly using Algorithm 2, while the performance of Algorithm 1 is intolerable in this case. If we employ the offline approach, the processing time for creating all possible isosurfaces in advance of interactive manipulation is 1712 seconds (28.5 minutes) using Algorithm 2, and it is 7074 seconds (1.96 hours) using Algorithm 1. After setting the threshold, an ROI needs to be traced to localize task-relevant structure parts. Figure 6 shows an example of tracing such an ROI on the yz plane of a 3D view: (a) the green contour defines the ROI by putting constraints on y and z values, and the vessel parts within the ROI are highlighted in green; (b) the ROI and the vessel surface are viewed from another angle. Note that both bones and vessels are visualized in these plots; and including bones in the visualization sometimes can help localize an ROI. In addition, tracing can also be performed on the xy and xz planes of a 3D view, and thus more contraints on x, y and z values can be placed on the ROI. To introduce more flexibility, an ROI can be projected onto each 2D image slice. For example, Figure 3(b) shows an ROI in a 3D view, and Figure 3(c) shows the projection of this ROI onto a 2D slice. If necessary, each

5

6

25

6

15 10 5

4 3 2

mean: 377316, std: 84288

1 50

100 150 threshold

200

(a) Running time

250

0

x 10

5 number of faces

20

0

5

x 10

5 Algorithm 1 Algorithm 2

number of vertices

running time (seconds)

30

4 3 2

mean: 377628, std: 84940

1 50

100 150 threshold

200

(b) Number of vertices

250

0

50

100 150 threshold

200

250

(c) Number of faces

Figure 5. Experimental results of isosurface creation: running times (a) of Algorithm 1 and Algorithm 2, number of vertices (b) and number of faces (c) in the resulting surface are shown on Y-axis, the threshold used in the experiment is shown on X-axis. A rat vessel/bone image stack is used in this experiment and its resolution is 512 × 512 × 100.

(a) Tracing an ROI on the yz plane of a 3D view

(b) View from another angle

Figure 6. Tracing an ROI on the yz plane of a 3D view in order to localize task-relevant vessel parts: (a) the green contour defines the ROI by putting constraints on the y and z values, and the vessel parts within the ROI are highlighted in green; (b) the ROI and the vessel surface are viewed from another angle. Note that both bones and vessels are visualized in these plots.

ROI on a 2D slice can be adjusted, since an ROI can also be defined by directly tracing 2D image slices. Figure 7 shows an example of defining an ROI by directly tracing a series of 2D image slices. After setting the threshold and tracing the ROI, the vessel volume can be assessed using the IVM measurement component. Compared with the previous process that uses the Vitrea 2 and the ImageJ softwares for vessel measurement, this new process using IVM can get matched or even better results using much less time. On a typical image stack, it takes at least 2 hours for a technician to measure the vessel volume for two sides of one rat using the ImageJ software. In addition, due to a lack of 3D visualization, we are not very sure if the tracing results using ImageJ are accurate enough. Using the IVM tool, we become more confident about our selection of task-relevant ROIs with the help of the 3D vessel model reference. Furthermore, the IVM tool can also help accelerate our process for vessel measurement. Now we only need about 30 minutes to measure two side vessels of one rat using IVM.

4. CONCLUSIONS The contribution of this work is the design and implementation of IVM, which is a semi-automatic tool for visualizing, extracting, manipulating, and measuring vessel/bone structures embedded in CTA image volumes. Extracting vessel/bone structures and defining ROIs are two key issues in this work. Although extensive work has been done on vessel extraction,6 most of studies are targeted at automatic segmentation that is a very difficult process. IVM employs an interactive and semi-automatic approach to perform vessel extraction by providing fast surface visualization to help a user select a threshold. In addition, IVM allows a user to trace ROIs not only on 2D image slices but also in a 3D view. To sum up, IVM is an interactive vessel manipulation tool that can help make efficient and effective assessment of angiogenesis and arteriogenesis in CTA studies.

ACKNOWLEDGMENTS This work was supported by the Flight Attendant Medical Research Institute.

REFERENCES 1. Z. Zhuang, L. Gao, M. Murakami, T. Sackett, and E. DeMuinck, “Dose fresh bone marrow cells augments arteriogenesis? — A 2D CT angiography and 3D reconstruction analysis in the rat hindlimb ischemia model,” JACC 43, p. 413A, 2004. 2. Z. Zhuang, L. Gao, M. Simons, M. A. Bettmann, J. D. Pearlman, T. Sackett, M. Murakami, and E. DeMuinck, “Multidetector row computed tomographic angiography with three-dimensional volume rendering: A novel tool for quantitative arteriogenesis in the rat hindlimb ischemia model,” Radiology, submitted , 2005. 3. Vital Images, Inc., “Vitrea 2 imaging software.” http://www.vitalimages.com/. 4. NIH, “ImageJ: Image processing and analysis in java.” http://rsb.info.nih.gov/ij/. 5. W. E. Lorensen and H. E. Cline, “Marching cubes: A high resolution 3D surface construction algorithm,” in Proceedings of the 14th Annual Conference on Computer Graphics and Interactive Techniques, pp. 163–169, ACM Press, 1987. 6. C. Kirbas and F. Quek, “A review of vessel extraction techniques and algorithms.” ACM Computing Surveys (in review). VISLab Report: VISLab-03-01, http://vislab.cs.wright.edu/review/extraction.html. 7. M. Hasegawa-Johnson, J. Cha, and K. Haker, “CTMRedit: a matlab-based tool for segmenting and interpolating MRI and CT images in three orthogonal planes,” in 21st Annual Int. Conf. of the IEEE/EMBS Society, (Atlanta, GA), October 1999. 8. L. Shen, L. Cheng, F. Teng, F. Makedon, J. Ford, T. Steinberg, and A. J. Saykin, “A multimedia system for tracing and studying regions-of-interest in brain images,” in IEEE Multimedia Technology and Application Conference, pp. 238–245, (Irvine, CA, USA), Nov. 7–9, 2001.

Slice 50/100 0 50 100 150 200 250 300 350 400 450 500 0

100

200

300

400

500

400

500

(b) Image slice 50

(a) 3D visualization of vessels Slice 75/100

Slice 100/100

0

0

50

50

100

100

150

150

200

200

250

250

300

300

350

350

400

400

450

450

500

500 0

100

200

300

(c) Image slice 75

400

500

0

100

200

300

(d) Image slice 100

Figure 7. Tracing an ROI on 2D image slices in order to localize task-relevant vessel parts: (a) 3D surface visualization of vessels, where vessel parts in the ROI are highlighted in green; (b–d) sample image slices (50, 75, 100) with ROI traces (i.e., green contours).

Suggest Documents