Computer Visualization of Three-Dimensional Image Data Using IMOD.

James R. Kremer, David N. Mastronarde and J. Richard McIntosh

Boulder Laboratory for 3D Electron Microscopy of Cells, Department of MCD Biology, University of Colorado, Boulder, Colorado 80309-0347

Received May 12, 1995, and in revised form August 3, 1995

Copyright 1996 by Academic Press, Inc.
All rights of reproduction in any form reserved.

We have developed a computer software package, IMOD, as a tool for analyzing and viewing three-dimensional biological image data. IMOD is useful for studying and modeling data from tomographic, serial section, and optical section reconstructions. The software allows image data to be visualized by several different methods. Models of the image data can be visualized by volume or contour surface rendering and can yield quantitative information.


The amount and diversity of three-dimensional (3-D) image data being studied in structural biology has increased steadly with advances in microscope and computer technology. Currently, there is a high demand for computer software that can analyze and display such complex data sets. We have developed several computer programs as an aid for studying 3-D biological data (McDonald et al., 1991; Wilson et al., 1992) and have recently developed the program IMOD to aid in viewing, modeling and analyzing 3-D image data for structural biology (Kremer et al., 1994)

IMOD was written to facilitate viewing of complex and convoluted 3-D image data of the type found in cellular and developmental biology; it affords a user several ways to view, analyze and model image data in order to obtain a better understanding of the structure under study. Most of the controls in IMOD were designed to have simple, yet complete, user interaction. The type of data most suitable for analysis by IMOD is 3-D image data from a volume of material, where each voxel has a single intensity value. Examples of these data are tomographic reconstructions, serial section images from an electron microscope, and optical sections from a light microscope.


Preparation of the 3-D image data for use in IMOD. Tomographic data sets are calculated from a series of tilted views using the R-weighted back projection algorithm (Gilbert, 1972). The tilt series must first be aligned by creating a list of fiducial points, typically colloidal gold particles on the surface of the specimen. The program TILTALIGN uses the minimization approach described by Luther et al. (1988) to solve for the tilt angles and for the shifts, rotations, and size changes needed to align the views. TILTALIGN has two features that help to achieve accurate alignment. First, if necessary, individual fiducials can be labeled through only a subset of views, i.e., those in which a particular fiducial is seen clearly. (The program by Jing and Sachs (1991) also has this feature but cannot solve for tilt angles or section distortion.) Second, some parameters, such as ones that adjust for section distortion, can be expected to change slowly through the series. Several sequential views can be constrained to have the same, unknown value of such a parameter, substantially reducing the number of unknowns that must be solved for.

Serial section images must frequently be aligned using linear transformations that allow for overall change in size and stretch along an arbitrary axis as well as image translation and rotation (McDonald et al., 1991). Three methods (described more fully in Mastronarde et al., 1992) are available in separate programs for obtaining the needed transformations. The first program allows one to visualize the alignment between a pair of adjacent sections while manually adjusting the transformation applied to one of them. This program can also transform contours or points within a model, so that if a misalignment is noticed after modeling has begun, a correction can be made without having to remodel the newly aligned 3-D image. Second, one can make a list of fiducial points that correspond between adjacent sections and use these to solve for the linear transformations. Third, if enough image features are similar from one section to the next, the alignment can be done automatically, using a simplex algorithm to search for the transformation that minimizes a measure of image difference.

IMOD uses the MRC image file format developed at the Medical Research Council, Cambridge, England. We chose this format for IMOD because we had already developed numerous programs that used it to run on a VaxStation 3200 (McDonald et al., 1991). This format has the advantage of storing the 3-D image or stack of 2-D images in one file. Ancillary programs in the IMOD package can convert TIFF image files in the byte format, rgb files from Silicon Graphics Inc. (SGI), and raw image data to the MRC format. Once the 3-D image volume has been converted to MRC format and aligned, it is ready for viewing and modeling.

Viewing the 3-D image data with IMOD. IMOD allows 3-D image data to be visualized by several different methods. Each view is shown in its own window and is linked with others that show the same location in 3-D space from a different point of view. In this way, IMOD allows one to visualize 3-D image data interactively on a 2-D computer display. The windows representing these views are called the Zap (Zoom and pan) window (Fig. 1B), Model View window (Fig. 1C ), Tumbler window (Fig. 2A), Image Graph window (Fig. 2B), Slicer window (Fig. 2C), XYZ window (Fig. 2D), and Tilt window. All windows share the same current point within the 3-D data set and share the same brightness and contrast settings. IMOD's main program window (Fig. 1A) shows the status of the model being built, the current location of the displays in the 3-D image, and the current contrast settings. This window can also display text information, such as the areas within contours and error messages.

The Zap window allows the user to zoom and pan an image in real time. The view represented by the Zap window is a slice perpendicular to the Z-axis in the 3-D image volume (Fig. 1C). The Zap window overlays model contours and points on the image, and the model may be edited using a mouse. Panning from one area to another is quickly done by using the mouse to drag the image to the desired view.

The Model View window shows a Z-buffered wire frame rendering of model contour, line and point data with adjustable perspective (Fig. 1C). The model data can be visualized in cross-eyed or wall-eyed stereo, and adjustments for scaling, rotation, and translation can be made manually. The view of the model data can be rotating while one is editing it.

The XYZ window contains three views arranged like a mechanical drawing of a 3-D object (Fig. 2D). The lower left image is the same view shown in the Zap window; the top and right images are orthogonal planes cut through the volume at the current viewing point along the X- and Y-axes, respectively. The layout of this view allows one to know exactly what planes of the 3-D image data are being displayed.

The Slicer window displays a slice cut through the 3-D image data in any chosen orientation (Fig. 2C). The slice can be rotated about the Z-, Y-, and X-axes and can be zoomed up. The slice can be displayed quickly with nearest-neighbor interpolation or with higher quality, but slower, quadratic interpolation. The orientation of the slice in the 3-D volume is shown by lines that indicate the intersection of the slice's plane with the X, Y and Z normal planes displayed in the XYZ window (Fig. 2D)

The Tilt and Tumbler windows each show an orthographic summed voxel projection of the 3-D data; the former is based on a precalculated series of images, whereas the latter is calculated in real time. The Tilt window can display the original tilted views from which a tomogram was calculated, or a series of projections about the Y-axis of a 3-D volume. One can also use this window to view the current model contour within the 3-D data set in cross-eyed stereo. The Tumbler window shows a projection of a small volume around a selected point (Fig. 2A). The user can easily rotate the volume to any orientation.

Modeling areas of interest. The model structure in IMOD was designed to be flexible and fast by employing a data hierarchy. Models can contain several types of data including a list of scattered points, a list of contours describing a surface, a 3-D polygon mesh, a list of connected line segments, a list of points describing locations of similarly shaped items such as nuclear pores, or a list of scanline segments used for volume rendering. Data of one type can be grouped together into a single object that has attributes such as color, shininess, transparency, line width, point size, and name. All data types except the 3-D polygon mesh and the scanline list can be edited manually. Contours can be created by a semi-automated procedure that creates a contour around a selected area at a given threshold. Moreover, an entire contour-based model can be created by a fully automated threshold algorithm. Models generated automatically can be edited manually to improve the accuracy of the model.

Visualization of the modeled volume. Once a 3-D volume has been modeled, the model can be studied further. A projection of the 3-D model can be displayed either by surface rendering of the contour data or by volume rendering of the image data contained within the contours. Quantitative results, such as volumes, surface areas, nearest neighbor distances, and centroids can be obtained from the model data.

A smooth skin can be wrapped around the volume represented by the contours of a given object. The skin is represented by a surface mesh of connected triangles whose points are the same data points contained within the contours, along with additional points used to connect branches as needed. Adjacent contours are connected using an algorithm that minimizes the length of connecting lines between the two contours. Branches are handled by a method similar to that of Shantz (1981). Surface normals are also calculated, allowing a simple lighting algorithm to be used to display each object. The display program for this type of rendering, IMODV, is completely user-interactive. Volume rendering is done by a separate command-line-driven program that generates movies of the 3-D image data rotating about a fixed axis.

Other image processing tools. Several other command-line-driven programs are available to work with IMOD. Available operations include rotation, translation, stretching, cross-correlation, edge detection, calculating Fourier transforms, image averaging, filtering, and adjusting contrast and brightness. Most of these processes can be done in 2-D or 3-D. Montaged images can also be blended together to create a single large image.


High Voltage Electron Microscope Tomography

IMOD has been used to model tomographic image data of the trans-Golgi network and trans-Golgi cisternae in NRK cells (Ladinsky et al., 1994). An example of this application can be seen in Fig. 1, and an example of a completed model is shown in Figs. 3A and 3B.

The tomograms shown in Fig. 2 were generated from two ±60° tilt series of a 0.25µm section of relaxed insect flight muscle. Micrographs were taken at 1° intervals around orthogonal axes and combined to create a single tomogram. The myofilaments were not perfectly aligned with the plane of section (Fig. 2D), so the Slicer window was used to bring a plane containing alternating thick and thin filaments into view (Fig. 2C).

Serial Section Reconstruction from Electron Micrographs

IMOD has also been used in several studies of 3-D reconstructions from serial sections imaged in an electron microscope. An example of one such reconstruction, of a mitotic nucleus from a wild-type yeast cell, can be seen in Fig. 3C. The small bright spheres represent the nuclear pores, which were modeled by manually selecting the center of each pore. One section was missing from the input data, but an option for the skinning program, IMODMESH, was used to fill in the missing data. We are now collecting statistics on the number and distribution of the nuclear pores from several models from differing strains of yeast.

Other forms of data

IMOD can be useful for studying any kind of isotropic 3-D images, such as ones from confocal microscopy or MRI scans. For example, image data of a 12-cell embryo of the nematode, C. elegans (Wood, 1988), were acquired from a light microscope using Nomarski differential interference contrast optics. The cell membranes and nuclei were modeled and then rendered as shown in Fig. 3D to illustrate the value of being able to make individual objects transparent. IMOD has thus proven useful for determining the connectivity between structures in light microscopic images as well as in electron tomographic data.


Advantages of using IMOD for viewing 3-D image data.

Most scientists who have worked with 3-D images have confronted the problem of studying and displaying their data in a reliable, comprehensible manner. IMOD was conceived and implemented in a laboratory that confronts these problems on a daily basis. The flexibility and power of this program reflects our strong belief that multiple approaches to display and analysis contribute to a valid understanding of 3-D data.

Each of the different views available within the IMOD program provides a different form of data visualization; our experience suggests that each form of display offers different insights into the 3-D structure under study. For example, slices viewed seriatim in the third dimension are extremely useful for developing a clear understanding of 2-D arrangements, but with such a display it is sometimes difficult to perceive the links between complex 3-D objects. Graphic contours drawn over 2-D data and assembled in 3-D can help one to perceive such linkages, but some form of rendering into a 3-D surface is often necessary to display the continuity clearly. On the other hand, it is not uncommon to introduce errors of interpretation while making such a model. Since identifying and correcting such errors in a rendered model is impossible, it is important to have effective ways of perceiving continuity in the original image data. IMOD's Slicer window, which allows one to cut a 3-D data set in a plane with easily chosen orientation and position, has been helpful in developing accurate models of cytoplasmic membranes. It has also helped in obtaining informative views of highly ordered structures, such as a myofibril. Finally, we have found that models are most accurate when they go through several generations of refinement. Our effort to develop semi-automated modeling routines, which provide draft structures that can subsequently be manually edited within IMOD, reflects our experience that a trained scientific observer is generally the best arbiter of difficult questions about the relationships between the model and the original data.

Display flexibility is also valuable in viewing models. One wants varying levels of model complexity, ranging from simple contours to wire frames to rendered surfaces. One also wants different levels of transparency to enhance viewing of certain model features.

An obvious value of building computer models of complex structures is the ease with which structural data may subsequently be quantified for objective analysis of hypothetical structural features. This ability has been particularly useful for us in our analysis of mitotic spindles (e.g., Mastronarde et al., 1993). IMOD's abilities to measure areas, volumes, and contour lengths, and to count objects of any model class constitute additional advantages of the software now available.

Requirements for using IMOD.

IMOD was developed on a Silicon Graphics Inc. (SGI) computer system and currently requires an SGI with 24-bit graphics in order to run. We plan to make IMOD available for more computer systems by using X-Windows/Motif and SGI's OpenGL for rendering of the graphic data. Using these programming interfaces would allow all 8-bit X-Windows-capable computers to run IMOD. The executable version of IMOD and all ancillary programs are freely available from the Boulder Laboratory for 3-D Fine Structure.

Future improvements to IMOD.

IMOD is a fairly new program, and we are working both on improvements to IMOD and on additional programs. We are currently seeking to enhance automated modeling by adding edge detection along with threshold detection (Yanowitz and Bruckstein, 1989) and by adding the ability to detect specific types of objects, such as the nuclear pores shown in Fig 3C. Users will be able to start outlining contours with a few points and have an interactive edge tracer complete the contour.

The Slicer window (Fig. 2C) will add the ability to display slices of different thicknesses and to view these thick slices in stereo. Volume rendering is now done statically, but it will be valuable to have this rendering occur in real time after the user selects the orientation of the model. Interactive or batch file control will be used to render 3-D movies automatically.


Note: If the figures appear too dark, please adjust the gamma level to 1.7.

FIG. 1.

Modeling a tomogram of the trans-Golgi network. The main program window (A) shows the current object, contour, and point along with the current X, Y, and Z location in 3-D space. At the bottom, the current contour's area and length have been printed out. The "Black" and "White" sliders are used for controlling image contrast. The Zap window (B) shows a slice though the image data with model contours overlaid. The Model View window (C) shows a Z-buffered wire-frame rendering in real time as the model is being built.

FIG. 2.

Viewing a tomogram of insect flight muscle in a relaxed state. The Tumbler window (A) shows a small cube cut out of the tomogram around the current point. The Image Graph X window (B) shows a graph of voxel intensity along the horizontal (X) dimension of the tomographic data shown in the XYZ window. The vertical line shows the location of the current X value. The Slicer window (C) shows a slice that has been rotated by -6.6° about the X axis, -7.1° about the Y axis, and 11.6° about the Z axis of the tomogram, as indicated by the three sliders. The XYZ window (D) shows the planes that intersect the current viewing point normal to the X, Y, and Z axes. The lines through the images show the intersection of these planes with the plane shown in the Slicer window (C). Lines in the upper right corner of the XYZ window depict the current depth in the volume, and two additional lines show where the orthogonal slices are being cut through the volume.

FIG. 3.

Reconstructions by contour modeling in images acquired in three different ways. (A, B) The completed model of the trans-Golgi network tomogram from Fig. 1 is shown by volume rendering (A) and by surface rendering (B). Each type of rendering shows different aspects of the tomographic data. (C) An example of a reconstruction based on serial section electron micrographs. The model represents a mitotic nucleus from a wild-type yeast cell, showing the location of the nuclear pores as spheres and the location of the nuclear envelope as a semi-transparent skin. Yeast were prepared and imaged as described in Winey et al., 1995. (D) An example of a reconstruction based on optical sections. The model represents a 12-cell C. elegans embryo showing the cell membranes; the nuclei (N) of the MS cell can be seen through the transparent membrane. The thickness of each optical slice was 0.5 µm and the pixel size was 90 nm.
We thank Mark Winey and Thomas H. Giddings for supplying the yeast model, William Wood and Daniel Weaver for supplying the 12-cell embryo model, Mary Reedy and Michael Reedy for providing a sample of muscle, David Agard and Hans Chen for the original MRC source code, and Wah Chiu for a Unix version of low-level MRC file routines. This work was supported by Grant RR00592 from the National Institutes of Health to J.R. McIntosh.


Gilbert, P. F. C. (1972) The reconstruction of a three-dimensional structure from projections and its application to electron microscopy. II. Direct methods. Proc. R. Soc. London B Ser. Biol. Sci. 182,89-102

Jing, Z., and Sachs, F. (1991) Alignment of tomographic projections using an incomplete set of fiducial markers. Ultramicroscopy 35, 37-43.

Kremer, J. R., Furcinitti, P. S., and McIntosh, J. R. (1994) New image modeling software used for 3-D analyses of biological electron microscopy data on Silicon Graphics computers. Proceedings of the Microscopy Society of America.

Ladinsky, M. S., Kremer, J. R., Furcinitti, P. S., McIntosh, J. R., and Howell, K. E. (1994) HVEM tomography of the trans-Golgi network: structural insights and identification of a lace-like vesicle coat. Journal of Cell Biology 127, 29-38.

Luther, P. K., Lawrence, M. C., and Crowther, R. A. (1988) A method for monitoring the collapse of plastic sections as a function of electron dose. Ultramicroscopy 24, 7-18.

Mastronarde, D. N., O'Toole, E. T., McDonald, K. L., McIntosh, J. R., and Porter, M. E. (1992) Arrangement of inner dynein arms in wild-type and mutant flagella of Chlamydomonas. Journal of Cell Biology 118, 1145-1162.

Mastronarde, D. N., McDonald, K. L., Ding, R., and McIntosh, J. R. (1993) Interpolar spindle microtubules in PTK cells. Journal of Cell Biology 123, 1475-1489.

McDonald, K. L., Mastronarde, D. N., O'Toole, E. T., Ding, R. B., and McIntosh, J. R. (1991) Computer-based tools for morphometric analysis of mitotic spindles and other microtubule systems. EMSA Bulletin 21, 47-53.

Shantz, M. (1981) Surface definition for branching, contour-defined objects. Computer Graphics 15, 242-266.

Wilson, C. J., Mastronarde, D. N., McEwen, B., and Frank, J. (1992) Measurement of neuronal surface area using high-voltage electron microscope tomography. Neuroimage 1, 11-22.

Winey, M., Mamay, C. L., O'Toole, E. T., Mastronarde, D. N., Giddings, T. H., McDonald, K. L., and McIntosh, J. R. (1995) Three-dimensional ultrastructural analysis of the Saccharomyces cerevisiae mitotic spindle. Journal of Cell Biology, in press.

Wood, W. B. (1988) Embryology. In: The Nematode Caenorhabditis elegans, ed. W. B. Wood., Cold Spring Harbor Laboratory, NY, pp. 215-242.

Yanowitz, S. D., and Bruckstein, A. M. (1989) A new method for image segmentation. Computer Vision, Graphics, and Image Processing 46, 82-95.

The IMOD Home Page is at the URL

James Kremer -