(~ ~ ComputerGraphics,Volume21, Number4, July 1987 MARCHING CUBES: A HIGH RESOLUTION 3D S U R F A C E C O N S T R U C T I O N A L G O R I T H M William E. Lorensen Harvey E. Cline General Electric Company Corporate Research and Development Schenectady, New York 12301 Abstract We present a new algorithm, called marching cubes, that creates triangle models of constant density surfaces from 3D medical data. Using a divide-and-conquer approach to generate inter-slice connectivity, we create a case table that defines triangle topology. The algorithm processes the 3D medical data in scan-line order and calculates triangle vertices using linear interpolation. We find the gradient of the original data, normalize it, and use it as a basis for shading the models. The detail in images produced from the generated surface models is the result of maintaining the inter-slice connectivity, surface data, and gradient information present in the original 3D data. Results from computed tomography (CT), magnetic resonance (MR), and single-photon emission computed tomography (SPECT) illustrate the quality and functionality of marching cubes. We also discuss improvements that decrease processing time and add solid modeling capabilities. acetabular fractures [6], craniofacial abnormalities [17,18], and intracranial structure [13] illustrate 3D's potential for the study of complex bone structures. Applications in radiation therapy [27,11] and surgical planning [4,5,31] show interactive 3D techniques combined with 3D surface images. Cardiac applications include artery visualization [2,16] and nongraphic modeling applications to calculate surface area and volume [21]. Existing 3D algorithms lack detail and sometimes introduce artifacts. We present a new, high-resolution 3D surface construction algorithm that produces .models with unprecedented detail. This new algorithm, called marching cubes, creates a polygonal representation of constant density surfaces from a 3D array of data. The resulting model can be displayed with conventional graphics-rendering algorithms implemented in software or hardware. Additional Keywords: computer graphics, medical imaging, surface reconstruction After describing the information flow for 3D medical applications, we describe related work and discuss the drawbacks of that work. Then we describe the algorithm as well as efficiency and functional enhancements, followed by case studies using three different medical imaging techniques to illustrate the new algorithm's capabilities. 1. I N T R O D U C T I O N . 2. I N F O R M A T I O N FLOW FOR 3D MEDICAL ALGORITHMS, CR Categories: 3.3, 3.5 Three-dimensional surfaces of the anatomy offer a valuable medical tool. Images of these surfaces, constructed from multiple 2D slices of computed tomography (CT), magnetic resonance (MR), and single-photon emission computed tomography (SPECT), help physicians to understand the complex anatomy present in the slices. Interpretation of 2D medical images requires special training, and although radiologists have these skills, they must often communicate their interpretations to the referring physicians, who sometimes have difficulty visualizing the 3D anatomy. Researchers have reported the application of 3D medical images in a variety of areas. The visualization of complex Permissionto copy without fee all or part of this material is granted provided that the copies are not made or distributedfor direct commercial advantage, the ACM copyright noticeand the title of the publicationand its date appear, and noticeis giventhat copyingksby permissionof the Associationfor Computing Machinery.To copy otherwise, or to republish,requires a fee and/or specificpermission. ¢~1 9 8 7 ACM-0-89791-227-6/87/007/0163 $00.75 Medical applications of 3D consist of four steps (Figure 1). Although one can combine the last three steps into one algorithm, we logically decompose the process as follows: 1. Data acquisition. This first step, performed by the medical imaging hardware, samples some property in a patient and produces multiple 2D slices of information. The,data sampled depends on the data acquisition technique. MData R SPECT.~.~/ C•'•CT Acquisition / Image I Processing I J Connectivity Mask Surface Value Booleans ode, "] Creation I Vie.,og t--.(Oi.p,ay I IOperati°?s/L------J Viewing Clipping Animation Figure 1. 3D Medical Information Flow. 163 ~ SIGGRAPH'87, Anaheim,July 27-31, 1987 X-ray c o m p u t e d t o m o g r a p h y (CT) m e a s u r e s t h e spatially varying X-ray a t t e n u a t i o n coefficient [3], C T i m a g e s show i n t e r n a l structure. F o r 3D applications, C T is freq u e n t l y u s e d to look at b o n e s t r u c t u r e , a l t h o u g h we h a v e h a d success visualizing soft tissue. M a g n e t i c r e s o n a n c e ( M R ) m e a s u r e s t h r e e physical properties [20]. O n e property is the d i s t r i b u t i o n o f " m o b i l e " h y d r o g e n nuclei a n d s h o w s overall s t r u c t u r e within t h e slices. T h e o t h e r two properties m e a s u r e r e l a x a t i o n t i m e s o f t h e nuclei. M R , a r e c e n t t e c h n i q u e , s h o w s excellent c o n t r a s t b e t w e e n a variety of soft tissues. However, t h e variety of surfaces p r e s e n t s a challenge to 3D surface c o n s t r u c t i o n a n d requires t e c h n i q u e s for selective surface e x t r a c t i o n a n d display. A t h i r d acquisition t e c h n i q u e , s i n g l e - p h o t o n e m i s s i o n c o m p u t e d t o m o g r a p h y (SPECT) m e a s u r e s t h e e m i s s i o n of g a m m a rays [24]. T h e s o u r c e o f t h e s e rays is a radioisotope d i s t r i b u t e d w i t h i n t h e body. [n a d d i t i o n to s t r u c t u r e , S P E C T can show the p r e s e n c e of b l o o d in s t r u c t u r e s with a m u c h lower dose t h a n that r e q u i r e d by CT. 2. Image processing. S o m e a l g o r i t h m s use image processing t e c h n i q u e s to find s t r u c t u r e s w i t h i n t h e 3D data [1,32,30,29] or to filter the original data. M R data, in particular, n e e d s image processing to select appropriate structure. 3. Surface construction. Surface c o n s t r u c t i o n , the topic of this paper, i n v o l v e s the creation of a surface m o d e l f r o m t h e 3D data. T h e m o d e l usually consists o f 3D v o l u m e e l e m e n t s (voxels) or polygons. U s e r s select the desired surface by specifying a density value, T h i s step can also include t h e creation o f cut or capped surfaces. 4. Display. H a v i n g created the surface, the final step displays that surface u s i n g display t e c h n i q u e s that include ray casting, d e p t h s h a d i n g , a n d color shading. 3. R E L A T E D WORK. T h e r e are several a p p r o a c h e s to t h e 3D surface g e n e r a t i o n p r o b l e m . A n early t e c h n i q u e [23] starts with c o n t o u r s of the surface to be c o n s t r u c t e d a n d c o n n e c t s c o n t o u r s o n c o n s e c u tive slices with triangles. U n f o r t u n a t e l y , if m o r e t h a n o n e c o n t o u r o f surface exists o n a slice, a m b i g u i t i e s arise w h e n d e t e r m i n i n g w h i c h c o n t o u r s to c o n n e c t [14]. I n t e r a c t i v e int e r v e n t i o n by the user can o v e r c o m e s o m e o f t h e s e a m b i g u i ties [8]; h o w e v e r , in a clinical e n v i r o n m e n t , user i n t e r a c t i o n s h o u l d b e kept to a m i n i m u m . A n o t h e r approach, d e v e l o p e d by G. H e r m a n a n d colleagues [19] creates surfaces f r o m cuberilles. A cuberille is " d i s s e c t i o n o f space into equal c u b e s (called voxels) by t h r e e o r t h o g o n a l sets of parallel planes [ 7 ] . " A l t h o u g h t h e r e are m a n y ways to display a cuberille m o d e l , the m o s t realistic images result w h e n t h e gradient, calculated f r o m cuberilles in a n e i g h b o r h o o d , is used to find the s h a d e o f a point on t h e m o d e l [15]. M e a g h e r [25] u s e s an octree r e p r e s e n t a t i o n to c o m p r e s s the storage o f t h e 3D data, allowing rapid m a n i p u lation a n d display o f voxels. Farrell [12] uses ray casting to find t h e 3D surface, b u t r a t h e r t h a n s h a d e t h e image with a gray scale, uses h u e lightness to display the surface. In a n o t h e r ray casting m e t h o d , H o h n e [22], after locating the surface a l o n g a ray, calculates t h e g r a d i e n t along the surface a n d uses this gradient, scaled 164 by an " a p p r o p r i a t e " value, to g e n e r a t e gray scales for the image. A different approach, used at the Mayo Clinic [26], displays t h e density v o l u m e r a t h e r t h a n t h e surface. This m e t h o d p r o d u c e s , in effect, a c o n v e n t i o n a l s h a d o w graph that can be viewed f r o m arbitrary angles. M o t i o n e n h a n c e s the t h r e e - d i m e n s i o n a l effect o b t a i n e d using the v o l u m e model. Each o f t h e s e t e c h n i q u e s for surface c o n s t r u c t i o n a n d display suffer s h o r t c o m i n g s b e c a u s e they t h r o w away useful inf o r m a t i o n in t h e original data. T h e c o n n e c t e d c o n t o u r algor i t h m s t h r o w away t h e inter-slice c o n n e c t i v i t y that exists in t h e original data. T h e cuberille a p p r o a c h , u s i n g t h r e s h o l d i n g to r e p r e s e n t the surface as blocks in 3D space, a t t e m p t s to recover s h a d i n g i n f o r m a t i o n f r o m the blocks. T h e ray casting m e t h o d s e i t h e r use d e p t h s h a d i n g alone, or try to approxi m a t e s h a d i n g with an u n n o r m a l i z e d gradient. Since they display all values a n d n o t j u s t t h o s e visible f r o m a g i v e n point of view, v o l u m e m o d e l s rely o n m o t i o n to p r o d u c e a three-dimensional sensation. O u r a p p r o a c h uses i n f o r m a t i o n f r o m the original 3D data to d e r i v e inter-slice c o n n e c t i v i t y , surface location, a n d surface gradient. T h e resulting triangle m o d e l can be displayed o n c o n v e n t i o n a l graphics disptay s y s t e m s using s t a n d a r d rendering algorithms. 4. M A R C H I N G CUBES ALGORITHM. T h e r e are two p r i m a r y steps in o u r a p p r o a c h to t h e surface c o n s t r u c t i o n p r o b l e m . First, we locate t h e surface c o r r e s p o n d i n g to a user-specified value a n d create triangles. T h e n , to e n s u r e a quality image of the surface, we calculate t h e n o r m a l s to t h e surface at each v e r t e x o f each triangle. Marching cubes uses a d i v i d e - a n d - c o n q u e r a p p r o a c h to locate the surface in a logical cube created f r o m eight pixels; four each f r o m two adjacent slices (Figure 2). T h e a l g o r i t h m d e t e r m i n e s h o w t h e surface intersects this c u b e , t h e n m o v e s (or marchs) to the n e x t cube. To find the surface i n t e r s e c t i o n in a cube, we assign a o n e to a c u b e ' s v e r t e x if the data value at t h a t v e r t e x e x c e e d s (or equals) the v a l u e of the surface we are constructing. T h e s e vertices are inside (or o n ) the s u r f a c e . C u b e vertices with values below the surface receive a zero a n d are outside the surface. T h e surface intersects t h o s e c u b e edges w h e r e o n e v e r t e x is outside the surface ( o n e ) a n d the o t h e r is inside the surface (zero). W i t h this a s s u m p t i o n , we d e t e r m i n e t h e topology of the surface within a cube, finding the location of t h e intersection later. / /<"J+I'"U { + , , ,+ Shee~ ~,~j . i pixel I Figure 2. Marching Cube. (~) ~ ComputerGraphics, Volume21, Number 4, July 1987 Since t h e r e are eight vertices in each cube a n d two slates, inside a n d outside, t h e r e are only 28 = 256 ways a surface can intersect t h e cube. By e n u m e r a t i n g t h e s e 256 cases, we create a table to look up surface-edge i n t e r s e c t i o n s , given the labeling o f a c u b e s vertices. T h e table c o n t a i n s the edges intersected for each case. v v v T r i a n g u l a t i n g t h e 256 cases is possible b u t tedious a n d e r r o r - p r o n e . Two different s y m m e t r i e s o f the c u b e reduce the p r o b l e m f r o m 256 cases to 14 patterns. First, the topology of t h e t r i a n g u l a t e d surface is u n c h a n g e d if the relationship of the surface values to the c u b e s is reversed. C o m p l e m e n tary cases, w h e r e vertices greater t h a n t h e surface value are i n t e r c h a n g e d with t h o s e less t h a n the value, are equivalent. T h u s , only cases with zero to four vertices greater than the surface value n e e d be c o n s i d e r e d , r e d u c i n g the n u m b e r o f cases to 128. U s i n g the s e c o n d s y m m e t r y property, rotational s y m m e t r y , we r e d u c e d the p r o b l e m to 14 p a t t e r n s by inspection. Figure 3 s h o w s the triangulation for the 14 patterns. w - _ A T h e simplest p a t t e r n , 0, occurs if all v e r t e x values are a b o v e (or below) the selected value a n d p r o d u c e s n o triangles. T h e n e x t pattern, 1, occurs if the surface separates o n v e r t e x f r o m t h e o t h e r s e v e n , resulting in o n e triangle defined by the t h r e e edge intersections. O t h e r p a t t e r n s produce multiple triangles. P e r m u t a t i o n of these 14 basic p a t t e r n s using c o m p l e m e n t a r y a n d rotational s y m m e t r y p r o d u c e s the 256 cases. W e create an index for each case, based o n the state of the vertex. U s i n g the vertex n u m b e r i n g in Figure 4, the eight bit i n d e x c o n t a i n s o n e bit for each vertex. This i n d e x serves as a pointer into a n edge table that gives all edge i n t e r s e c t i o n s for a given cube configuration. Figure 3. Triangulated Cubes. Using t h e index to tell which edge the surface intersects, we can interpolate the surface intersection along t h e edge. W e use linear interpolation, b u t h a v e e x p e r i m e n t e d with higher degree interpolations. Since the a l g o r i t h m p r o d u c e s at least o n e and as m a n y as four triangles per cube, t h e h i g h e r degree surfaces show little i m p r o v e m e n t o v e r linear interpolation. T h e final step in marching cubes calculates a unit n o r m a l for each triangle vertex. T h e r e n d e r i n g a l g o r i t h m s use this n o r m a l to produce G o u r a u d - s h a d e d images. A surface o f c o n s t a n t density has a zero gradient c o m p o n e n t along the surface tangential direction; c o n s e q u e n t l y , t h e direction o f the g r a d i e n t vector, 7, is n o r m a l to t h e surface. W e can use this fact to d e t e r m i n e surface n o r m a l vector, -~, if the magnitude of t h e gradient, ]gl, is n o n z e r o . F o r t u n a t e l y , at t h e surface o f interest b e t w e e n two tissue types of different densities, the g r a d i e n t vector is n o n z e r o . T h e g r a d i e n t vector, ~, is the derivative o f t h e density f u n c t i o n (1) ~(x,y,z) = x77"(x,y,z). v8S D ( i + l,.j,k) - D ( i - 1,.j,k) Ax (2) G>.(i,L h) = D(i,j-t- l, k) - D(i, ] - 1, k) Ay (3) ]) (4) = G:(i, Lk) = D ( i , j , k + l ) - D(i,j,k- Az ~(~v7 e3 0 e8 e6 ~2 04 v5 Y To e s t i m a t e the g r a d i e n t vector at the surface o f interest, we first e s t i m a t e the g r a d i e n t vectors at the c u b e vertices a n d linearly interpolate the gradient at the point of intersection. T h e g r a d i e n t at c u b e v e r t e x (i,.L k), is e s t i m a t e d using central differences along the t h r e e c o o r d i n a t e axes by: Gv(i,J k) oe7 index = i vsi v, I v8 v5 v, v31v21 v, I Figure 4. Cube Numbering. w h e r e D(L./, k) is the density at pixel (i,j) in slice k a n d Ax, Ay, Az are t h e l e n g t h s of t h e cube edges. D i v i d i n g t h e grad i e n t by its l e n g t h p r o d u c e s the unit n o r m a l at the v e r t e x required for rendering. W e linearly interpolate this n o r m a l to t h e point of intersection. N o t e that to calculate the g r a d i e n t at all vertices of t h e c u b e , we keep four slices in m e m o r y at o n c e . 165 ~ SIGGRAPH '87, Anaheim, July 27-31, 1987 In summary, marching cubes creates a surface from a three-dimensional set of data as follows: 1. Read four slices into memory. 2. Scan two slices and create a cube from four neighbors on one slice and four neighbors on the next slice. 3. Calculate an index for the cube by comparing the eight density values at the cube vertices with the surface constant. Reducing the slice resolution, by averaging four pixels into one, decreases the n u m b e r of triangles, improves the surface construction efficiency and smooths the image. Although there is some loss of detail in the averaged slices, the averaging makes the n u m b e r of triangles more manageable for high-resolution slices. 5.2 Functional Enhancements. 5. Using the densities at each edge vertex, find the surfaceedge intersection via linear interpolation. We have added a solid modeling capability to the algorithm. Boolean operations permit cutting and capping of solid models, as well as the extraction of multiple surfaces. In a medical application, cutting is analogous to performing surgery and capping (and texture mapping) is analogous to the medical imaging technique of reformatting. 6. Calculate a unit normal at each cube vertex using central differences. Interpolate the normal to each triangle vertex. We use the cube index described earlier to do Boolean operations on the surfaces. Here, just consider three values of the index: 4. Using the index, look up the list of edges from a precalculated table. 7. Output the triangle vertices and vertex normals. 5. E N H A N C E M E N T S TO T H E BASIC A L G O R I T H M . We have made several improvements to the original marching cubes that make the algorithm run faster and that add solid modeling capabilities. 5.1 E ~ c i e n c y Enhancements. The efficiency e n h a n c e m e n t s allow the algorithm to take advantage of pixel-to-pixel, line-to-line, and slice-to-slice coherence. For cubes interior to the original data limits (those not including slice 0, line 0, or pixel 0), only three new edges need to be interpolated for each cube. We can obtain the other nine edges from previous slices, lines, or pixels. In Figure 5, the shaded circles represent values available from prior calculations; only edges 6, 7, and 12 have to be calculated for the new cube. Special cases are present along the boundaries of the data, but, by enumerating these cases, we can limit vertex calculations to once per vertex. In practice, we only save the previous pixel and line intersections because the memory required to save the previous slice's intersections is large. Using the coherence speeds up the algorithm by a factor of three. index = 0 for cubes outside the surface. index = 255 for cubes inside the surface. 0 < index < 255 for cubes on the surface. Solid modeling uses these notions of inside, outside, and Analytic functions also provide the same information; so, for example the equation of a plane, ax + by + c z - d, tells where a given point lies with respect to the plane. Let - - S , 8S, and S represent sets of points that are outside, on, and inside a surface, respectively. Referring to Figure 6, we build a truth table, shown in Figure 7, for the Boolean intersection operation. on to create a surface. Nine entries in the .truth table describe what to do when two surfaces have a given index. With x's representing no operation, the entry for (S, - - P ) shows that the cube in question is inside one surface but outside the other, resulting in no triangles. The (8S, P) entry produces triangles from the S surface, while the (S, 8P) entry produces triangles from the P surface. The (8S, 8P) entry, created when a cube is on both surfaces, requires special processing. We clip -p C 7 e6 Figure 6. Point/Surface Relations. p ® y '-P dP S x x p -S x x x dS S x , × Figure 5. Coherence. 166 Figure 7. Truth Table. (~ ~ ComputerGraphics,Volume21, Number4, July 1987 each triangle from one surface against each triangle from the other, using the Sutherland-Hodgman clipping algorithm [281. This technique applies to any .surfaces that have inside/outside functions. We have used it with planes and with connectivity masks generated by separate image processing algorithms [9]. Application of a "logical or" truth table provides the capability for multiple surface extraction. We implement texture mapping by finding the triangles on a plane's surface and attenuating the normal's length using the original slice data. 6. I M P L E M E N T A T I O N . Marching cubes, written in C, runs on Sun Workstations x under Unix 2, V A X ' s under VMS 3, and an IBM 3081 under IX/3704. We display the models using an in-house z-buffer program or a General Electric Graphicon 7005 . For our models, the Graphicon displays at a rate of 10,000 triangles per second. In addition to surfaces of constant density, the software allows any number of planes that can be transparent, capped with triangles, or textured with interpolated density data. Medical practitioners refer to this texture mapping as reformatting. Execution times depend on the number of surfaces and resolution of the original data. Model creation times on a VAX 11/780 vary from 100 seconds for 64 by 64 by 48 SPECT data to 30 minutes for 260 by 260 by 93 CT studies. Times for the same studies on the IBM 3081 are twelve times faster. The number of triangles in a surface model is proportional to the area of the surface. This number can get large (over 500,000 in some cases), so we reduce it using cut planes and surface connectivity. Also, sometimes we reduce the resolution of the original data by filtering, producing a somewhat smoother surface with some loss of resolution. Figure 8. Bone Surface. 7. RESULTS. We have applied marching cubes to data obtained from CT, MR, and SPECT, as well as data generated from analytic functions, We present three case studies that illustrate the quality of the constructed surfaces and some modeling options. Each image was rendered at 512 by 512 resolution without antialiasing. Figure 9. Soft Tissue Surface. 7.1 Computed Tomography. The first case is a CT study of the head of a twelve year old male with a hole in the skull near the left side of the nose. The 93 axial slices are 1.5 m m thick, with pixel dimensions of 0.8 ram. This study by D.C. Hemmy, MD, of the Medical College of Wisconsin, illustrates the detail present in surfaces constructed by marching cubes. Figures 8 and 9 show the bone and soft tissue surfaces respectively. The tube in the patient's mouth is present to administer anesthetic during the scanning process. The soft tissue image shows fine detail that includes the patient's pierced ear and the impression of adhesive tape on the face. Although these details are not clinically significant, they do show the resolution present in the constructed surface. Figure 10 is a tilted view of the soft tissue surface that shows nasal and ear passages. In Figure 11, a sagittal cut, texture mapped with the original 1 2 3 4 5 Sun Workstation is a trademark of Sun Microsystems. Unixis a trademark of Bell Laboratories. VAX and VMS are trademarks of Digital Equipment Corporation IX/370 is a trademark of IBM. Graphicon is a trademark of General ElectricCompany. Figure 10. Soft Tissue, Top View. 167 ~ SIGGRAPH'87,Anaheim,July27-31,1987 Figure II. Sagittal Cut with Texture Mapping. CT data, shows the slice data in relation to the constructed surface. The bone surface contains 550,000 triangles while the soft tissue surface has 375,000. Figure 12. Rotated Sequence of Cut MR Brain. 7.2 Magnetic Resonance. The MR case of an adult male volunteer consists of 128 1.9 m m coronal slices. A 3D FT, flow compensated, fast sequence acquired the 128 slices in only 9 minutes. This pulse sequence, contrasting the unsaturated spins of the fresh blood flowing into the excited region of saturated spins, was produced by G. Glover of G E Medical Systems Group. Because of the complex anatomy present in the MR slices, we show, in Figure 12, the texture mapped cut surfaces intersected with the surface of the skin. Although the original slices are coronal, we show sagittal cuts to illustrate the algorithm's ability to interpolate texture on a cut plane. The largest surface model in the sequence contains 330,000 triangles, including triangles on the cut surface. 7.3 Single-Photon Emission Computed Tomography. The SPECT study consisting of 29 coronal slices of the heart shows the algorithm's performance on low resolution data. D. Nowak from G E Medical Systems provided the 64 by 64 pixel data. Figure 13, showing the surface of the blood pool in the diastolic heart, contains 5,000 triangles. The descending aorta is the large vessel in the left of the picture. 8. C O N C L U S I O N S . Marching cubes, a new algorithm for 3D surface construction, complements 2D CT, MR, and SPECT data by giving physicians 3D views of the anatomy. The algorithm uses a case table of edge intersections to describe how a surface cuts through each cube in a 3D data set. Additional realism is achieved by the calculation, from the original data, of the normalized gradient. The resulting polygonal structure can be displayed on conventional graphics display systems. Although these models often contain large n u m b e r s of triangles, surface cutting and connectivity can reduce this number. As CAD hardware increases in speed and capacity, we expect that marching cubes will receive increased use in practical, clinical environments. Recently construction points rather medical data 168 we developed another high-resolution surface algorithm called dividing cubes that generates than triangles [10]. As the resolution of the 3D increases, the n u m b e r of triangles approaches Figure 13. Blood Pool in the Diastolic Heart. the n u m b e r of pixels in the displayed image. The density of surface points is chosen to cover the raster display. Both algorithms produce the same quality images, since the shading governs the perceived quality of the image. 9. A C K N O W L E D G M E N T . We thank C. Crawford from General Electric's Medical Systems for stimulating our work in this area. T h r o u g h o u t the project, he has provided us with data and encouragement to improve the algorithm. R. Redington from our laboratory's Medical Diagnostics Branch provided a stable research e n v i r o n m e n t and insight into the practical applications of 3D in medicine. W. Leue assisted us in converting between the different medical data formats and provided interfaces to our MR equipment. (~ ~ 10. R E F E R E N C E S [1] ComputerGraphics,Volume21, Number4, July 1987 struction: Methodology. 1985), 727-733. Radiolo,xv 157, 3 (December Artzy, E., Frieder, G., and Herman, G.T. The Theory, Design, Implementation and Evaluation of a Three-Dimensional Surface Detection Algorithm. Comptlter Graphics and Ima~,,e Processinj,, 15, 1 (January 1981), 1-24. [17] Hemmy, D. C., David, D. J., and Herman, G. T. Three-Dimensional Reconstruction of Craniofacial Deformity Using Computed Tomography. Neurosurgery 13, 5 (November 1983), 534-541. [2] Barillot, C., Gibaud, B., Scarabin, J., and Coatrieux, J. 3D Reconstruction of Cerebral Blood Vessels. IEEE Comlmwr Graphk's attd Applk'ations 5, 12 (December 1985), 13-19. [18] Hemmy, D. C. and Tessier, P. L. CT of Dry Skulls with Craniofacial Deformities: Accuracy of ThreeDimensional Reconstruction. Radiology 157, 1 (October 1985), 113-116. [3] Bates, R. H., Garden, K. L., and Peters, T. M. Overview of Computerized Tomography with Emphasis on Future Developments. Proc. of the IEEE 71, 3 (March 1983), 356-372. [19] Herman, G. T. and Udupa, J. K. Display of 3D Digital Images: Computational Foundations and Medical Applications. IEEE Computer Graphics and Applications 3, 5 (August 1983), 39-46. [4] Bloch, P. and Udupa, J. K. Application of Computerized Tomography to Radiation Therapy and Surgical Planning. Proc. oi' the IEEE 71, 3 (March 1983), 351-355. [20] Hinshaw, W. S. and Lent, A. H. An Introduction to NMR Imaging: From the Bloch Equation to the Imaging Equation. Proc. of the IEEE 71, 3 (March 1983), 338-350. [5] Brewster, L. J., Trivedi, S. S., Tut, H. K., and Udupa, J. K. Interactive Surgical Planning. IEEE Computer Graphics and Applications 4, 3 (March 1984), 31-40. [6] Burk, D. L., Mears, D. C., Kennedy, W. H., Cooperstein, L. A., and Herbert, D. L. Three-Dimensional Computed Tomography of Acetabula Fractures. Radiology 155, 1 (1985), 183-186. [21] Hoffman, E. A. and Ritman, E. L. Shape and Dimensions of Cardiac Chambers: Importance of CT Section Thickness and Orientation. Radiology 155, 3 (June 1985), 73%744. [7] Chen, L., Herman, G. T., Reynolds, R. A., and Udupa, J. K. Surface Shading in the Cuberille Environment. IEEE Computer Graphics and Applications 5, 12 (December 1985), 33-43. [8] Christiansen, H. N. and Sederberg, T. W. Conversion of Complex Contour Line Definitions into Polygonal Element Meshes. Computer Graphics 12, 3 (August 1978), 187-192. [9] Cline, H. E., Dumoulin, C. L., Lorensen, W. E., Hart, H. R., and Ludke, S. 3D Reconstruction of the Brain from Magnetic Resonance Images. Magnetic Resonance Imaging (1987, to appear). [10] Cline, H. E., Lorensen, W. E., Ludke, S,, Crawford, C. R., and Teeter, B. C. High-Resolution ThreeDimensional Reconstruction of Tomograms. Medical Physics (1987, to appear). [11] Cook, L. T., Dwyer, S. J., Batnitzky, S., and Lee, K. R. A Three-Dimensional Display System for Diagnostic Imaging Applications. IEEE Computer Graphics and Applications 3, 5 (August 1983), 13-19. [121 Farrell, E. J. Color Display and Interactive Interpretation of Three-Dimensional Data. IBM J. Res. Develop 27, 4 (July 1983), 356-366. [13] Farrell, E. J., Zappulla, R., and Yang, W. C. Color 3D Imaging of Normal and Pathologic Intracranial Structures. IEEE Computer Graphics and Applications 4, 9 (September 1984), 5-17. [14] Fuchs, H., Kedem, Z. M., and Uselton, S. P. Optimal Surface Reconstruction from Planar Contours. Comm. o['the ACM 20, 10 (October 1977), 693-702. [151 Gordon, D. and Reynolds, R. A. Image Space Shading of 3-Dimensional Objects. Computer Graphics and Image Processing 29, 3 (March 1985), 361-376. [16] Hale, J. D., Valk, P. E., and Watts, J. C. MR Imaging of Blood Vessels Using Three-Dimensional Recon- [22] Hohne, K. H. and Bernstein, R. Shading 3D-Images from CT Using Gray-Level Gradients. IEEE Trans. on Medical Imaging MI-5, 1 (March 1986), 45-47. [23] Keppel, E. Approximating Complex Surfaces by Triangulation of Contour Lines. IBM J. Res. Develop 19, 1 (January 1975), 2-11. [24] Knoll, G. F. Single-Photon Emission Computed Tomography. Proc. of the IEEE 71, 3 (March 1983), 320-329. [25] Meagher, D. J. Geometric Modeling Using Octree Encoding. Computer Graphics and Image Processing 19, 2 (June 1982), 129-147. [26] Robb, R. A., Hoffman, E. A., Sinak, L. J., Harris, L. D., and Ritman, E. L. High-Speed Three-Dimensional X-Ray Computed Tomography: The Dynamic Spatial Reconstructor. Proc. of the IEEE 71, 3 (March 1983), 308-319. [27] Sunguroff, A. and Greenberg, D. Computer Generated Images for Medical Application. Computer Graphics 12, 3 (August 1978), 196-202. [28] Sutherland, I. E. and Hodgman, G. W. Reentrant Polygon Clipping. Comm. of the ACM 17, 1 (January 1974), 32-42. [29] Trivedi, S, S., Herman, G. T., and Udupa, J. K. Segmentation Into Three Classes Using Gradients. 1EEE Trans. on Medical Imaging MI-5, 2 (June 1986), 116-119. [30] Udupa, J. K. Interactive Segmentation and Boundary Surface Formation for 3-D Digital Images. Computer Graphics and Image Processing 18, 3 (March 1982), 213-235. [31] Vannier, M. W., Marsh, J. L., and Warren, J. O. Three Dimensional CT Reconstruction Images for Craniofacial Surgical Planning and Evaluation. Radiology 150, 1 (January 1984), 179-184. [32] Zucker, S. W. and Hummel, R. A. A ThreeDimensional Edge Operator. IEEE Trans. on Pattern Analysis and Machine Intelligence PAMI-3, 3 (May 1981), 324-331. 169