Module: Voltex ()

Description:

This module is deprecated. Please use Volume Rendering instead.

Direct Volume Rendering is a very intuitive method for visualizing 3D scalar fields. Each point in a data volume is assumed to emit and absorb light. The amount and color of emitted light and the amount of absorption is determined from the scalar data by using a Colormap which includes alpha values. Default colormaps for volume rendering are provided with the distribution and can be edited using the colormap editor. Then the resulting projection from the "shining" data volume is computed.

This module provides you with a hardware accelerated implementation, which uses 2D or 3D texture hardware, to allow for real-time rendering. Note that this currently is not supported by all graphics hardware.

Currently hardware acceleration for 2D and 3D textures is available. If 2D/3D texturing is not supported, using this module on the latter platforms can be extremely slow.

Note that on some systems a significant slowdown can occur if the data set is larger than the available texture memory (which typically is 128MB up to 4GB).

Press the Apply button to start the computations necessary to display the volume. Most parameter changes require pressing this button again.

Connections:

Data [required]
The 3D scalarfield to visualized. Alternatively an RGBA data volume (Colorfield) can be connected. In this case, no colormap is used, but the color and opacity values are taken directly from the data. As a third mode the module can operate on Multi-Channel Field. Here the transfer function for each channel is computed automatically based on the channels native color, the channels data range, and the value of the Gamma port (see below).

ROI [optional]
Connection to a module providing a region-of-interest, like ROI Box. If such a module is connected, only the selected part of the volume will be displayed.

Colormap [optional]
Colormap used to visualize the data.

Ports:

Options

mip stands for maximum intensity projection. When this option is selected, the brightest data value along each ray of sight is displayed instead of the result of the emission absorption model described above. This mode is especially useful for very "sparse" data sets, for example: angiographic data or images of neurons.

color table enables a transfer function lookup for monochrome data when RGBA lookup mode is on. When this option is activated only a quarter of the texture memory is needed for RGBA rendering and the color table and its range can be modified in real-time (i.e., without pressing Apply). Note that due to incomplete OpenGL implementations some graphics boards which claim to support color tables, they do not. If you see artifacts or only plain white cubes, disable this option.

Intensity Range

This port is only available if the module operates on a 3D scalar field and no colormap is connected. In this case, data values are mapped according to this range. Values smaller than the minimum are mapped to completely transparent (no absorption and no emission). Values larger than the maximum appear completely opaque and emit the maximum amount of light. Values in between are mapped proportionally.

Lookup

Only available if a colormap is connected. In Alpha mode, the colormap's alpha value is used for both absorption and emission. In LumAlpha mode, the colormap's alpha value is used for absorption, while the luminance is taken for (uncolored) emission. In RGBA mode, colored images are generated by using all four channels of the colormap.

Colormap

Port to select a colormap.

Gamma

Controls the shape of the transfer function when multi-channel fields are visualized. The opacity value is taken to be , (proportional to data values). The smaller the gamma value is, the more prominent regions with small data values will be.

Alpha scale

A global factor to change the overall transparency of the object independent of the data value.

Number of slices

Only available in 3D texture mode. The larger this number, the better the image quality and the less the rendering performance.

Texture mode

2D texture mode requires some precomputation time but also works on machines which do not support hardware accelerated 3D texturing. 3D mode needs less setup time and sometimes provides superior quality on high-end machines.

Downsample

You can specify integer downsample factors to reduce the size of the data set on-the-fly. e.g., downsampling by 2 in each direction would decrease the size of the data set by a factor of 8. This can dramatically improve rendering performance.

Commands:

showSlices {0|1}
If set to 1, the slices used to display the volume are drawn outlined instead of full textured. This mode is mainly useful for debugging.

setInterpol {0|1}
Enables or disables linear interpolation of texture values. If linear interpolation is disabled a nearest neighbor lookup is performed. By default, linear interpolation is enabled.

getInterpol
Checks if linear texture interpolation is enabled or not.

setColorTableInterpol {0|1}
Enables or disables linear interpolation within the color table. The setting will be ignored if color table mode is off or if color table rendering is done using paletted textures. The default value is on.

getColorTableInterpol
Checks if linear color table interpolation is enabled or not.

setColorTableMode {0|1|2|3|4}
Sets the type of OpenGL extension used for color table mode. The modes are encoded as follows:
0 = Don't use any extension, turning off color table mode.
1 = GL_SGI_texture_color_table.
2 = GL_EXT_paletted_texture.
3 = GL_NV_fragment_program.
4 = GL_ARB_fragment_program.

getColortableMode
Returns the type of OpenGL extension used for color table mode.

doBricking {0|1}
Enables or disables bricking in 3D texture mode. If bricking is enabled the volume is rendered in smaller blocks even if it's size exceeds predefined size. The predefined size is by default 0.8 times the assumed texture memory size which depends on the hardware and operating system and is obtained by on program startup. The texture memory size assumed by can be modified by setting the environment variable  (in megabytes). To alter the predefined size factor of 0.8, one may set a different value in the Tcl variable voltexTextureAmount.

verbose {0|1}
If value is 1 additional message for debugging are printed.