Ray tracing is now common in the field of computer graphics, and the
technique has also gained popularity in volumetric visualization.
This is due to its ability to enhance spatial perception of the scene
using such effects as
transparency, mirroring and shadow casting.
Correct understanding of the nature of the processed data further necessitates
usage of various visualization techniques.
In the framework of its basic scheme, ray tracing enables the implementation
of various
surface as well as volume rendering techniques (color compositing,
reprojection, MIP), which makes it an ideal tool for data
exploration.
Advantages of the ray tracing approach:
- Enhancement of spatial perception by transparency, mirrors and shadows
(Figure 1).
- Implementation of different visualization techniques (surface and
volume rendering, MIP, reprojection) is possible
(Figure 2).
Disadvantages of the ray tracing approach:
- Large computational demands
(106 - 108
voxels to be processed)
Due to the fact that the scene is defined within a 3D discrete raster the
ray should be represented as a discrete ray, i.e., as an ordered sequence
of voxels pierced by the given ray with the following properties:
- To enable supersampling and recursivity, the ray should be able
to start at any point outside of the scene, or inside, and with
arbitrary direction,
- To get correct images, no object voxels along the ray should be
missed.
Therefore, the ray should, at least in the vicinity of an object, fulfill
the demands of 6-connectivity.
The necessity to process large amounts of data implies the following demand:
- Process the uninteresting (background) regions of data as fast as
possible, either by sampling the ray with lower resolution or by
skipping them completely
Figure 1:
Enhancement of spatial relationships of different views by mirrors and
shadows. The object (cca 3 cm long, scanned by a NMR scanner) is a cast of a
human hearth ventricle cavity.
|
|
|
(a) |
(b) |
(c) |
|
|
|
(d) |
(e) |
(f) |
Figure 2: Example of different volume rendering techniques:
surface rendering (a,d), (b,e) volume
volume rendering by ray tracing and (c, f) reprojection.
|
- Characteristics:
- Only surfaces contribute to rendered images
- No explicit surface model - surfaces defined by means of
interpolation function (NN, trilinear, tricubic).
- Foreground (interesting) and background
(uninteresting) voxels:
- Binary object masks
- Identified by segmentation
- Ray traversal phases (Figure 3):
- Initialization: scene entry and exit points
- Background traversal: skipping empty region usually surrounding
the object
- Hit-miss test: test, if ray surface intersection exists within the
voxel
- Surface detection: computation of ray-surface intersection
Figure 3: Background traversal, hit-miss test and surface detection
- Characteristics:
- Accumulation of sample contributions to the image along the ray
- Techniques:
- Unshaded: contribution dependent only on sample value (reprojection,
maximum intensity projection-MIP)
(Figure 2c,f).
- Shaded: surfaces enhanced by shading,
surface normal and strength estimation
(Figure 2b,e).
- Foreground and background voxels:
- A culling function can be defined, identifying voxels with no
contribution to the image (dependent on the chosen technique)
- Ray traversal phases (Figure 4):
- Initialization
- Background traversal
- Accumulation of samples
Figure 4: Background traversal and accumulation