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 acetabular fractures [6], craniofacial abnormalities [17,18],


We present a new algorithm, called marching cubes, that and intracranial structure [13] illustrate 3D's potential for the
creates triangle models of constant density surfaces from 3D study of complex bone structures. Applications in radiation
medical data. Using a divide-and-conquer approach to gen- therapy [27,11] and surgical planning [4,5,31] show interac-
erate inter-slice connectivity, we create a case table that tive 3D techniques combined with 3D surface images. Cardi-
defines triangle topology. The algorithm processes the 3D ac applications include artery visualization [2,16] and non-
medical data in scan-line order and calculates triangle vertices graphic modeling applications to calculate surface area and
using linear interpolation. We find the gradient of the origi- volume [21].
nal data, normalize it, and use it as a basis for shading the Existing 3D algorithms lack detail and sometimes intro-
models. The detail in images produced from the generated duce artifacts. We present a new, high-resolution 3D surface
surface models is the result of maintaining the inter-slice construction algorithm that produces .models with unpre-
connectivity, surface data, and gradient information present cedented detail. This new algorithm, called marching cubes,
in the original 3D data. Results from computed tomography creates a polygonal representation of constant density sur-
(CT), magnetic resonance (MR), and single-photon emission faces from a 3D array of data. The resulting model can be
computed tomography (SPECT) illustrate the quality and displayed with conventional graphics-rendering algorithms
functionality of marching cubes. We also discuss improve- implemented in software or hardware.
ments that decrease processing time and add solid modeling
capabilities. After describing the information flow for 3D medical ap-
plications, we describe related work and discuss the draw-
CR Categories: 3.3, 3.5 backs of that work. Then we describe the algorithm as well
as efficiency and functional enhancements, followed by case
Additional Keywords: computer graphics, medical imaging, studies using three different medical imaging techniques to il-
surface reconstruction lustrate the new algorithm's capabilities.

2. I N F O R M A T I O N FLOW FOR 3D MEDICAL


1. I N T R O D U C T I O N . ALGORITHMS,

Three-dimensional surfaces of the anatomy offer a valu- Medical applications of 3D consist of four steps (Fig-
able medical tool. Images of these surfaces, constructed ure 1). Although one can combine the last three steps into
from multiple 2D slices of computed tomography (CT), mag- one algorithm, we logically decompose the process as follows:
netic resonance (MR), and single-photon emission computed 1. Data acquisition.
tomography (SPECT), help physicians to understand the This first step, performed by the medical imaging
complex anatomy present in the slices. Interpretation of 2D hardware, samples some property in a patient and pro-
medical images requires special training, and although radiol- duces multiple 2D slices of information. The,data sam-
ogists have these skills, they must often communicate their pled depends on the data acquisition technique.
interpretations to the referring physicians, who sometimes
have difficulty visualizing the 3D anatomy.
Researchers have reported the application of 3D medical C•'•CT
MData Acquisition
R SPECT.~.~/
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 Image I J ode, Vie.,og t--.(Oi.p,ay I
publicationand its date appear, and noticeis giventhat copyingksby Processing I "] Creation I IOperati°?s/L------J
permissionof the Associationfor Computing Machinery.To copy
otherwise, or to republish,requires a fee and/or specificpermission.
Connectivity Surface Value Viewing
Clipping
Mask Booleans Animation
¢~1 9 8 7 ACM-0-89791-227-6/87/007/0163 $00.75 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 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
varying X-ray a t t e n u a t i o n coefficient [3], C T i m a g e s image.
show i n t e r n a l structure. F o r 3D applications, C T is fre-
A different approach, used at the Mayo Clinic [26], dis-
q 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
plays 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
h a v e h a d success visualizing soft tissue.
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
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 prop- that can be viewed f r o m arbitrary angles. M o t i o n e n h a n c e s
erties [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 " 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
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 model.
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
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 dis-
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 ex-
play 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 in-
cellent c o n t r a s t b e t w e e n a variety of soft tissues. How-
f 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 algo-
ever, t h e variety of surfaces p r e s e n t s a challenge to 3D
r 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
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 selec-
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
tive surface e x t r a c t i o n a n d display.
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
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 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 cast-
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 ing 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 approx-
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 ra- i 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
dioisotope 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 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
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 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
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 three-dimensional sensation.
CT.
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
2. Image processing. 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 sur-
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 face gradient. T h e resulting triangle m o d e l can be displayed
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 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
original data. M R data, in particular, n e e d s image pro- rendering algorithms.
cessing to select appropriate structure.
4. M A R C H I N G CUBES ALGORITHM.
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 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 sur-
the creation of a surface m o d e l f r o m t h e 3D data. T h e face 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
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) c o r r e s p o n d i n g to a user-specified value a n d create triangles.
or polygons. U s e r s select the desired surface by specify- T h e n , to e n s u r e a quality image of the surface, we calculate
ing a density value, T h i s step can also include t h e crea- 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.
tion o f cut or capped surfaces. 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 lo-
4. Display. cate the surface in a logical cube created f r o m eight pixels;
H a v i n g created the surface, the final step displays that four each f r o m two adjacent slices (Figure 2).
surface u s i n g display t e c h n i q u e s that include ray casting,
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
d e p t h s h a d i n g , a n d color shading. 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
3. R E L A T E D WORK. 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
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 v a l u e of the surface we are constructing. T h e s e vertices are
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 inside (or o n ) the s u r f a c e . C u b e vertices with values below
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 - the surface receive a zero a n d are outside the surface. T h e
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 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 out-
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 side the surface ( o n e ) a n d the o t h e r is inside the surface
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 in- (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
t 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 - the surface within a cube, finding the location of t h e intersec-
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 tion later.
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 col-
leagues [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 im-
ages 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 / /<"J+I'"U { + , , ,+
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.
Shee~ i
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 light- ~,~j . pixel
ness 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 I
t h e g r a d i e n t along the surface a n d uses this gradient, scaled Figure 2. Marching Cube.

164
(~) ~ 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 in-
tersected 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 topolo-
gy 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 w -

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.


_ A
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, rotation-
al 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 in-
spection. Figure 3 s h o w s the triangulation for the 14 pat-
terns.
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 trian-
gles. 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 mul-
tiple 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
v8S oe7 ~(~v7
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 interpo-
lation. e3
0
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 e8 e6
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 ~2
04
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 magni-
tude 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 sur- v5
face o f interest b e t w e e n two tissue types of different densi-
ties, 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
~(x,y,z) = x77"(x,y,z). (1) 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
index = i vsi v, I v8 v5 v, v31v21 v, I
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 Figure 4. Cube Numbering.
differences along the t h r e e c o o r d i n a t e axes by:
w h e r e D(L./, k) is the density at pixel (i,j) in slice k a n d
Gv(i,J k) = D ( i + l,.j,k) - D ( i - 1,.j,k) (2)
Ax 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 gra-
d 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 re-
G>.(i,L h) = D(i,j-t- l, k) - D(i, ] - 1, k) (3) quired for rendering. W e linearly interpolate this n o r m a l to
Ay
t h e point of intersection. N o t e that to calculate the g r a d i e n t
G:(i, Lk) = D ( i , j , k + l ) - D(i,j,k- ]) (4) at all vertices of t h e c u b e , we keep four slices in m e m o r y at
Az o n c e .

165
~ SIGGRAPH '87, Anaheim, July 27-31, 1987

In summary, marching cubes creates a surface from a Reducing the slice resolution, by averaging four pixels
three-dimensional set of data as follows: into one, decreases the n u m b e r of triangles, improves the
1. Read four slices into memory. surface construction efficiency and smooths the image.
Although there is some loss of detail in the averaged slices,
2. Scan two slices and create a cube from four neighbors the averaging makes the n u m b e r of triangles more manage-
on one slice and four neighbors on the next slice. able for high-resolution slices.
3. Calculate an index for the cube by comparing the eight 5.2 Functional Enhancements.
density values at the cube vertices with the surface con-
stant. We have added a solid modeling capability to the algo-
rithm. Boolean operations permit cutting and capping of
4. Using the index, look up the list of edges from a precal- solid models, as well as the extraction of multiple surfaces.
culated table. In a medical application, cutting is analogous to performing
5. Using the densities at each edge vertex, find the surface- surgery and capping (and texture mapping) is analogous to
edge intersection via linear interpolation. the medical imaging technique of reformatting.

6. Calculate a unit normal at each cube vertex using central We use the cube index described earlier to do Boolean
differences. Interpolate the normal to each triangle ver- operations on the surfaces. Here, just consider three values
tex. of the index:

7. Output the triangle vertices and vertex normals. index = 0 for cubes outside the surface.
index = 255 for cubes inside the surface.
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 . 0 < index < 255 for cubes on the surface.
We have made several improvements to the original Solid modeling uses these notions of inside, outside, and
marching cubes that make the algorithm run faster and that on to create a surface. Analytic functions also provide the
add solid modeling capabilities. same information; so, for example the equation of a plane,
ax + by + c z - d, tells where a given point lies with respect
5.1 E ~ c i e n c y Enhancements.
to the plane. Let - - S , 8S, and S represent sets of points that
The efficiency e n h a n c e m e n t s allow the algorithm to take are outside, on, and inside a surface, respectively. Referring
advantage of pixel-to-pixel, line-to-line, and slice-to-slice to Figure 6, we build a truth table, shown in Figure 7, for
coherence. For cubes interior to the original data limits the Boolean intersection operation.
(those not including slice 0, line 0, or pixel 0), only three Nine entries in the .truth table describe what to do when
new edges need to be interpolated for each cube. We can two surfaces have a given index. With x's representing no
obtain the other nine edges from previous slices, lines, or operation, the entry for (S, - - P ) shows that the cube in
pixels. In Figure 5, the shaded circles represent values avail- question is inside one surface but outside the other, resulting
able from prior calculations; only edges 6, 7, and 12 have to in no triangles. The (8S, P) entry produces triangles from
be calculated for the new cube. the S surface, while the (S, 8P) entry produces triangles
Special cases are present along the boundaries of the data, from the P surface. The (8S, 8P) entry, created when a
but, by enumerating these cases, we can limit vertex calcula- cube is on both surfaces, requires special processing. We clip
tions to once per vertex. In practice, we only save the previ- -p
ous 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.

C 7

e6
Figure 6. Point/Surface Relations.

p '-P dP
S x x p

y
® -S x x x

dS S x ,

Figure 5. Coherence. Figure 7. Truth Table.

166
(~ ~ 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 process-
ing 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 us-
ing 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 transpar- Figure 8. Bone Surface.
ent, capped with triangles, or textured with interpolated den-
sity 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 num-
ber 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, pro-
ducing a somewhat smoother surface with some loss of reso-
lution.

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 op-
tions. Each image was rendered at 512 by 512 resolution Figure 9. Soft Tissue Surface.
without antialiasing.
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 dimen-
sions 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 anesthet-
ic during the scanning process. The soft tissue image shows
fine detail that includes the patient's pierced ear and the im-
pression 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 Sun Workstation is a trademark of Sun Microsystems.


2 Unixis a trademark of Bell Laboratories.
3 VAX and VMS are trademarks of Digital Equipment Corporation
4 IX/370 is a trademark of IBM.
5 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 Figure 12. Rotated Sequence of Cut MR Brain.
surface. The bone surface contains 550,000 triangles while
the soft tissue surface has 375,000.
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 se-
quence 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. Be-
cause of the complex anatomy present in the MR slices, we
show, in Figure 12, the texture mapped cut surfaces inter-
sected 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 trian-
gles, 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 Figure 13. Blood Pool in the Diastolic Heart.
pool in the diastolic heart, contains 5,000 triangles. The de-
scending aorta is the large vessel in the left of the picture. 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 al-
8. C O N C L U S I O N S . gorithms produce the same quality images, since the shading
governs the perceived quality of the image.
Marching cubes, a new algorithm for 3D surface construc-
tion, complements 2D CT, MR, and SPECT data by giving 9. A C K N O W L E D G M E N T .
physicians 3D views of the anatomy. The algorithm uses a
case table of edge intersections to describe how a surface cuts We thank C. Crawford from General Electric's Medical
through each cube in a 3D data set. Additional realism is Systems for stimulating our work in this area. T h r o u g h o u t
achieved by the calculation, from the original data, of the the project, he has provided us with data and encouragement
normalized gradient. The resulting polygonal structure can to improve the algorithm. R. Redington from our
be displayed on conventional graphics display systems. laboratory's Medical Diagnostics Branch provided a stable re-
Although these models often contain large n u m b e r s of trian- search e n v i r o n m e n t and insight into the practical applications
gles, surface cutting and connectivity can reduce this num- of 3D in medicine. W. Leue assisted us in converting be-
ber. As CAD hardware increases in speed and capacity, we tween the different medical data formats and provided inter-
expect that marching cubes will receive increased use in practi- faces to our MR equipment.
cal, clinical environments.
Recently we developed another high-resolution surface
construction algorithm called dividing cubes that generates
points rather than triangles [10]. As the resolution of the 3D
medical data increases, the n u m b e r of triangles approaches

168
(~ ~ ComputerGraphics,Volume21, Number4, July 1987

10. R E F E R E N C E S struction: Methodology. Radiolo,xv 157, 3 (December


1985), 727-733.
[1] Artzy, E., Frieder, G., and Herman, G.T. The Theo-
ry, Design, Implementation and Evaluation of a [17] Hemmy, D. C., David, D. J., and Herman, G. T.
Three-Dimensional Surface Detection Algorithm. Three-Dimensional Reconstruction of Craniofacial De-
Comptlter Graphics and Ima~,,e Processinj,, 15, 1 (January formity Using Computed Tomography. Neurosurgery
1981), 1-24. 13, 5 (November 1983), 534-541.
[2] Barillot, C., Gibaud, B., Scarabin, J., and Coatrieux, J. [18] Hemmy, D. C. and Tessier, P. L. CT of Dry Skulls
3D Reconstruction of Cerebral Blood Vessels. IEEE with Craniofacial Deformities: Accuracy of Three-
Comlmwr Graphk's attd Applk'ations 5, 12 (December Dimensional Reconstruction. Radiology 157, 1 (Oc-
1985), 13-19. tober 1985), 113-116.
[3] Bates, R. H., Garden, K. L., and Peters, T. M. Over- [19] Herman, G. T. and Udupa, J. K. Display of 3D Digi-
view of Computerized Tomography with Emphasis on tal Images: Computational Foundations and Medical
Future Developments. Proc. of the IEEE 71, 3 (March Applications. IEEE Computer Graphics and Applications
1983), 356-372. 3, 5 (August 1983), 39-46.
[4] Bloch, P. and Udupa, J. K. Application of Computer- [20] Hinshaw, W. S. and Lent, A. H. An Introduction to
ized Tomography to Radiation Therapy and Surgical NMR Imaging: From the Bloch Equation to the Imag-
Planning. Proc. oi' the IEEE 71, 3 (March 1983), ing Equation. Proc. of the IEEE 71, 3 (March 1983),
351-355. 338-350.
[5] Brewster, L. J., Trivedi, S. S., Tut, H. K., and Udupa, [21] Hoffman, E. A. and Ritman, E. L. Shape and Dimen-
J. K. Interactive Surgical Planning. IEEE Computer sions of Cardiac Chambers: Importance of CT Section
Graphics and Applications 4, 3 (March 1984), 31-40. Thickness and Orientation. Radiology 155, 3 (June
1985), 73%744.
[6] Burk, D. L., Mears, D. C., Kennedy, W. H., Cooper-
stein, L. A., and Herbert, D. L. Three-Dimensional [22] Hohne, K. H. and Bernstein, R. Shading 3D-Images
Computed Tomography of Acetabula Fractures. Ra- from CT Using Gray-Level Gradients. IEEE Trans. on
diology 155, 1 (1985), 183-186. Medical Imaging MI-5, 1 (March 1986), 45-47.
[7] Chen, L., Herman, G. T., Reynolds, R. A., and Udu- [23] Keppel, E. Approximating Complex Surfaces by Tri-
pa, J. K. Surface Shading in the Cuberille Environ- angulation of Contour Lines. IBM J. Res. Develop 19,
ment. IEEE Computer Graphics and Applications 5, 12 1 (January 1975), 2-11.
(December 1985), 33-43. [24] Knoll, G. F. Single-Photon Emission Computed To-
[8] Christiansen, H. N. and Sederberg, T. W. Conversion mography. Proc. of the IEEE 71, 3 (March 1983),
of Complex Contour Line Definitions into Polygonal 320-329.
Element Meshes. Computer Graphics 12, 3 (August [25] Meagher, D. J. Geometric Modeling Using Octree
1978), 187-192. Encoding. Computer Graphics and Image Processing 19,
[9] Cline, H. E., Dumoulin, C. L., Lorensen, W. E., Hart, 2 (June 1982), 129-147.
H. R., and Ludke, S. 3D Reconstruction of the Brain [26] Robb, R. A., Hoffman, E. A., Sinak, L. J., Harris, L.
from Magnetic Resonance Images. Magnetic Reso- D., and Ritman, E. L. High-Speed Three-Dimensional
nance Imaging (1987, to appear). X-Ray Computed Tomography: The Dynamic Spatial
[10] Cline, H. E., Lorensen, W. E., Ludke, S,, Crawford, Reconstructor. Proc. of the IEEE 71, 3 (March 1983),
C. R., and Teeter, B. C. High-Resolution Three- 308-319.
Dimensional Reconstruction of Tomograms. Medical [27] Sunguroff, A. and Greenberg, D. Computer Generat-
Physics (1987, to appear). ed Images for Medical Application. Computer Graphics
[11] Cook, L. T., Dwyer, S. J., Batnitzky, S., and Lee, K. 12, 3 (August 1978), 196-202.
R. A Three-Dimensional Display System for Diagnos- [28] Sutherland, I. E. and Hodgman, G. W. Reentrant Po-
tic Imaging Applications. IEEE Computer Graphics and lygon Clipping. Comm. of the ACM 17, 1 (January
Applications 3, 5 (August 1983), 13-19. 1974), 32-42.
[121 Farrell, E. J. Color Display and Interactive Interpreta- [29] Trivedi, S, S., Herman, G. T., and Udupa, J. K. Seg-
tion of Three-Dimensional Data. IBM J. Res. Develop mentation Into Three Classes Using Gradients. 1EEE
27, 4 (July 1983), 356-366. Trans. on Medical Imaging MI-5, 2 (June 1986),
[13] Farrell, E. J., Zappulla, R., and Yang, W. C. Color 3D 116-119.
Imaging of Normal and Pathologic Intracranial Struc- [30] Udupa, J. K. Interactive Segmentation and Boundary
tures. IEEE Computer Graphics and Applications 4, 9 Surface Formation for 3-D Digital Images. Computer
(September 1984), 5-17. Graphics and Image Processing 18, 3 (March 1982),
[14] Fuchs, H., Kedem, Z. M., and Uselton, S. P. Optimal 213-235.
Surface Reconstruction from Planar Contours. Comm. [31] Vannier, M. W., Marsh, J. L., and Warren, J. O.
o['the ACM 20, 10 (October 1977), 693-702. Three Dimensional CT Reconstruction Images for
[151 Gordon, D. and Reynolds, R. A. Image Space Shad- Craniofacial Surgical Planning and Evaluation. Radiol-
ing of 3-Dimensional Objects. Computer Graphics and ogy 150, 1 (January 1984), 179-184.
Image Processing 29, 3 (March 1985), 361-376. [32] Zucker, S. W. and Hummel, R. A. A Three-
[16] Hale, J. D., Valk, P. E., and Watts, J. C. MR Imaging Dimensional Edge Operator. IEEE Trans. on Pattern
of Blood Vessels Using Three-Dimensional Recon- Analysis and Machine Intelligence PAMI-3, 3 (May
1981), 324-331.
169

You might also like