Next: References Previous: Title
Page Contents: Conference page
The Visible Human Slice Sequence Animation Web
Server
Introduction
Web-based slicing services for extracting slices from the
Visible Human dataset exist since 1995, but they authorize only to extract slices perpendicular to
the main axes.
Since June 1998, EPFL’s Visible Human Slice Server
(http://visiblehuman.epfl.ch/)
[1] allows to extract arbitrarily oriented and
positioned slices. More than 300,000 slices are extracted per year. A surface extracting service
has been added and allows to define, flatten and extract curved surfaces.
Recently, a new service has been added for extracting slice
animations along a user-defined trajectory (http://visiblehuman.epfl.ch/animation/)
.
To offer this new service, we had to meet the following
challenges:
- The user interface must be intuitive and allow to define the trajectory of the animation.
- Server side extraction of slices and synthesis of compressed slice animation must be carried
out quickly (few seconds). The progress of the animation download must be shown.
- A synchronization between the slice sequence animation and the user-defined trajectory shall
allow to locate the current displayed animation slice.
- The server must allow to compute several slice sequence animations at once, in order to
avoid blocking other user requests.
- It should be possible to save the slice sequence animation on the local client computer
despite security restrictions.
- The animation should be compressed as an MPEG-1 movie, supported by most browsers.
Slice sequence animation synthesis
The slice sequence animation server (Figure 1) can be broken down in two parts:
- The client side whose user interface was developed in Java 1.1.
- The server side, a parallel program developed within the CAP [2] parallelization
framework interface to the Web by FastCGI.
Client side user interface
The interface for specifying the slice sequence animation
parameters is the same as the interface for the Visible Human Slice Web server [1] with an additional “Slice sequence animation“
mode allowing to modify the animation parameters (size, quality). The animation trajectory is
specified as a natural spline drawn on an extracted slice. Each slice of the slice sequence
animation is represented by a line segment orthogonal to the user-defined trajectory. The
succession of line segments gives a feedback about slice size and slice spacing. These parameters
determine the size of the final MPEG animation.
The succession of line segments is also used as a progress bar for:
- indicating the animation download progression (Web streaming).
- showing the synchronization between the slice sequence animation and the user-defined
trajectory, allowing to realize where the current displayed slice is located while the animation is
played.
A Java MPEG player [3] has been integrated in the applet (Figure 2).
Web server
The Visible Human Slice Animation Server runs with
FastCGI and is easily portable between platforms (Windows NT, Linux, Unix).
The animation server program extracts in parallel on several
PCs the slices required for the animation request and, at the same time compresses the slices into
the MPEG-1 format. In pipeline, MPEG-1 slice sequences are sent to the client in streaming
mode, while computation of the remaining parts of the animation proceeds.
At the present time, only the extraction of slices is
distributed on several PCs. The MPEG compression is not yet parallelized. The parallelization of
MPEG compression is of interest when more than two PCs contribute to the computation of
animations.
In front of the server Web, a buffering proxy has been added in order to cache the computed
animation for clients having a slow Internet connection (FastCGI accepts only one request at a
time per process).
On a single PC configuration (Bi-Pentium II, 450Mhz, 8 U2W disks), the animation server
extracts and compresses 7.8 slices per second, of size 300x300 pixels. In order to generate 7.8
slices/s, 41 MB/s of 3D Visible Human data must be accessed, partly from cache and partly from
striped disk files. The MPEG output throughput is approximately 75 Kbytes/s.
Perspectives and conclusion
The slice sequence animation gives a 3D view of anatomic
structures, useful for research and teaching purposes (Movie 1, Movie 2). In the future, we are interested in creating
tools for associating sound to animations and creating a repository of annoted and commented
slice sequence animations.
Next: References Previous: Title
Page Contents: Conference page
Office of High Performance Computing and
Communications
Lister Hill National Center for Biomedical
Communications
U.S. National Library of
Medicine, 8600 Rockville Pike, Bethesda, MD
20894
National Institutes of Health
Department of Health & Human Services
Copyright and Privacy Policy
Last updated: 2 July 2001
|