Presentation on theme: "Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH."— Presentation transcript:
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH ‘94
When using the most basic Image Order algorithm, the data access is not linear: Since the sampled slices should be parallel to the viewing plane, the sampled voxels are an actual plane in the volume only for straight viewing directions. Commonly, they are not continuous in the data-set. Basic Algorithm
Using Shear Wrap Factorization When we are using parallel projection, a simple shear transformation may be used to transform the sampled slices into actual planes in the volume data, making the sampling linear and much more efficient for arbitrary viewing direction. However, a warping transform should be used to maintain the original viewing matrix, or the image is “smeared”.
Using Shear Warp Factorization Using the appropriate shear transform, an efficient volume rendering algorithm may be used: Transform the volume data to object space by translation and sampling each slice according the shear transform. Composite the sampled slices together into an intermediate 2D image. Transpose the intermediate image to image space using the warp transform. This algorithm was first described by Cameron and Undrill (1992).
Step 1: Sampling the Volume b Since each slice of the volume is only translated, each sampled voxel in the slice has the same sampling mask. Sampling is easier and faster. b A bilinear interpolation may be used for the sampling.
Step 2: Composing the slices b The slices are composed together front to back, as in ray casting algorithms. b An early ray termination may be implemented, but not immediately. (later) b The apparent thickness of a slice is view dependent, and therefore the opacity of the voxel should be fixed (i.e., using a lookup table).
Step 3: Warp Transform b The intermediate image should be transformed to “image space” using the warp transform. b A bilinear filter may and should be used. b Only in the final step, the actual parameters of the image space are used.
Scanline Optimization After the shear transformation, the pixels’ scan-lines of the intermediate image are parallel to the voxels’ scan-lines of the volume data. This property enables us to pass both the volume and the image in scanline order. We pass simultaneously over two scanlines in the volume (for the sampled voxels) and one scanline in the image. Scanline order also reduces addressing arithmetic.
Scanline Optimization When passing through a line, no action is taken when there are: A.Opaque pixels in the image. B.Transparent voxels in the volume. Two simple data structure are used to detect the above conditions.
Scanline Optimization b Transparency run length encoding for each scanline in the volume. This enables us to skip groups of transparent voxels, sometimes even the whole line. For each principle viewing direction, this data-structure is precalculated. b In the image scanline, for each pixel an offset for the next non-opaque pixel is maintained. Opaque pixels occlude the voxels behind them, so they may be skipped efficiently. Equivalent to early ray termination in ray casting.
Scanline Optimization Using the above data structures, transparent voxels and voxels which are occluded by opaque pixels are skipped. Only non-transparent and visible voxels are sampled and composed to the image.
Perspective Projection Rendering For basic imaging, parallel projection is enough. However, perspective projection may help with depth ambiguities. Fortunately, the optimized rendering algorithm that was used for parallel projection can be expanded to handle perspective projections. This is done using more complicated shear-warp factorization.
In the case of perspective projection, the volume slices are been scaled as well as sheared by the shear-warp factorization: Shear-Warp with Perspective
Changes in the Algorithm Most of the optimized algorithm remains the same, with few differences: b This time, each of the volume slices is scaled (uniformly) in addition to the translation. b The sampling weights are different for each slice, as each slice is scaled with different factor. b More than two scanlines may be traversed together for sampling a single scanline in the intermediate image.
Conclusion b Low computation overhead for the optimizations. b Comparison of the optimized renderer with optimized ray-casting rendered: 5 times faster with 256 3 volume. 10 times faster with 128 3 volume. b Although the final image is resampled twice, there is no noticeable effect. b The algorithm can be easily implemented on multiprocessors computer.
More Directions b Implementation on multi-processor machine. b Combining volume data with geometry data. b Iso-surface volume rendering