next up previous
Next: Sampling Method Up: NAVIGATION METHODS Previous: NAVIGATION METHODS

Ray-casting model

Recall that ray casting is the most time consuming part of the navigation problem. A simple but less accurate ray casting model is defined here in order to speed the casting of rays. The technique is based upon the ``Approximate Discrete Radon Transform" (ADRT) [22], a two-dimensional approximate line drawing technique (see [34] for an early application of line drawing to volume rendering). The ADRT was extended to three dimensions for the computation of volume-rendered views (of the entire image) at multiple orientations by [23,24].

The viewing-model geometry used to compute the vol-ume-rendered view at a viewing site is illustrated in Figure 3. The viewing ``pyramid" is a parallelepiped enclosing voxels. Two opposite faces of the parallelepiped, the front face (abcd in Figure 3) and the back face (efgh in Figure 3), are defined to be squares and perpendicular to one of the coordinate axes. The front face serves as the viewing screen, and the viewing site is located at the center of the front face.

Figure 3. Geometry for computing a view at viewing site . The cube represents the viewing pyramid for this viewing site.

Rays are cast from each of the voxels on the front face. Each ray terminates at an unique voxel on the back face. Consider, for example, a viewing screen perpendicular to the z axis in plane . Each ray uses n voxel-samples, one from each plane . Samples are not interpolated, and each voxel in the parallelepiped at `depth' belongs to exactly one ray.

Translations of the viewing site correspond to movements of the parallelepiped by for one of the three coordinate axes. In this way, the end points of the rays remain centered on voxels. Rotations are performed by ``shearing'' the parallelepiped. Consider, for example, the case in which the viewing direction is along the z axis. For a `unit' clockwise rotation about the y axis, the front face remains fixed, but the back face is translated (sheared) by one voxel in the positive x direction, as shown in Figure 4. Similarly, the view can be ``tilted'', or rotated about the x axis by translating the back face in the y direction. For a viewing screen perpendicular to the z axis, 2n-1 different angles of rotation, , and tilt, , can be obtained in the range . These orientations are obtained by shearing the back face of the viewing pyramid by a units in the x direction and b units in the y direction, where a,b are in {}. Notice that the corresponding angles, and are not uniformly distributed in or . To obtain a view outside the range , the front face is made perpendicular to one of the other axes, which requires refreshing the data structure.

Figure 4. Rotation by shearing the viewing pyramid. The solid cube represents the viewing pyramid before rotation (angle ). The dotted cube is the viewing pyramid after a rotation, accomplished by shearing, to angle .

Notice that the density of the rays (distance between adjacent rays) depends on the orientation at which they are cast. Thus, a resampling (interpolation) of the viewing screen pixels is required to obtain uniformly-sized views. These computations are, however, relatively fast ( time) since they are done on the 2D viewing screen pixels, after collapsing the 3D data in the ray-casting process.



next up previous
Next: Sampling Method Up: NAVIGATION METHODS Previous: NAVIGATION METHODS



Krishnan Ramaswamy
The Multidimensional Image Processing Lab