Skip to content

User Support banner image

Mesh Viewer User Guide

Mesh Viewer supports interactive viewing of multi-modal, multi-resolution volume data. It allows users to interactively view and manipulate large-scale volume data, then generate volume rendered images. The Mesh Viewer integrates with the NPACI Scalable Visualization Toolkits to access large-scale volume data. In particular, it uses the Mesh Toolkit to scalably access mesh data. The Mesh Viewer also interfaces with the VISTA Volume Renderer to generate volume rendered images.

Note: Place your cursor over the images to see full-sized versions.


1. Startup

When the Mesh Viewer application is started, the main window will display an empty scene.

Figure 1.1. Initial Viewer Window.
 
The Volume Scene Editor list is empty, indicating that there are no volumes in the scene.
Figure 1.2. Initial Volume Scene Editor.

2. Open a Volume

To load a volume file, select the File > Open Volume... menu item.

Figure 2.1. Open Volume Menu Item.
This will open a standard file chooser. Use the file chooser to select a volume file ending with the .vol*, .msh, .rawiv or .hdr extension.
Figure 2.2. Open Volume File Dialog.

3. Interactive Viewing

A volume file contains the raw data for a volume and may include additional information about the volume such as its position and size. The volume can be viewed interactively by dragging the mouse inside the scene view. Use the left mouse button to rotate the scene. The middle mouse button will zoom into and out of the scene. The right mouse button will translate the scene parallel to the viewing plane.

Figure 3.1. Interactive Viewer.

Back to Top


4. Volume Scene Editor

The Volume Scene Editor window displays the list of volume files in the current scene. The left panel displays the list of volumes as well as buttons to add and remove volumes. A new volume can be added to the scene using the Add... button. The Remove button will remove the currently selected volume from the scene. The right panel displays information about the currently selected volume. The Color Map tab shows a color map than may be applied to the volume. Below the color map, is the transparency transfer function for controlling the transparency of voxels in the volume. Histogram information is displayed in the background to show the distribution of voxels within the volume. Below the transparency transfer function, is a radio button group for selecting the type of filter to apply to the volume. When a scalar volume is loaded, the Color Map filter is automatically selected and the RAINBOW color map is applied by default.


Figure 4.1. Volume Scene Editor.

5. Color Map Filter

The next figure shows the RAINBOW color map in the Volume Scene Editor and the the result of applying the RAINBOW color map to a scalar volume.



Figure 5.1. RAINBOW Color Map
 
The next figure shows the HSB_HUES color map in the Volume Scene Editor and the the result of applying the HSB_HUES color map to a scalar volume.


Figure 5.2. HSB_HUES Color Map
 
The next figure shows the COLD_TO_HOT color map in the Volume Scene Editor and the the result of applying the COLD_TO_HOT color map to a scalar volume.


Figure 5.3. COLD_TO_HOT Color Map

6. Zoom Feature

The Zoom In and Zoom Out buttons expand and collapse the color map and transfer function editor along the horizontal axis. This allows the user to have finer control over the color map and transfer function. The figure below shows the result of pressing the Zoom In button to expand the editor to twice it's original size. A scrollbar allows the user to scroll the editor from left to right.


Figure 6.1. Zoom Feature.

Color Editor Buttons

The Apply button will apply the color editor to the volume. The Reset button will reset the color map and tranparency transfer function. The Interactive check box will apply the color map and transparency transfer function interactively. The Open... and Save... buttons allows the user to save the current color map to a file and open a previously saved color map.


Back to Top


7. Volume RGBA Filter

Select the RGBA Filter radio button in the Color Map tab to turn on RGBA filters.


Figure 7.1. Volume RGBA Filter.
 
The RGBA Filter tab panel allows the user to apply red, green, blue, alpha (RGBA) transfer functions on selected volume fields. The drop-down menus on the left-hand side will select the source field in the volume. The transfer functions will map the selected source field to one of the RGBA output components. The Apply and Reset buttons apply and reset the transfer functions. The Open... and Save... buttons load and save the RGBA transfer function settings into a (.rgb) text file.

Figure 7.2. Volume RGBA Filter.
 
   
The filtered volume can be saved into a new volume file. Select the Filter -> Save Filtered Volume... menu item.

Figure 7.3. Save Filtered Volume.

8. Volume Slice

The Slice tab panel allows the user to slice the volume with orthogonal cutting planes. The text fields and sliders control the position of the orthoganol cutting planes.
The Slice tab panel provides orthogonal cutting planes.


Figure 8.1. Volume Slice.
 
The X,Y,Z check boxes turn cutting planes on and off. The Show Volume check box turns the volume on and off. The example below shows a cutting plane across the X axis.

Figure 8.2. Volume Slice.
 

9. Volume Display

The Display tab panel allows the user to select a Texture 3D and/or Point Cloud volume display. The texture 3D selection displays the volume as a 3D texture projected onto a set of 2D planes. The Number of Planes specifies the number of planes onto which the 3D texture is projected. The point cloud selection displays the volume as a set of points, one per voxel. The Point Size controls the size of the individual points. Setting the point size to "1" will make the point cloud appear solid. The Time Series check box is used to display a list of volume datasets as a time series. Only the currently selected volume is displayed. The Play button will cycle through the list of volumes, displaying them one at a time. The Histogram... button will open a new window displaying a histogram for the volume. The Remote File Name text field shows the relative location of the volume data on the remote volume server.


Figure 9.1. Volume Display.

10. Volume Resolution

The Resolution tab panel allows the user to limit the volume resolution when loading large scale volumes. The Volume Resolution fields show the resolution of the raw volume data. The Skip Voxels fields show the stride or step size to use when loading the volume. For example, setting the skip voxels value to "2" will skip every other voxel. Setting the skip voxels value to "1" will load every voxel. The Reduced Resolution fields show the resolution of the loaded volume resulting from skipping voxels. The Voxel Spacing fields show the spacing between voxels. The default voxel spacing is the inverse of the maximum volume resolution, so that the volume is scaled to fit within a unit cube.


Figure 10.1. Volume Resolution.

Back to Top


11. Volume Transform

The Transform tab panel allows the user to translate, scale and rotate the volume. Use the Translate, Scale and Rotate sliders to quickly move, resize and rotate the volume. The corresponding text fields can be used to set these values precisely. The scale is automatically computed based on the volume resolution and voxel spacing set in the Resolution tab panel.


Figure 11.1. Volume Transform.

12. Camera Editor

Select the Tools > Camera & Path Editor... menu item, to open the Camera Editor and Path Editor windows. The Camera Editor window lets the user add and remove camera key frames. The Path Editor window lets user generate a camera path based on those key frames.


Figure 12.1. Camera & Path Editor Menu Item.
 

The Camera Editor window provides controls for adding and removing camera key frames from a camera list panel on the left side. The Add... button adds the current camera view to the camera list. The Remove button removes the currently selected camera from the camera list.

The Properties tab panel provides text fields for changing the camera index, alpha value, tension, continuity and bias for each camera key frame. These values are set automatically and generally do not need to be edited by the user. The Camera Index is the index label for the selected camera. The Alpha value is a value from 0.0 to 1.0 representing the camera key frames relative distance along the camera path. Tension, Continuity and Bias are factors that control how the camera path interpolation is generated.


Figure 12.2. Camera Editor Properties.
 
The Tranform tab panel provides controls for transforming the currently selected camera. Use the Translate and Rotate sliders to quickly move and orient a camera. The corresponding text fields can be used to set these values precisely. Note that Scale is provided, but it should not be modified by user. Scaling a camera transform may make it an invalid transform.

Figure 12.3. Camera Editor Transform.
 
To load a camera file, select the File > Open ... menu item. This will bring up a standard dialog box from which to select a camera file ending with the ".cam" extension.

Figure 12.4. Open Camera File.
 
The example below shows a camera file named "spiral.cam" that contains 19 camera key frames labelled indices from 0 to 18.

Figure 12.5. Camera Editor Spiral.
 
Each camera key frame in the camera list panel is represented graphically as a view frustum within the viewer. The frustum shows the viewing boundaries and view clipping plane. The green line represents the view-up vector. A green wireframe box represents the currently selected view frustum.

Figure 12.6. Spiral Key Frames

13. Camera Path Editor

The Path Editor window provides controls for generating and playing a camera path. The Frames tab contains text fields that control the number of frames generated and the number of frames per second they will be played back. The Frames per second controls the speed at which the path is played. The Number of seconds controls the duration of the playback and is used to calculate the total number of frames generated. In this case, 15 FPS X 20 seconds equals 300 frames.


Figure 13.1. Path Editor Frames.
 
The File > Generate Path menu item will generate an interpolated camera path using the camera key frames from the Camera Editor window.

Figure 13.2. Path Editor Generate.
 
The interpolated camera path is displayed in the viewer window as a set vectors reprsenting the view look-at vector (in blue) and the up vector (in green).

Figure 13.3. Spiral Camera Path.
 
The Play tab panel provides controls for camera path playback. Use the Play, Pause, Stop, Rewind and Fast Forward buttons to control the playback. A progress bar and text field show the progress of the movie playback. The Loop check box is to play the movie in a continuous loop. Loop is not currently implemented.

Figure 13.4. Path Editor Play.
The Transform tab panel is available to transform individual view frames. However, it is not recommened that the user do this, since the frames are generated automatically.

Back to Top


14. Remote Render Server

The Mesh Viewer client can connect to a remote volume rendering server such as the Vista volume renderer. Select the Server > Connect to Server... menu item to connect to the remote server.


Figure 14.1. Connect to Server.
 

If the connection is successful, the user can use the Server > Start Remote Render... menu item to start the remote rendering process.


Figure 14.2. Start Remote Render.
 
A Status window will show the progress of the remote render process.

Figure 14.3. Render Status.
 
When the remote render has completed, the rendered image will be displayed in a window. Also, a PPM format image file will be saved in the current working directory.

Figure 14.4. Vista Rendered Image.
 
Select the Server > Server Settings... menu item to open the Server Settings window. The Server Settings window provides options for selecting the remote rendering server. The default settings will allow a user to connect to a Vista server running on an SDSC host machine at daemon port 11101. If no such server is running, then the connection will fail. The user may wish to connect a different server by changing the default settings. The default Renderer setting is the "vista" volume renderer. The Host Machine is the machine on which the server is running. The Daemon Port is the default port number on which the render daemon is running. The Render Port is the port on which the server will be launched by the render daemon. The Number Pes is the number of processing elements the server will use on a multi node machine. The Image Resolution specifies the size of the rendered image. The Alpha-Beta Depth is a Vista parameter for controlling the ray-traversal. The Working Directory shows the client's current working directory.


Figure 14.5. Server Settings

14. Local Volume Render

The client can also render a volume locally using a built-in volume ray tracer. Use the Server > Local Render... menu item to start a local volume render.


Figure 14.5. Local Rendered Image.

15. Exit the application

Select the File > Exit menu item to quit the application. The application settings will be saved to a file called "settings.ini". These settings will be loaded the next time the application is started.


Figure 15.1. Exit.

Back to Top


16. Scene Graph File

To load a scene graph file, select the File > Open Scene File... menu item. This will bring up a standard dialog box from which to select a scene graph file ending with the ".st" extension. The Volume Scene Editor window will be updated to show the list of volumes contained in the scene.


Figure 16.1. Open Scene File.

A scene graph file is a text file that describes the volumes contained in the scene. An example scene graph file "brain_stride_08.st" is shown below. This scene graph file loads a volume file located at "C:/data/BrainVis/brain_stride_08.volc" and scales the volume to a cube of size (1.0 x 0.777 x 0.901).

#ST V1
TransformGroup {
    transform Transform {
        translation 0.0 0.0 0.0
    }
    operator Add { }
    children [
    Box {
        center 0.0 0.0 0.0
        size 0.25 0.25 0.25
        outsideValue Color5f { value 0.0 0.0 0.0 0.0 0.0 }
        insideValue Group {
            operator Add { }
            children [
            TransformGroup {
                transform Transform {
                    translation 0.0 0.0 0.0
                    scale 1.0 0.777 0.901
                }
                operator Add { }
                children [
                Volume {
                    center 0.0 0.0 0.0
                    size 1.0 1.0 1.0
                    outsideValue Color5f { value 0.0 0.0 0.0 0.0 0.0 }
                    filename "C:/data/BrainVis/brain_stride_08.volc"
                    interpolation "NEAREST"
                }
                ]
            }
            ]
        }
    }
    ]
}


Back to Top


Did You Get
What You
Wanted?
Yes No
Comments