Multi-Scale Rendering of Huge 3D Volumes


click on the images to jump to some results.

Recent advances in microscopy techniques have enabled scientists to capture extremely large high dimensional data sets with unprecedented levels of detail. Unfortunately, these data sets now routinely exceed the memory limitations of modern graphics cards and even system memory, limiting our ability to smoothly explore the data and make scientific observations. To remedy this, we have developed a multi-resolution approach to render large data sets exploiting the fact that it is not necessary to keep full resolution data resident in memory at all times. Depending on the position of the camera, some parts of the volume can be rendered at a lower resolution with no perceptible change to the user.

R. Dumusc, G. Gonzalez, A. Lucchi, P. Fua

Results

The VIVA viewer uses a multi-resolution approach to rendering extremely large data sets, which can exceed the memory capacity of graphics cards and system RAM, including this electron microscopy (EM) image stack. Our method is based on an Octree decomposition of the volume, with associated preprocessing and storage procedures for lower resolution layers.

The key to rendering such large volumes on conventional computers is to only keep 3D textures resident in memory which are necessary to render the volume. We do this using an Octree data structure, which recursively divides the volume into 8 sub-volumes or child nodes. The lowest level of the tree holds the data corresponding to the original volume at full resolution, while the top level contains the entire volume at the lowest level of resolution. Depending on the position of the camera, information is loaded form the appropriate level of the octree to smoothly render the data at an appropriate level of detail. This allows the user to seemlessly explore the data by zooming, panning, and rotating.

Octree