Professional Documents
Culture Documents
William E. Lorensen
Harvey E. Cline
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
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 ,
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
167
~ SIGGRAPH'87,Anaheim,July27-31,1987
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