VII. FUTURE WORK





There are several possibilities to enhance the algorithm as described. Enhancements include code optimizations, one-time preprocessing of the 3D irregular data, and parallelization. Two useful additions to the system are to add a (verify its) generic nature and to make the process run at interactive speeds.

As implemented, there are several minor modifications which may slightly improve the running time of the resampler. However, these would bring only modest gains. Additionally, since the rendering program now executes longer than the resampler, such minor optimizations do not appear to be extremely worthwhile.

An optimization worthy of more investigation is a one-time preprocessing of the curvilinear data within the resampler itself. It seems possible to resample the curvilinear grid data to voxel space once for any particular data set, and then store this information, rather than make the calculation every execution. This may actually help to make the process somewhat interactive as well.

This idea was tested by timing the three stages within the algorithm: initialization, resampling, voxel traversal. Roughly, the program executes ten seconds before the scan conversion, mostly to perform initializations which may also fit into the preprocess stage. The resampling section, the 3D scan scan conversion and voxel ijk point list generation, takes thirty seconds. Looping through the voxels to generate the vector field requires ten seconds. So the algorithm conceivably could run in approximately ten seconds merely by adding a preprocessing stage.

Perhaps the most promising possibility is that of a parallel algorithm for resampling. The resampling procedure should benefit greatly from parallelization: the resampler as written is three nested loops of independent calculations. Each loop is independent of every other loop, and each iteration within the third loop is independent of every other iteration. Each of these could execute at any time, whenever a processor becomes available. As with the one-time preprocessing, parallelization may also bring the algorithm to interactive rates.

Finally, (and most importantly) there are some theoretical issues. It would be beneficial to test this new algorithm, and its predecessor, on several other curvilinear data sets, to compare the effect of a given data set on the approach. Also, because the grid is irregular, Shannon's sampling theorem [Yag] does not hold, so the decision to sample the grid at a rate of roughly twice the original size may not be optimal. Relatedly, using a multi-resolution grid system will appropriately resample the irregular grid. Here, one uses a course sized rectilinear grid to start, and then uses a finer-grained rectilinear grid within a voxel if the local cells are quite small.







Last modified January 3, 1996 by helfrick@cs.umbc.edu