Creating the Intermediate Image
In usual datasets there are often much more transparent than non-transparent samples. To make the Shear-Warp Algorithm more efficient, Lacroute suggests to use runlength encoding of the volume.

Runlength encoding speeds up the algorithm by making it possible to skip runs of transparent voxels and runs of opaque pixels while tracing through the volume.

Skipping transparent voxels
The algorithm steps through each row of pixels in the intermediate image. At the same time it steps through the two rows of voxels that influence this one row of pixels. For skipping runs of transparent voxels, both lines of the processed slice have to be transparent over the total skipping-interval. So the minimum number of transparent voxels in both lines is the size of the skipping-interval.

The following picture illustrates skipping of transparent voxels. The black grid represents the two rows of voxels that are processed where the dark gray fields are non-transparent and the white fields are transparent voxels. The red grid represents the pixels in the intermediate image.


Skip run of transparent voxels
Skipping opaque pixels
Skipping opaque pixels works in a similar way. When the algorithm traces through lines of pixels in the intermediate image it simply skipps pixels that have no transparence left.

The following picture illustrates this. The black grid again represents the two rows of voxels that are processed. The red grid represents the pixels in the intermediate image where the white fields are transparent (at least a threshold of transparency is left) and the gray fields are totally opaque pixels.


Skip run of non-transparent pixels

back main next