The following text is an extract from "A Parallel PC-Based Visible Human Slice Web Server",
presented at the Visible
Human Conference 98. This article describes the slice extraction
server used by the Slice, Surface and Animation extraction applet.
For the complete article, as well as other
articles related to the Visible Human Server published by the EPFL Peripheral Systems Lab,
please consult the bibliography below.
Visualization of 3D tomographic images by slicing, i.e. by intersecting a 3D tomographic
image with a plane having any desired position and orientation is a tool of choice both
for learning and for diagnosis purposes.
A parallel Visible Human Slice Web server has been developed, which
offers to any Web client the capability of interactively specifying the exact position
and orientation of a desired slice and of requesting and obtaining that slice from a 3D
tomographic volume, made of either CT, MRI or cryosection images (digital color photographs
For enabling its parallel storage and access, the Visible Human 3D volume is segmented
into volumic extents of size 32x32x17 RGB voxels, i.e. 51KBytes, which are striped over
a number of disks possibly residing on several server PC's. In order to extract an image slice from the
3D image, the extents intersecting the slice are read and the slice parts contained in
these volumic extents are extracted and projected onto the display space (Figure 1).
Figure 1. Extraction of slices from the Visible Human dataset
The parallel Visible Human slice server application was synthesized using the
Computer Aided Parallelization tool
 and the library
file system components  which
enable building pipelined-parallel applications combining high-performance computing
and I/O intensive operations. The parallel server architecture has been interfaced to
a Netscape Web Server using FastCGI.
A Java 1.1 applet runs on Web clients and enables users to specify slice position
and orientation and generate image slice extraction requests. Replies of the Web
server are compressed using the JPEG standard and send back to the Web clients for display.
The parallel slice server application consists of a server interface residing
on the Web server PC and of server processes running on the server's parallel PC's.
The server interface interprets the slice location and orientation parameters defined
by the user and determines the image extents which need to be accessed. It sends to the
concerned servers (servers whose disks contain the required extents) the extent reading
and image slice part extraction requests. These servers execute the requests and transfer
the resulting slice parts to the server interface, which asssembles them into the final
displayable image slice (Figure 2).
Figure 2. General schematic for slice extraction
The parallel slice server application is described by the diagram of Figure 3. The
program written in the CAP formalism is precompiled into C++ code which is then compiled
to run on the server's PC's.
Figure 3. Diagram of parallel slice extraction
The CAP computer-aided parallelization tool greatly simplifies the creation of parallel
distributed memory server applications. Application programmers create separatly the
serial program parts and express the parallel behavior of the program with CAP
constructs. The parallel part of the program can be easily modified by changing
the sequence of operations or by building hierarchical CAP constructs.
From the Gigaserver project (for articles not directly related to this site, consult the
- The Visible Human Slice Sequence Animation Web Server,
Jean-Christophe Bessaud, Roger D. Hersch,
The Third Visible Human Project Conference Proceedings, Bethesda, Maryland, 5&6 October 2000
- The Visible Human Slice Web Server: A first Assessment,
R.D. Hersch, B. Gennart, O. Figueiredo, M. Mazzariol, J. Tarraga, S. Vetsch, V. Messerli, R. Welz, L. Bidaut,
Proceedings IS&T/SPIE Conference on Internet Imaging, San Jose, Ca, Jan. 2000, SPIE Vol. 3964, 253-258
Full paper: PDF 1.4 MB
- Computer-Aided Synthesis of Parallel Image Processing Applications,
Benoit Gennart, Roger D. Hersch,
Proceedings Conf. Parallel and Distributed Methods for Image Processing III, SPIE International Symposium on Optical Science, Engineering and Instrumentation, Denver, Colorado, July 1999, SPIE Vol-3817, 48-61
Full paper: PDF 874 KB
- Parallelizing I/O intensive Image Access and Processing Applications,
V. Messerli, O. Figueiredo, B. Gennart, R.D. Hersch
IEEE Concurrency, Vol. 7, No. 2, April-June 1999, 28-37
Full paper: PDF 1.7 MB
- Synthesizing Parallel Imaging Applications using the CAP Computer-Aided Parallelization tool,
B. A. Gennart, M. Mazzariol, V. Messerli, R.D. Hersch,
IS&T/SPIE's 10th Annual Symposium, Electronic Imaging'98,Storage & Retrieval for Image and Video Databases VI. San Jose, California, Paper 3312-28, pp. 446-458
Full paper: PDF 387 KB
- Performances of the PS2 Parallel Storage and Processing System for Tomographic Image Visualization,
V. Messerli, B. Gennart, R.D. Hersch,
Proc. 1997 Int'l Conference on Parallel and Distributed Systems, Seoul, Korea, December 1997, pp 514-522
Full paper: Postscript 230 KB (gzipped)
From the Discrete Geometry project (for articles not directly related to this site, the complete
list is here):
- Advances in Discrete Geometry Applied to the Extraction of Planes and Surfaces from 3D Volumes,
Ecole Polytechnique Fédérale de Lausanne, Ph.D. Thesis No 1944, 1999
Full paper: Acrobat PDF 5MB
- Digitization of Bezier Curves and Patches using Discrete Geometry,
Oscar Figueiredo, Jean-Pierre Reveillès and Roger D. Hersch,
Discrete Geometry for Computer Imagery, Proceedings of the 8th International Conference DGCI'99, Marne-la-Vallee, France, March 1999, Gilles Bertrand, Michel Couprie, Laurent Perroton, Eds., LNCS 1568, Springer Verlag, pp. 388-398
Full paper: Acrobat PDF 100KB