We present an algorithm for organizing discrete scalar volume data of
arbitrary dimension on external storage
with important applications to out-of-core volume visualization
of extremely large datasets. The applications include extracting isosurfaces
in a manner that minimizes both I/O and disk seek time, a priori
topologically correct isosurface simplification (prior to
extraction), and producing a visual atlas of all topologically
distinct isosurface bounded objects in the dataset, with the range of
scalar isovalues that reveal each.
The segmentation algorithm computes regions of space called
topological zone components, so that
any isosurface component (contour) is completely contained in zone component
and all contours contained in a zone component are homeomorphic.
The algorithm also constructs a criticality tree (independently developed
[
1],[
2],[
3])
that is a simplified version of the contour tree of [
4], [
5],
[
6], and both the tree and the segmentation
can be computed in a simpler and more space efficient
manner than [
4] and
[
6].
The algorithm works on both irregularly and regularly gridded data,
does not require specification of a specific interpolant
and can be extended to datasets with nonunique values,
so that no perturbation of the data is required (we pose an interesting
problem in this regard).
Finally we give a simple, efficient, and provably
correct algorithm for constructing contours in all dimensions (an
extension of [
7]),
that computes an
n-1-simplicial complex for each
contour in
n dimensions.