

There are two main approaches to rendering volume data sets: surface fitting or direct volume rendering. While impressive images have been created with surface fitting techniques, algorithms of this type represent a data reduction method that can only represent surfaces and hard boundaries between volume elements of different types. Direct volume rendering methods such as ray casting, splatting and shear-warp create images directly from the volume data without the use of an intermediate polygonal approximation. For perspective, rendering a 512x512x512 data set requires a minimum of 4 bytes per voxel (512MB). One of the datasets from the Visible Human Project (VHP) is a Computed Tomography (CT) data set that is 512x512x1873 (1.8GB to render) in size. The VHP also has two microtomed data sets that are 2048x1216x1878 (14 GB) and 2048x1216x5189 (38 GB) in size.
To support interactive volume rendering, the entire data set must reside in RAM - waiting for several GBs to be read from disk for each image is not an option. The increasing availability of parallel computers with hundreds or thousands of processors provides a viable solution. For example, the Cray T3E at SDSC has 256 processing elements (PEs) with 128MB of RAM per PE (for a total of 32GB).
Massively Parallel Interactive Rendering
Environment (MPIRE)
MPIRE is a distributed, direct volume rendering system that contains multiple
interfaces to multiple parallel direct volume rendering engines running on
multiple platforms. There are currently two graphical interfaces, a Java
applet and a custom AVS (Application Visualization System) module, that provide
the same interactive features. The current rendering engines include
implementations of the ray casting and splatting algorithms for the Cray
T3D/T3E and single processor SGI workstations. MPIRE was developed under a
grant from Cray Research,
Inc. and is in the public domain.
The following figure shows the architecture for MPIRE. The interface
can be run on any platform and starts the session by connecting to
renderd, a daemon which provides access to the MPIRE engines on
the desired render host. The daemon starts a rendering engine
on the render host and provides port numbers for communication between the
interface and rendering engine. Refer to
Communications Protocol
for more detailed information about the MPIRE communication protocol.

This architecture provides flexibility and allows for future expansion. For
example, porting MPIRE to a new computer only requires a new rendering engine
and a slight modification to renderd to allow it to start a
process on the new computer - no changes to the interface would be required.
Also, different implementations of volume rendering algorithms on the T3E and
other systems could be controlled by the same interface (and
renderd), providing a testbed for comparison of the
algorithms.
System Requirements
MPIRE is designed to run the interface on a machine local to the user and the
rendering engine on a remote system with communication taking place via
sockets and signals. The rendering engines currently available include
parallel implementations of the splatting and ray casting algorithms for the
Cray T3D system running UNICOS version 8.0.0.0 or higher, and the Cray T3E
system running UNICOS/mk 1.3.1 or higher, and a serial implementation of the
splatting algorithm for single processor SGI workstations running IRIX
5.3 or higher.
Installation Instructions
For detailed instructions on the installation procedure for MPIRE, please
refer to the README files provided in the MPIRE software
distribution. You will need to install one or more of the MPIRE graphical
user interfaces, the MPIRE rendering daemon renderd, the MPIRE
rendering library, and one or more of the MPIRE rendering engines.
How This Manual is Put Together
The MPIRE Users Manual (this text) provides you with a concise
introduction and general reference to the layout and use of MPIRE's many
features. It is designed for users who are already familiar with the basic
concepts involved in using AVS and/or Java applets. In addition, basic
knowledge of medical data and volume rendering is helpful.
This manual is divided into five sections.
Conventions
This manual is written with conventions which are designed to clarify, and to
draw your attention to certain kinds of information. This is done to help
you quickly find documentation specific to a given subject, and to help you
better understand many of the concepts involved in using MPIRE.
constant width font, so the printed version closely resembles
what you would see on a computer screen.
