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.
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.