
Marching Through the Visible Man
The National Library of Medicine is creating a digital atlas of
the
human body. This project, called the Visible Human, has already
produced computed tomography, magnetic resonance imaging and
physical
cross-sections of a human male cadaver. This paper describes a
methodology and results for extracting surfaces from the Visible
Male's CT data. We use surface connectivity and isosurface
extraction
techniques to create polygonal models of the skin, bone, muscle
and
bowels. Early experiments with the physical cross-sections are
also
reported.
There is a companion paper on the Visible
Woman.
Make Your Own Visible Woman
shows how to use the Visualization
Toolkit to
make and render surface models of the Visible Woman.
For more examples of 3D medical imaging done in our
laboratory go to our Scientific Movie Library.
Contents:
-
Introduction
-
The Visible Man
-
Define a Methodology
-
Our Methodology
-
Results
-
Conclusions
-
Acknowledgments
-
References
-
More Images
-
Introduction
In 1989, the National Library of Medicine (NLM) began an
ambitious
project to create a digital atlas of the human anatomy. The NLM
Planning Panel on Electronic Image Libraries [1] recommended a
project
to create XRAY Computed Tomography (XRAY-CT), Magnetic Resonance
Imaging (MRI) and physical sections of a human cadaver. The
project is
called "The Visible Man." Another cadaver, that of a 59 year-old
woman, "The Visible Woman", was completed
in the Summer of 1995. See the companion
paper.
Our
laboratory has a long history of constructing 3D models
from
contiguous CT and MRI cross-sections. The Visible Man data sets
provide an opportunity to test our algorithms on publicly
available
data. The data is interesting because of its size and variety of
modalities. Also, its availability on the Internet means that
other
researchers can apply their algorithms to a common data set. In
the
past it has been difficult to obtain medical data because of
patient
confidentiality.
This paper reports our early experiments with the Visible Man CT
data
in the hopes that others will benefit from our experiences. The
paper
proceeds as follows. First we briefly discuss the background on
the
"Visible Man" and the four data sets. We describe the logistics
of
working with such large data sets and summarize the various
parameters
for the fresh CT data. Then, we propose a methodology for
reporting
algorithm results. We describe the methods and materials we used
to
create the models illustrated in subsequent sections.
The Visible Man
In August of 1991 NLM awarded a contract to the University of
Colorado
Health Sciences Center to create the digital cross-sections of a
39-year old convicted murderer who had donated his body to
science. The radiological data was created using commercial MRI
and
XRAY-CT. Two CT data sets were created: one of the
fresh cadaver, the
other after the cadaver was frozen. Then, the cadaver was embedded in
gelatin, frozen and sliced from head to toe. As each layer was
exposed, a color RGB photograph was taken. Over 1800 24-bit
images
2048 by 1216 were created.
The Fresh CT Data Set
Since we have experience working with radiological cross-sections
from
CT and MRI, our initial experiments used the CT data. We chose
the
fresh CT data because there is better soft tissue contrast from
the
data taken before the subject was frozen. Also, the fresh CT data
is
the most manageable of the four data sets. And, segmentation of
soft
tissue / air boundaries and bone are particularly easy for CT
data. Compared to the MRI data, the slice spacing of the CT data
is
sufficient to produce decent 3D models.
Logistics
We obtained the fresh CT data using ftp via the Internet.
Internet
access is available to users that sign a license
agreement with
NLM. The data is stored one slice per file and the files have
been
compressed using the unix compress program. Uncompressed, each
slice
is 512 x 512 x 16 bits with a 3416 byte header. The format of the
headers is General Electric Genesis described in the
Medical
Image Format FAQ. The image header contains among other
things the
table position and field of view. These are important quantities
when
working with this data since the spacing between the slices and
the
pixel size changes several times throughout the data set. The
slices
are named as follows: c_vmxxxx.fre where xxxx is the location in
mm's
of the slice. There are 522 slices in the fresh CT data set using
about 274 megabytes of disk storage.
Description of the CT data from headers
The first step to understand the data was to print the header
information. In particular, we need to know the size of the
pixels,
and the distance between each slice. Also the order of
acquisition is
important so that we retain the proper left / right
correspondence. In
the fresh CT data set, the order of acquisition was from top to
bottom.
The fresh CT data was acquired in several sections with varying
pixel
size and slice spacing. Because of this, we broke the data set
into
nine sections. We created a new section when at least one of
three
changes occurred in the slice headers:
- Change in field of view (fov).
- Change in slice spacing.
- Gap in acquisition.
The following summarizes the data for the nine sections.
Section Slice # Fov Pixel Spacing Aspect Location
# Range Size Ratio
----------------------------------------------------------------
0 1-8 8 250 .48828 1 2.048 390-383
1 9-67 59 460 .8984375 1 1.11304 382-324
2 68-150 83 345 .673828 1 1.48406 323-241
3 151-191 41 450 .8789063 3 3.41333 240-120
4 192-246 55 460 .8984375 3 3.33913 117- -45
5 247-258 12 460 .8984375 3 3.33913 -51 - -84
6 259-418 160 460 .8984375 3 3.33913 -90 -
-565
7 419-480 62 480 .9375 5 5.33333 520 - 215
8 481-522 42 480 .9375 5 5.33333 -210 -
-415
Define a Methodology
We propose a simple methodology to report results on the Visible
Human
data sets. These are by no means rigid rules, just guidelines for
reporting results. The goal is to allow researchers to reproduce
the
results reported by others and to compare their results.
- Define methods and materials. Identify the software used in
each
processing step and the origin of the software. Cite any
references
that describe the algorithms. Describe the hardware
configurations
used for processing the data.
- Define parameters for each algorithm. Be specific enough so
that
another researcher, using the same or similar software, could
reproduce the results. Parameters include region of interest
coordinates, threshold values, opacity values and connectivity
seeds.
- Report results Include timings for each step. Although the
actual
times often depend on particular implementations, these times
will
give the reader a general feel for the processing times.
If additional images or animations are available report the site
where they can be
obtained. Use Uniform Resource Locators (URL's) when appropriate.
Our Methodology
Hardware
This work was done on an Onyx Reality Engine 2 (Silicon Graphics,
Mountain View, CA)
with the following configuration:
2 150 MHZ IP19 Processors
CPU: MIPS R4400 Processor Chip Revision: 5.0
FPU: MIPS R4010 Floating Point Chip Revision: 0.0
Data cache size: 16 Kbytes
Instruction cache size: 16 Kbytes
Secondary unified instruction/data cache size: 1 Mbyte
Main memory size: 256 Mbytes, 2-way interleaved
Software
The Reality Engine was running Irix 5.3. We used a variety of
software
tools we call the Research Workstation, all developed in-house.
All of
the software works with 16-bit medical images.
- Mrx
- is an image display package that allows users to access
medical
images stored in a variety of formats. We use it to inspect the
image data and select thresholds for surfaces.
- Surf3d
- is a surface tracking connectivity program [2] that takes
user
specified seed points and marks all voxels that are connected to
the
initial seeds and that satisfy a threshold range.
- Softreformat
- is a volume reformatting program that uses tri-linear
interpolation to resample
volume data on arbitrary planes.
- Cubes
- implements the Marching Cubes algorithm [3] and creates
triangles
from volume data. This implementation can process all of a
volume, or
only those voxels whose connectivity bit has been set by surf3d.
- LY
MB [4]
- is an object-oriented development system written in C that
permits
object creation and modification through a scripting language.
The
objects in LYMB are C modules that implement methods in C
procedures. One of these objects, decimate, implements the
triangle
decimation algorithm described in [5]. We use decimate to reduce
the
number of triangles in the models created by cubes. LYMB also has
extensive visualization and rendering capabilities. A user
interface
and rendering subsystem in LYMB were used to create the images in
the
paper.
Results
We applied a single methodology to extract skin, bone, muscle,
and the
bowels from the fresh CT data.
Bone and Skin
We used the same threshold throughout the 9 sections of the CT
data
set to extract the skin and bone. For the skin, we applied the
connectivity algorithm followed by Marching Cubes with a density
value
of 600 to remove the patient table and internal air passages from
the
extracted surfaces. We also applied two iterations of the
decimation
algorithm to the skin surface. We started with a decimation value
of
.0002 (or 2%) of the field of view. The skin has less detail than
the
internal surfaces and we can afford to reduce the number of skin
triangles more heavily than for the internal surfaces. We did not
apply connectivity for the bone surface since there are many
disconnected pieces of bone in the body. A density value of 1224
was
used for the bone, the same value we have used successfully on
other
CT data sets. Table 2 shows triangle counts and timings for the
skin
surfaces. Table 3 shows the timings and counts for the bone. The
times
for each step are central processor unit (CPU) times. The images
in
Figure 2 where created using
LYMB. The surfaces for each section were manually aligned using
an
interactive rendering interface in LYMB. We chose section 6 as
the
center of the model and moved the other sections relative to this
surface. Table 4 shows the relative movements of each section
measured
in millimeters.
Section Connect Time Cubes Time Decimate Time(sec)
0 31616 0.67 63662 4.14 27168 14.24
1 65584 4.01 131448 18.17 53362 28.27
2 139922 6.20 281013 30.00 96354 68.54
3 115732 3.28 231683 18.52 77861 54.01
4 139624 4.38 277848 23.71 70773 82.61
5 27213 0.91 54476 4.76 12480 20.28
6 524253 14.04 1049476 79.69 29507 322.05
7 167288 5.07 334643 30.32 84342 89.46
8 93266 2.90 186630 17.08 71485 43.04
----- ----- ------- ----- ----- -----
Totals 1304498 41.46 2610877 226.39 798227 722.50
TABLE 2. Triangle Counts and Times for Skin.
Section Cubes Time Decimate Time(sec)
0 38394 6.23 17799 7.64
1 257356 49.06 139852 47.31
2 865454 93.78 541654 135.41
3 193102 34.24 137717 28.63
4 915904 77.94 679246 125.05
5 158174 14.58 118091 20.90
6 1990946 199.20 1501322 273.11
7 74864 41.58 49610 12.46
8 220916 33.16 168579 28.39
Totals 4715110 549.77 3353870 678.9
TABLE 3. Triangle Counts and Times for Bone.
Section x y z
0 104 165 482
1 0 0 473
2 57 57 413
3 5 5 330
4 0 0 207
5 0 0 39
6 0 0 0
7 -13 -8 -480
TABLE 4. Offsets (in mm's) for each section.
We also reconstructed coronal cross-sections for each of the data
sets
using the softreformat program of the Research Workstation,
composing
the reformatted image in Figure
2
using Jeff Poskanzer's Portable Bitmap
utilities. The gaps in the reformatted images show the
boundaries
of the 8 sections (the 9th contains the feet and is not
contiguous
with the other sections).
Bowels.
The bowels were extracted from
section 6 by first
running the connectivity algorithm and then Marching Cubes with a
density of 700. The muscle was
similarly extracted using connectivity
and Marching Cubes with a density of 1010. The region of interest
for
the muscle was restricted to slices 100 - 160 because the CT scan
artifacts higher in the body caused the connectivity algorithm to
leak. Two decimation iterations were applied to both the muscle
and
bowel surfaces. The bowels were colored with (red, green, blue)
values
of (.89, .81, .34) with a specular component of .4 and a specular
power of 10. The muscle color is (.6980, .1333, .1333), specular
component .4 and specular power 10. We created a separate back
face
property for these two surfaces by reducing the diffuse component
of
each material to .4. This surface visualization technique is
useful to
give the viewer a clue as to which surface is an outward surface
and
which is an inward surface.
Muscles in the Leg.
The thigh muscles are in section 7.
We extracted them using the same
density value, 1010, that we used in section 6. A separate
connectivity seed was specified for each muscle.
Flying Through the Body.
We created a flight through the bone surfaces extracted for the
whole
data set. We first rendered the skin model for each section
properly
displaced. Then, using the picking facility in LYMB, we selected
40
points with a mouse from the skin to serve as key frames for an
animation. We key framed both the camera look from and look at
points
using consecutive picked points. LYMB created a smooth camera
motion
by interpolating the from and to points using splines [6]. We
specified 1 second of animation between each key frame point,
resulting in 1200 animation frames. Before rendering the
sequence, we
turned off the skin surface, rendered each frame and saved them
to
disk. The Silicon Graphics movieconvert program created a
lossless
QuickTime movie. After transferring the 550 megabyte QuickTime
movie
to a Macintosh, we single frame recorded the animation using the
DiaQuest animaq software controlling a JVC BR-S811U S-VHS VCR.
Figures
5 and 6 shows two frames from the
resulting
animation.
We also produced animations to view the torso
and fly around the thighs.
Working with the Physical Cross-Sections.
We have done some preliminary investigation of the physical
cross-sections. Here we split each color physical cross-section
into
its red, green and blue components shown in Figure 7. Then, we applied the
grey-scale algorithms described above to the red channel only.
Figure
8 shows a front view and a profile of the extracted skin
surface
from 215 slices. We selected the outer skin by first running the
connectivity program marking 1538827 voxels and then extracting
3106832 triangles in 181 seconds. We ran two decimation
iterations
that removed 1226351 triangles.
Conclusions
The National Library of Medicine through the Visible Human
Project has
provided the medical research and educational community with a
rich
set of anatomical data. The general availability of the data will
encourage researchers to develop new algorithms and compare their
work with others. Our experience with that data has been positive
although any group working with the data must be prepared to
dedicate
large amounts of disk storage and computer resources to the
project. Practically, most groups will work with subsets of the
data,
concentrating on perhaps a few anatomical parts of regions. We
expect
that the major effort in the next few years will be to segment
the
Visible Man (and Woman). Such a large task will require
cooperation of
many research groups throughout the world. Central repositories
of
segment information will be required and we hope the NLM will be
able
to provide such facilities.
Acknowledgments
Most of this work was performed while the author was a visiting
scientist at the Center
for In-Vivo Microscopy at Duke University
Medical Center. Al Johnson, Director of the Laboratory,
and his staff
provided a rich hardware and software environment for these
experiments. Others will find that working with such large data
sets
puts pressure on most laboratory resources.
References
- National Library of Medicine (U.S.) Board of Regents.
Electronic
imaging: Report of the Board of Regents. U.S. Department of
Health and
Human Services, Public Health Service, National Institutes of
Health,
1990. NIH Publication 90-2197.
- Cline, H. E., Dumoulin, C. L., Lorensen, W. E., Hart, H. R.,
and
Ludke, S., "3D Reconstruction of the Brain from Magnetic
Resonance
Images Using a Connectivity Algorithm," Magnetic Resonance
Imaging,
vol. 5, no. 5, pp. 345-352, 1987.
- Lorensen, W. E. and Cline, H. E., "Marching Cubes: A High
Resolution 3D Surface Construction Algorithm," Computer Graphics,
vol. 21, no. 3, pp. 163-169, July 1987.
- Schroeder, W., Lorensen, W., Montanaro, G. and Volpe, C.,
"Visage:
An Object-Oriented Scientific Visualization System," in
Proceedings
of Visualization '92, IEEE Press, October 1992, pp. 219-226.
- Schroeder, W. J., Zarge, J., and Lorensen, W. E., "Decimation
of
Triangle Meshes," Computer Graphics, vol. 26, no. 2, pp. 65-70,
August
1992.
- Kochanek, D. H. U. and Bartels, R. H., "Interpolating Splines
with
Local Tension, Continuity, and Bias Control," Computer Graphics,
vol. 18, no. 3, pp. 33-41, July 1984.
More Images
From the fresh CT data
From the physical slice data
Questions / Comments
Bill Lorensen
(lorensen@crd.ge.com)
Last Updated: October 9, 1996
GE Home Page |
GE Research and
Development