Parameter Files

Parameter files are used to set the values of the widgets of the MPIRE interface, and to control non-interactive rendering sessions. The following is an example of an MPIRE parameter file. This file is used in conjunction with CT data of the upper portion of a dog thigh.
  400 300
  /usr/mpire/Dogleg
  0
  4.0
  golden.sdsc.edu
  16
  splatter
  1 16 1 256 256
  1.0 -1.0 1.0
  /usr/mpire/materials/dogleg.full.mats
  1 1 1 1 0
The first line indicates the desired size (in pixels) of the rendered image. The first number represents the width of the image, and the second number the height of the image. So for this example, MPIRE would generate images 400 pixels wide by 300 pixels high. Acceptable values for these fields range between 1 and 4096.

The second line gives the absolute pathname to the directory which contains the raw data slices on the render host.

The single value on the third line indicates the type of data slices contained in the previously defined directory. A value of "0" indicates that the slices are in a CT format that includes a header. "1" indicates the slices are in a headerless CT format. "2" indicates the slices are in CT format available from the Visible Human Project. "10" indicates the slices are in RGB format available from the Visible Human Project. "21" indicates the slices are pre-colored MRI data.

The single value on the fourth line represents the z-spacing value and may be a floating point number. This number defines the inter-slice distance for the particular data set you are studying. As newer scanning devices are capable of recording slices closer together, this value affects the apparent scale of the scanned subject along the slice axis. If the width to height ratio of a subject in a rendered image does not appear correct, it is likely that the z-spacing value used is incorrect.

The fifth line contains the official hostname of the render host that you have access to.

The sixth line contains the PE group size to use.

The seventh line contains the name of the rendering engine to use. Acceptable values include splatter and caster.

The eighth line has the range of slices to render (from slice, to slice, and step) and the slice resolution in x and y.

The three values on the ninth line indicate the direction of the light source relative to the volume. Appropriate values are between 1 and -1 inclusive.

The tenth line is the full pathname of the file containing the material description file on the render host.

Finally, the last line contains a 0 or 1 for each of the information widgets: configuration data, shading times, rendering times, transfer rate, and debug.


Material Files

MPIRE material description files provide the rendering engine with the information required to complete the shading stage of the rendering process. Specifically, material description files define the number of distinct materials (such as tissue types) present in the scanned object, the density ranges associated with each material, and the opacity and color of each material as it should appear in the rendered image.

Different material description files can be used to highlight particular characteristics of the volume data. For example, in studying a fracture in a femur, a user may wish to view only the bone, so a description file which makes all materials except bone completely transparent (alpha = 0.0) is used. Note that a user could also create a description file with only the bone materials given.

The following is an example of an MPIRE material description file. This file is used in conjunction with CT data of the upper portion of a dog thigh and is included in the distribution.

  7
  -119  0.037  0.042 0.090 0.042   0.420 0.900 0.420
   -32  0.060  0.074 0.074 0.042   0.740 0.740 0.420
    -7  0.03   0.074 0.074 0.042   0.740 0.740 0.420
    30  0.15   0.065 0.025 0.023   0.650 0.250 0.230
   130  0.03   0.065 0.025 0.023   0.650 0.250 0.230
   200  0.4    0.082 0.080 0.076   0.825 0.800 0.765
  2000  0.4    0.082 0.080 0.076   0.825 0.800 0.765
The single value on the first line indicates the number of transitions defined in this description file. 7 transitions implies that there are 6 distinct materials defined in this example. The next 7 lines have a density (in the range -1000 to 2000), an alpha value (0.0 to 1.0), an ambient RGB color, and a diffuse RGB color. The first line means that all voxels from -119 to -31 have alpha = .037 and diffuse color = (.42,.9,.42). An alpha value of 0.0 is completely transparent, while an alpha value of 1.0 is completely opaque. Any voxels less than -119 or greater than 2000 are not shaded and therefore never rendered.


Glossary

caster
One of the rendering engines that can be used with MPIRE. The name comes from the algorithm used to perform the rendering of an image (the ray casting algorithm).

colored sample
An atomic element from a slice of a volume data set, which has been colored (or shaded) based on the density of the tissue at that location.

Java applet
A small application written in the Java programming language that can be run using your web browser.

MPIRE
The name given to the interactive direct volume rendering system described in this manual. The acronym stands for Massively Parallel Interactive Rendering Environment.

MPIRE applet
A Java applet containing the graphical user interface for the MPIRE application.

MPIRE module
An AVS module containing the graphical user interface for the MPIRE application.

processing element (PE)
A single processing unit belonging to a multiprocessor computer.

raster
A two dimensional array of picture elements (pixels).

raw data slice
A slice from a volume data set, as delivered by the original scanning device or computer simulation (uncolored and unshaded).

raw sample
An atomic element from a slice of a volume data set, as delivered by the original scanning device, or computer simulation (uncolored and unshaded).

shaded slice
A slice from a volume data set in which every element has been colored based on tissue type, and shaded using a Phong reflection model.

splatter
One of the rendering engines that can be used with MPIRE. The name comes from the algorithm used to perform the rendering of an image (the splatting algorithm).

UNICOS
A Cray Research, Inc. derivative of AT&T's System V UNIX operating system.

UNICOS/mk
A Cray Research, Inc. derivative of AT&T's System V UNIX operating system specifically for use with the T3D and T3E parallel supercomputers.

volume data set
3D array of voxels

volume rendering
The process of converting a volumetric data set into a viewable image.

voxel
Volume element - a position and a value

viewing plane
Refers to the virtual plane in a projection model, which is co-planar to the raster and used as a basis for determining the relative orientation of the viewer to the volume being viewed.


COMMUNICATIONS PROTOCOL

Initiating a connection between an interface and an MPIRE rendering engine is a two stage process. In a production environment, the assumption is that multiple parties could simultaneously be using separate instances of one or more engines, each with one of the two interface types currently available (Java applet, AVS module). To allow for this multi-user capability, the interface first connects to the rendering daemon renderd, and then to the instance of the rendering engine started for it by this daemon. Specifically:

At this point the stage is set for a rendering session. Through the course of the session, the user will make changes to one or more of the rendering parameters and a new image will be rendered. This changed parameter / new image cycle continues until the user exits from the interface. Specifically:
CONTENTS * ABOUT * AVS INTRO * JAVA INTRO * PARAMETERS * APPENDIX