You are on page 1of 7

(~

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

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.

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.

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

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

dP

-S

dS

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

You might also like