The following is a list of published (or to be published) conference papers and journal articles that bear my name. Entries are listed in reverse chronological order. Each includes a citation, abstract, and a link to a postscript or html formatted version of the full text.

Data Intensive Volume Visualization on the Tera MTA and Cray T3E

Allan Snavely, Greg Johnson, and Jon Genetti. Data Intensive Volume Visualization on the Tera MTA and Cray T3E. In Proceedings of the High Performance Computing Symposium - HPC '99, pages 59-64, 1999.


Raycasting is a DVR (Direct Volume Rendering) technique. DVR is a class of techniques for graphically visualizing 3D data. The data can be from any source as long is it is representable by discrete sample values at each point in a three dimensional grid. Common sources of such data include CT (Computed Tomography), MRI (Magnetic Resonance Imaging), and ultrasound scans. The data can come from simulation or direct measurement of physical phenomena. Direct volume rendering is by nature highly memory intensive. For example, a high resolution representation of a human female, The Visible Female dataset, is 36 gigabytes. A raycasting algorithm must typically visit each byte of this data to produce an image. A further challenge is to optimize DVR algorithms for data locality. Desktop workstations do not currently have the memory or compute power to visualize such large datasets quickly. Yet quick response to user requests for view changes are important to allow interactive exploration. We describe a software system, the MPIRE (Massively Parallel Interactive Rendering Environment), developed at SDSC (San Diego Supercomputer Center), which brings the power of a supercomputer to the desktop via the Web and allows interactive explorations of massive datasets. Currently MPIRE runs on two very different supercomputers; the Cray T3E and the MTA (Tera Multithreaded Architecture). We compare and contrast the architectures of these machines and characterize the porting effort and performance of MPIRE on each.

Collaborative Visualization 101

Greg Johnson. Collaborative Visualization 101. In Gordon Cameron, editor, Computer Graphics (ACM SIGGRAPH), volume 32, number 2, pages 8-11, May 1998.


As the general state of the world's wide area computer networks improves, resulting in higher bandwidth and lower latency connections, effective modes of computer supported cooperative work (CSCW) are approaching realization. The term "collaborative visualization" refers to a subset of CSCW applications in which control over parameters or products of the scientific visualization process is shared. This kind of technology could enable a pair of remote radiologists to compare their findings by cooperatively controlling the view and tissue types displayed in a volume rendering of an ultrasonic scan of the patient, for example.

In this column a handful of collaborative visualization applications are presented. Each is described in the context of its solutions to a few of the challenges facing the users and developers of collaborative systems.

A Prototype Molecular Interactive Collaborative Environment (MICE)

Phil Bourne, Mike Gribskov, Greg Johnson, John Moreland, and Helge Weissig. A Prototype Molecular Interactive Collaborative Environment (MICE). In Pacific Symposium on Biocomputing, pages 118-129, 1998.


Illustrations of macromolecular structure in the scientific literature contain a high level of semantic content through which the authors convey, among other features, the biological function of that macromolecule. We refer to these illustrations as molecular scenes. Such scenes, if available electronically, are not readily accessible for further interactive interrogation. The basic PDB format does not retain features of the scene; formats like PostScript retain the scene but are not interactive; and the many formats used by individual graphics programs, while capable of reproducing the scene, are neither interchangeable nor can they be stored in a database and queried for features of the scene. MICE defines a Molecular Scene Description Language (MSDL) which allows scenes to be stored in a relational database (a molecular scene gallery) and queried. Scenes retrieved from the gallery are rendered in Virtual Reality Modeling Language (VRML) and currently displayed in WebView, a VRML browser modified to support the Virtual Reality Behavior System (VRBS) protocol. VRBS provides communication between multiple client browsers, each capable of manipulating the scene. This level of collaboration works well over standard Internet connections and holds promise for collaborative research at a distance and distance learning. Further, via VRBS, the VRML world can be used as a visual cue to trigger an application such as a remote MEME search. MICE is very much work in progress. Current work seeks to replace WebView with Netscape, Cosmoplayer, a standard VRML plug-in, and a Java-based console. The console consists of a generic kernel suitable for multiple collaborative applications and additional application specific controls. Further details of the MICE project are available at

Volume Rendering of Large Datasets on the Cray T3D

Greg Johnson and Jon Genetti. Volume Rendering of Large Datasets on the Cray T3D. In 1996 Spring Proceedings (Cray User Group), pages 155-159, 1996.


We have produced a memory optimized volume renderer called Splatter for the Cray T3D. Splatter can render the 512 x 512 x 1877 CT dataset (1 GB) from the Visible Human Project in 6.14 seconds on 128 PEs and 11.64 seconds on 64 PEs. Splatter can also render a 1024 x 608 x 1877 version of the cryosection dataset from the Visible Human Project in 11.8 seconds on 128 PEs and 23 seconds on 64 PEs. An AVS interface gives the user control of the resolution of the shaded data, so large datasets are more likely to fit in memory.

Medical Diagnosis Using the Cray T3D

Greg Johnson and Jon Genetti. Medical Diagnosis Using the Cray T3D. In 1995 Spring Proceedings (Cray User Group), pages 70-77, 1995.


Volume Rendering has produced accurate images of internal anatomy that are useful for both diagnosis and education. While reasonable rendering performance can be achieved on current workstation technology, the emergence of higher resolution data (such as that from the Visible Human dataset sponsored by the National Library of Medicine) is fast eclipsing the CPU and RAM limitations of single processor workstations. For this reason we have implemented several volume rendering engines on the Cray T3D that use an X client to display the results.

This paper focuses on a parallel rendering application that allows a user to explore large, high - resolution medical data sets. VolRender is a Cray T3D executable, controlled via a graphical user interface created in AVS (Application Visualization System), and runs on an X client that is attached to the T3D's host via HIPPI, FDDI or ethernet. The current system provides display rates of up to one frame per second over ethernet and up to five frames per second over FDDI.

High Resolution Interactive Volume Rendering on the Cray T3D

Greg Johnson and Jon Genetti. High Resolution Interactive Volume Rendering on the Cray T3D. In 1994 Fall Proceedings (Cray User Group), pages 119-126, 1994.


Volume rendering has produced accurate images of internal anatomy that are otherwise unattainable. These images are useful for both diagnosis and education, and animation of these images is often critical to the analysis. However, the emergence of higher resolution data from computed tomography (CT) and magnetic resonance imaging (MRI) has exceeded the limits of current workstation technology with respect to rendering these images at rates required for any useful degree of interactivity.

This paper focuses primarily on the design, implementation, and performance issues involved in the creation of a parallel volume rendering engine on the Cray T3D. The programming model of choice is examined in the context of rendering medical data, and the computational workload and data distributions are described. Finally, an analysis of the computational performance achieved by the rendering engine using the Cray T3D is presented.