Medical viewset (medical-02)
The medical-02 viewset uses the Tuvok rendering core of the ImageVis3D (http://www.sci.utah.edu/software/imagevis3d.html) volume visualization program. It renders a 2D projection of a 3D volumetric grid. A typical 3D grid in this viewset is a group of 3D slices acquired by a scanner (such as CT or MRI).
Two rendering modes are represented – slice-based rendering and ray-casting.
For slice-based rendering, a series of coplanar slices aligned with the current viewing angle are computed on the CPU and then sent to the graphics hardware for texturing and further calculations, such as transfer function lookup, lighting and clipping to reveal internal structures. Finally, the slices are blended together before the image is displayed.
For ray-casting, rays are cast through the volume, accumulating transparently lit, colored pixels until full opacity or the bounds of the volume are reached.
For both slice-based and ray-cast rendering, the volumes are potentially subdivided into 512x512x512 3D volumes. This technique is known as “bricking” and typically results in better rendering performance on a wider range of GPU hardware.
The voxel in the 3D grid is a single scalar value. A transfer function -- either a 1D or a 2D lookup table -- maps the 3D density value to color and alpha values. For 2D tables, the second axis is defined as the magnitude of the gradient at each sample. For lighting calculations, the gradients are computed on the fly using the central differences at each voxel. These state changes exercise various parts of the graphics subsystem. This viewset makes use of hardware support for 3D textures and therefore trilinear interpolation.
Viewset descriptions and weighting
There are four datasets in this viewset:
- A 4D heart dataset comprising multiple 3D volumes iterated over time. These were obtained from a phase-contrast MRI scanner. The 80MB dataset was contributed by the Department of Radiology at the Stanford School of Medicine and Lucile Packard Children's Hospital. Each volume consists of 256x256x32 16-bit samples.
- A stag beetle dataset provided by the Technical University of Vienna. The dataset size is 650MB and represents a workload with larger memory requirements. The volume consists of 832x832x494 16-bit samples.
- An MRI scan of the head of a member of the SPECgpc committee, who has released the data for use in SPECviewperf. The volume consists of 232x256x192 16-bit samples.
- A CT scan of the right upper thorax and arm of the same member of the SPECgpc committee, who has also released this data for use in SPECviewperf. The volume consists of 512x512x102 16-bit samples.
The tests in the viewset are derived from those four datasets as follows:
- 4D heart, 1D transfer function, slice-based rendering
- 4D heart, 1D transfer function, ray-casting
- Stag beetle, 1D transfer function, slice-based rendering
- Stag beetle, 1D transfer function, ray-casting
- Head MRI, 2D transfer, ray-casting
- Head MRI, 2D transfer, ray-casting, clipping plane
- Thorax CT, 2D transfer, ray-casting
- Thorax CT, 2D transfer, ray-casting, clipping plane
The Tuvok rendering core is licensed under the MIT open-source license; see https://github.com/SCIInstitute/Tuvok. Tuvok includes a Hilbert Curve implementation, which is copyright 1998, Rice University. Tuvok also includes LZ4, which is licensed under the BSD 2-Clause license. |