Large three-dimensional
arrays of data are routinely generated from several investigative sources, e.
g., the medical, meteorological, metallurgical, and geological
sciences. The data values in the arrays are representative of some intrinsic
property of the physical medium being investigated. Visualization of such
"solid" data can be made easier by the extraction of surface
boundary and volume information from the cube of sampled data: we want to be
able to "see" interior objects bounded by detected surfaces. When
surface boundaries are detected, data exterior to the objects should be
ignored and three-dimensional images of the object displayed. Detecting surface
boundaries and displaying them interactively gives scientists the ability to
find trends and inflection points in large datasets.
Most of the work done in
surface boundary detection has been done on medical data. Medical datasets
are relatively small and well behaved compared to data from other popular
sources. Tree - dimensional migrated seismic data sets can be orders of
magnitude larger. The data values are noisier and the histograms much less
well defined.
The algorithms and data
structures described here allow users to select, collect and display surface
boundaries found in tree-dimensional data sets of arbitrary size and value
ranges. The surface boundary detection/volume collection algorithm is unique
from previous approaches in several aspects. Its recursive investigation of
voxel neighbor provides a way to seek out even the most complex surface
boundary. The current program allows the user to select from several voxel
"neighbor" groups and to use classification functions that make it
possible to successfully investigate a wide variety of data. Previous methods
work well with only certain types of volume data or rely on special hardware
for surface detection or display.
|