This section covers the details of the MPIRE resource and rendering parameters. A description of each parameter is presented along with valid values each can be set to. In addition, images of the parameters are shown for all of the MPIRE graphical user interfaces (currently: AVS module, Java applet). The parameters are categorized below by general purpose, as they are arranged in the actual GUIs. Note that in some cases, a parameter may not be applicable to all of these interfaces.

Also note that the basic behavior of the various MPIRE GUIs may differ slightly, due to fundamental differences in the underlying execution layer (the Java interpreter in the case of the MPIRE applet for example). In the case of AVS, the value of a widget is not passed onto the rendering engine until it is released (in the case of dial widgets), a carriage return is pressed (in the case of type-in widgets), or a file is selected (in the case of browser widgets). In the case of Java, a carriage return must be pressed after the value of a type-in widget is changed for the new value to take effect.

Image

The Image widgets control characteristics of the images generated by the rendering engine, such as size. For information regarding the view rotation arrows and reset camera view button in the image options panel in the Java applet only, see View .

In the MPIRE AVS module, the image widgets can be accessed by selecting the image button under the set parameters interactively submenu. Note that if you do not see the widgets listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet these widgets are accessed by selecting the Image option from the Options menu.

Image / Raster Resolution in X and Y

These two controls allow you to specify the width X and height Y of the rendered images. Appropriate values are between 1 and 4096, and are measured in pixels.

In the case of the Java applet only, these values can also be set by simultaneously pressing the left (or only) mouse button and Shift key with the mouse pointer in the main display window, while dragging the resulting rubber-band outline to the desired size.


Lighting

The Lighting widgets control characteristics of the light source, such as direction relative to the volume. By changing the direction of the light source, particular areas of interest in the data may be highlighted.

MPIRE uses the Phong reflection model to simulate the illumination of materials contained in the data volume by a single infinite point light source. The lighting calculations require a non-insignificant amount of time for every voxel in the data set. It is therefore desirable for this shading step to only occur when parameters relating to characteristics of the volume or to the light source are modified. For this reason, the position of the light is held constant with respect to the volume. As you modify the view position, the light source will appear to move with the volume.

In the MPIRE AVS module the lighting widgets are accessed by selecting the lighting button under the set parameters interactively submenu. Note that if you do not see the widgets listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet these widgets are accessed by selecting the Lighting option from the Options menu.

Light Direction in X Y and Z

The three controls allow you to orient the point light source relative to the local X, Y, and Z axes of the volume. Appropriate values are between -1.0 and 1.0, and define the direction of the lighting vector. Modifying the direction in the X or Y dimensions will appear to move the light source in a plane parallel to the slices of the data volume. Changing the direction in the Z dimension will appear to move the light perpendicular to the slices of the volume.


Materials

The Materials widgets let you specify which materials description file to apply to the data volume, and will eventually include an interactive materials classification editor (Java applet only). The materials description file defines the number of materials present in the volume, the unit (density in the case of Computed Tomography data for example) ranges associated with each material, and the color and opacity of each material as it should appear in the rendered image. This capability allows you to highlight the particular structures of interest by changing their properties relative to those of the remaining materials. The Material Files section describes in detail the format and use of the components in this type of file.

Materials File Path

In the MPIRE AVS module the materials file path widget is accessed by selecting the materials button under the set parameters interactively submenu. Note that if you do not see the widget listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet this widget is accessed by selecting the Open Materials option from the File menu.

Type in the full path to the material description file on the render host that you wish to use. A different description file can be loaded at any time, and its values will replace those set by any previous file.

Edit Materials Option (Java applet GUI only)

An interactive materials classification editor will eventually be available for the MPIRE Java applet. The editor will provide widgets for controlling the mapping from unit ranges in the data to color and transparency, and will show the effect of the selected values on the appearance of a subsection of your data. When available, the editor will be accessed by selecting the Materials option from the Edit menu.


Parameter Files

The following widgets allow you to read in an existing set of parameter values, or save the current parameter settings to a file. The format of these files is described in detail in the appendix of this manual under Parameter Files. Note that due to the security restrictions imposed on the execution of Java applets by their host web browsers, the capability to read and write parameter files is available in the AVS module GUI only.

Read Parameters From a File (AVS module GUI only)

The file browser for reading a parameter file is accessed by selecting the read parameters from a file button in the main MPIRE AVS module menu.

Using this browser, locate the desired parameter file on the interface host and select it. It will automatically be loaded and a new rendering session started.

Write Parameters To a File (AVS module GUI only)

The file browser for writing a parameter file is accessed by selecting the write parameters to a file button in the main MPIRE AVS module menu. This browser is identical in appearance to the one shown above. To save the current parameter values to a file, locate the desired storage directory on the interface host. Then select an existing file in which to store the values (doing so will overwrite any previous values in the file) or use the New File button at the bottom of the browser to create a new file.


Preferences

The widgets described here do not belong to any of the major parameter categories. These controls generally relate to the fundamental behavior of the graphical user interface only, and tend not to affect rendered images directly.

About Center (Java applet GUI only)

The about center option allows you to specify how you would like transformations of the trackball bounding box (see Trackball Controls) to be calculated. This option can be found under the Prefs menu.

By default, rotation, scaling, and translation of the trackball bounding box (and hence the volume) occurs relative to the origin in world coordinates (roughly the center of the image display window). Selecting the about center option causes subsequent transformations of the volume to occur relative to the center of the current trackball bounding box. This is useful in cases where you like the placement of the volume, and want to zoom in or rotate it, keeping the volume centered at that location. Deselecting this option resets the default behavior. This preference can be selected and deselected as often as necessary and at any time during the rendering process.

Auto Render (Java applet GUI only)

The auto render option allows you to control when changes made to certain rendering parameters cause a new image to be rendered automatically. This option can be found under the Prefs menu.

By default, modifications you make to the values of any of the rendering parameters do not take effect and cause a new image to be generated until you select the render button at the bottom of any of the Options panels. Selecting the auto render option causes a new image to be automatically rendered immediately after any of the widgets under the Image options panel or the trackball (see Trackball Controls) are modified. This is often useful if you are making a series of changes to the view position, and do not wish to reselect the render button each time. Deselecting this option resets the default behavior. This preference can be selected and deselected as often as necessary and at any time during the rendering process.

Freeze (AVS module GUI only)

The freeze button allows you to control when changes to the values of the other widgets cause a new image to be rendered. This button is located on the main MPIRE AVS module menu.

With freeze selected, any changes you make to the values of the other parameters will not be sent to the rendering engine until you deselect this button. Normally, the new value of a widget you just changed is passed onto the rendering engine immediately after it is released (in the case of dial widgets), a carriage return is pressed (in the case of type-in widgets), or a file is selected (in the case of browser widgets). However it is often desirable to be able to change the values of multiple widgets before a new image is rendered. The freeze button provides this capability. This button can be selected and deselected as often as necessary and at any time during the rendering process.

For the MPIRE rendering engine to work properly, it must receive a complete set of parameter values prior to rendering an image. For this reason, when a new MPIRE AVS module is started, all of the widgets under the set parameters interactively menu are hidden, until either the freeze button is selected, or a parameter file is loaded (see Read Parameters From a File). These two conditions attempt to insure that all of the rendering parameters get initialized prior to sending them to the engine.


Raw Data

The Raw Data widgets give you control over a variety of characteristics relating to the raw data to be rendered, including storage location, range, resolution, spacing between data slices, and type. These parameters allow you to restrict the rendering to only the particular section of the volume of interest. In addition, they provide a primitive means of downsizing your data so that it can be effectively previewed without consuming significant compute resources.

In the MPIRE AVS module the raw data widgets are accessed by selecting the raw data button under the set parameters interactively submenu. Note that if you do not see the widgets listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet these widgets are accessed by selecting the Raw Data option from the Options menu.

Slice Directory Path

This type-in text control allows you to specify the location of the directory that contains the raw data. Type in the full path to the data directory on the render host.

Slice Range

Labeled from slice and to slice in the MPIRE AVS module and slice range in the Java applet, these controls allow you to specify the particular section of the data volume of interest. MPIRE perceives the volume to be composed of a sequence of two dimensional X-Y planes (slices) of data. In the case of raw data that is stored as a sequence of files (one per slice), these widgets should be given values relative to the slice numbers contained in the file names (for example, if the slice files composing your volume were named 1006.ct to 1278.ct and you wanted to render the first 10 slices, you would set the slice range widgets to read 1006 and 1015). In the case of raw data where the entire volume is stored in a single file, these widgets should be given values corresponding to the logical data plane numbers, counting from 0. Note that in either case, the specified range is taken to be inclusive. Note also that the total number of slices in this range must not be less than the size of the processing group (see Nodes / PE Group Size).

Step

This type-in text control allows you to specify the number of X-Y data planes in the slice range that will be rendered. This control provides a primitive means of downsizing the data to be rendered. Valid values include any whole number in the range of 1 to n where n is the number of slices in the volume. A value of 1 indicates that every slice in the range specified is to be rendered. A value of 2 indicates that every other data plane in the range specified is to be rendered. A value of m indicates that every m-th slice in the range is to be rendered. In this way, very large data volumes can be previewed by selecting a step value appropriate to the available compute resources and desired rendering rate. Note that the actual (stepped) number of slices rendered must not be less than the size of the processing group (see Nodes / PE Group Size).

Z Spacing

The z spacing control defines the ratio of the width (units in the X-Y data planes) to height (units along the Z axis) for the particular data set you are studying. Acceptable values include any floating point number between 0.0 and 8.0. For slice oriented data, this value represents the distance between slices (for example, if the distance between corresponding samples in different slices of your volume data is 4 times the distance between neighboring samples in the same slice, you should set the z spacing to 4.0). Note that 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.

Slice Resolution in X and Y

These two controls allow you to specify the width X and height Y of the bounding box around your volume. These values are exactly equal to the width and height of the X-Y data planes (slices) making up your volume. Appropriate values are between 1 and 4096, and are measured in samples.

Slice Type

The slice type control allows you to specify the particular format in which your raw data is stored. Note that this control is labeled slice type as most of the supported formats are slice oriented. The raw data types currently supported include: Computed Tomography (CT) slices with and without headers, CT slices from the Visible Human Project, General Electric Magnetic Resonance Imaging (MRI) slices with pre-classified (pre-colored) template slices, and digital color images (RGB) from the Visible Human Project.


Resources

The Resources widgets allow you to specify characteristics of the desired computational resources that will be used to render your volume data. These parameters include the computer system that will be the rendering host, the percentage of the host that will be used (in the case of parallel systems), and the specific rendering technique. Together these widgets control the fundamental behavior of the rendering session including the quality of the rendered images and the wall-clock time required to generate each.

In the MPIRE AVS module the resources widgets are accessed by selecting the resources button under the set parameters interactively submenu. Note that if you do not see the widgets listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet these widgets are accessed by selecting the Resources option from the Options menu.

Render Host

The render host control allows you to specify the particular host that will be used to render the images. The value of this widget should be set to the name of a host on which you know to be installed one or more of the MPIRE rendering engines, along with the MPIRE rendering daemon renderd.

Port Number

The port number control allows you to specify an unused port number over which the interface will talk to the rendering engine. Appropriate values include any integer in the range between 1000 and 99999. The default value is generally set (arbitrarily) to 8940. This default is sufficient for most environments, however if you experience difficulty in getting a rendering engine to run, check with your system administrator to be sure this port number is not in use by another piece of software. If multiple users are running rendering engines on the same host, the rendering daemon located there will coordinate port numbers across these users so that no two are using the same value at the same time.

Nodes / PE Group Size

The nodes or PE group size controls allow you to specify the number of processors on the render host that you want applied to the rendering process. In the case of render hosts that only have a single processor, this value should be set to 1. In the case of multiprocessor render hosts, valid values range between 2 and the number of processors you have access to (ask your system administrator if you are unsure of this number). Note that generally the more processors used, the faster images will be rendered and the larger the available memory for storing your volume data. Also note that the number of processors used cannot exceed the number of X-Y planes (slices) of data actually rendered (see Slice Range). In other words the minimum required workload per processor is one X-Y plane. Finally, if the requested processors are not immediately available (perhaps they are being used by another job), the interface will pause until they have been allocated to you.

Rendering Engine / Renderer

The rendering engine control allows you to specify the particular MPIRE rendering engine to be used. The engines differ in the technique used to generate images, and typically provide a choice between rendering speed and image quality. Currently supported engines include one based on a splatting algorithm and one based on a ray casting algorithm, called splatter and caster respectively. The former renders medium quality images at high speed, while the latter renders high quality images at lower speeds. Note that not all of these engines are available on all types of rendering platforms (see System Requirements). A new engine can be selected at any time during the rendering process. This is often useful for rendering a high quality image once a desired viewpoint has been previewed using a higher speed renderer.

Engine Control / Start Engine button (Java applet GUI only)

The start engine button starts up the specified rendering engine on the specified nodes of the render host. In the AVS module GUI this action occurs automatically after all of the resources parameters have been given valid values. In the Java applet GUI, the engine can be started anytime after the render host, port number, nodes, and rendering engine widgets are appropriately configured. Note that if the requested processors are not immediately available for use (perhaps they are being used by another job), the interface will pause until they have been allocated to you, and the text on this button will indicate that the engine is still in the process of starting up. After an engine is running, the text of this button will change to stop engine, indicating that the engine can be shut down by pressing this button a second time. Also, should you change the value of any of the resources widgets after an engine has been started, the text of this button will turn red, indicating that the engine should be restarted for the change(s) to take effect.


Status

The rendering engine is capable of printing out various levels of status and debugging information during the rendering process. The Status widgets allow you to control which levels of information are printed, and in the case of the Java applet GUI, the visibility of the window in which this data is displayed (in the case of the AVS module GUI, status information is displayed in the shell window used to launch the AVS application).

In the MPIRE AVS module the status widgets are accessed by selecting the status button under the set parameters interactively submenu. Note that if you do not see the widgets listed below, select the freeze button at the top of the main menu (refer to the description of the freeze widget for more information). In the MPIRE Java applet these widgets are accessed by selecting the Status option from the Options menu.

Status Information Control

The status information control buttons allow you to select the type of status messages printed. These buttons can be selected in any combination at any time before or during the rendering process.

Note that in general, printing status information can slightly degrade the overall performance of the rendering engine. Note also that at this time, the AVS module GUI cannot print status information.

Show / Hide Status Window (Java applet GUI only)

In the Java applet GUI, status information is displayed in a separate window created just for this purpose. The show status window button controls the visibility of the status window. Selecting this button once opens the status window and changes the text of the button to hide status window. Selecting the button again closes the status window and resets the button text to show status window. Note that hiding the status window does not prevent it from receiving status information, but rather frees up screen space.


View

The View widgets allow you to control the position of the viewpoint relative to the volume, from which an image will be rendered. These widgets include a virtual trackball that is used to control the viewpoint by manipulating an outline of a cube, drawn over the previous rendered image, directly with the mouse. In addition, the Java applet GUI provides more precise control over a few aspects of the view position using buttons.

Trackball Controls

Once an image has been rendered, the viewpoint from which succeeding images will be rendered can be controlled via a virtual trackball. In the case of the AVS module GUI, the trackball is operated as follows. With the mouse pointer in the display tracker window (see Constructing a Simple MPIRE Network ), press and hold the middle mouse button. Doing so will display a bounding box superimposed over the rendered image. You can rotate the bounding box by moving the mouse. Once you have achieved the desired rotation, release the mouse button and a new image will be rendered based on the updated view. You can translate the bounding box (and hence the volume) by moving the mouse pointer in the image window with the right mouse button depressed. You can scale the bounding box by moving the mouse pointer in the image window with the shift key and middle mouse button simultaneously depressed. Finally, you can reset the view to the default by placing the pointer in the image window and pressing the left mouse button.

The virtual trackball widget in the MPIRE Java applet GUI is controlled in a similar manner. Note that the following directions assume that the auto render option is set under the Prefs menu (see Auto Render for details). With the mouse pointer in the main MPIRE applet window, press and hold the left mouse button. Doing so will display a bounding box superimposed over the rendered image. You can rotate the bounding box by moving the mouse. Once you have achieved the desired rotation, release the mouse button and a new image will be rendered based on the updated view. You can translate the bounding box (and hence the volume) by moving the mouse pointer in the image window with the right mouse button depressed. You can scale the bounding box by moving the mouse pointer in the image window with the middle mouse button depressed. If you are using a one or two button mouse, rotate the box using the left (or only) button, scale the box using the left (or only) button while pressing the Alt key, and translate the box using the left (or only) button while pressing the Meta or key.

View Rotation Arrows / Reset Camera View (Java applet GUI only)

The MPIRE Java applet GUI provides a means of more precisely controlling certain aspects of the view position relative to the volume. A series of buttons allow you to control the rotation of the camera around the volume, and reset the view position to the default. These buttons can be accessed by selecting the Image option from the Options menu.

The four arrow buttons allow you to rotate the view position about the volume in the four directions indicated, in 90 degree increments relative to the current position. This is often useful for generating orthogonal images of the data.

The reset camera view button, as the name implies, restores the view position to the default (volume centered in the window with the view direction parallel to the Z axis).


CONTENTS * ABOUT * AVS INTRO * JAVA INTRO * PARAMETERS * APPENDIX