Date post: | 27-Mar-2015 |
Category: |
Documents |
Upload: | steven-barker |
View: | 217 times |
Download: | 1 times |
Using Difference Intervals for Time-Varying Isosurface Visualization
Kenneth W. Waters
Christopher S. Co
Kenneth I. Joy
Institute for Data Analysis and Visualization
Department of Computer Science
University of California, Davis
2IDAVIDAV
Goals
Target out-of-core time-varying isosurface extraction• Interesting data sets are many times the size of core memory
Extend an existing out-of-core value space isosurface extraction method to work with time-varying data• Reduces development effort
Trade a long pre-processing step for fast visualization of all isosurfaces within a data set
Trade increased disk space usage for decreased disk traffic• Disk space is cheap• Disk access is very slow
3IDAVIDAV
Terms
“Full Extraction” is the determination of which cells are active for a particular isosurface from a particular time step• This is provided to us by the underlying non time-varying isosurface
extraction algorithm
“Incremental Extraction” is the process of extracting only the differences between an isosurface in one time step and the same isosurface in the next time step.• This work focuses on adding incremental extraction using the
machinery of the underlying extraction algorithm
If you scalar volume data is incoherent the difference between two successive isosurfaces may be larger than the isosurfaces themselves, in this case our method is slower than the naive approach.
4IDAVIDAV
Span Space Review
Developed by Livnat et. al. 2-D virtual space where cells are
represented by points located by their minimum and maximum intensity values
Isosurface extraction is reduced to finding which points lie within the rectangle corresponding to the isovalue
Each point in span space represents an interval of intensity values
5IDAVIDAV
Cell Movement
1.20.7
1.2
1.6 1.1
0.8
0.9
6IDAVIDAV
Cell Movement
0.40.5
1.0
1.1 1.0
0.7
0.9
7IDAVIDAV
Difference Intervals
These two intervals break the scalar value space into five intervals.
Suppose you have the complete isosurface for a particular isovalue for the first time step
8IDAVIDAV
Difference Intervals
Suppose you had the isosurface, with isovalue q <= a.
This cell is not active in either time step
No work needs to be done for this cell to transform the isosurface from the first time step to the second time step
9IDAVIDAV
Difference Intervals - Add
Suppose you had the isosurface, with isovalue a < q <= b.
This cell is not active in the first time step but is active in the second time step
We need to add this cell to the isosurface to transform from the first time step to the second time step
10IDAVIDAV
Difference Intervals
Suppose you had the isosurface, with isovalue b < q < c.
This cell is active in both the first time step and the second time step
No work needs to be done for this cell to transform the isosurface from the first time step to the second time step
This is where we save time and disk traffic
A full extraction of second time step would re-extract this interval, we can avoid reading this interval from disk
11IDAVIDAV
Difference Intervals - Remove
Suppose you had the isosurface, with isovalue c <= q < d.
This cell is active in the first time step but is not active in the second time step
We need to remove this cell from the isosurface to transform from the first time step to the second time step
12IDAVIDAV
Difference Intervals
Suppose you had the isosurface, with isovalue q >= d.
Identical to the first case
This cell is not active in either the first time step or the second time step
No work needs to be done for this cell to transform the isosurface from the first time step to the second time step
13IDAVIDAV
Difference Intervals
We now have two intervals which describe when work needs to be done to transform our isosurface
These two intervals can be inserted as cells into our existing extraction algorithm
There are 11 different ways a cell can move in the span space• The two difference intervals are
always smaller than the intervals for the original cell
• The two difference intervals are always disjoint
14IDAVIDAV
Using Difference Intervals - Preprocessing
Between every two time steps compute the set of difference intervals which can be used to transform the isosurface for any isovalue
Insert these difference intervals into our existing out-of-core isosurface extractor, there will be a different instance of the extractor for each pair of time steps.• Label these structures Dn
Create “key frame” extraction structures, use the existing out-of-core isosurface extractor on select “key frames” as if they where non time-varying data sets• Label these structures kn
• We chose every 4th time step
15IDAVIDAV
Using Difference Intervals - Extraction
To view the isosurface for isovalue q, progressing through all of the time steps
• Extract the isosurface for the first time step, using k0
• Extract the difference intervals for value q, from D0
• Apply the extracted add and remove operations to the isosurface for the first time step, to extract the isosurface for the second time step
• Repeat with the difference intervals from D1 to get to the isosurface for the third time step, etc.
To change the isovalue or seek to a different time step• Do a full extraction from the nearest key frame• Apply difference intervals until your at the desired time step
16IDAVIDAV
Preview Rendering
We only load data from disk when a cell becomes active or inactive• We have no information about
the intensity values for an active cell in a particular time step
• We cannot use a traditional rendering method to draw the isosurface
Render all the active cells as screen aligned points.
Using the depth buffer approximate normals and lighting in screen space
If the user pauses to take a close look at a particular time step, load the full data for that time step off disk, for higher quality rendering
17IDAVIDAV
Compression
A generalized versions of the compression provided by the Temporal Hierarchical Index Tree [Shen 98]
Compress each cell independently If a cell moves less than in span space
over several time steps “move” that cell to its extreme value for all of those time steps• Makes the cell stationary for several
time steps, before jumping a long (> ) distance in span space
• Produces only false positives
If a cell doesn’t move in span space between two frames, it produces no difference intervals
Creates fewer but wider difference intervals
18IDAVIDAV
Data Sets
Tested using two datasets 5jet
• 128 x 128 x 128• 1,000 time steps• Float data• 7.81 GiB
Argon Bubble• 640 x 256 x 256• 131 time steps• Float data• 20.4 GiB
19IDAVIDAV
Extraction Time
20IDAVIDAV
Build Time and Disk Usage
5jet• = 50 • 2.94% false positive rate• 96 minute differential span space generation time• 11,574 MiB for difference intervals, 6,000 MiB for key frames • 46.8 GiB uncompressed difference interval size
Argon Bubble• = 0.025• 3.34% false positive rate• 83 minute differential span space generation time• 7,496 MiB for difference intervals, 20,948 MiB for key frames• 121.8 GiB uncompressed difference interval size
21IDAVIDAV
Conclusion
Extended any existing value-spaced out-of-core isosurface extraction algorithm to work on time-varying data by generating difference intervals
Difference intervals allow us to skip extracting cells which remain active from time step to time step• Reduces disk traffic
Applied compression to the data before difference interval generation• Reduces disk space usage
Rendered the isosurface with only the active cell positions• Eliminates the need to fetch volume data from disk for rendering
Extraction for the 5jet data set averaged 200ms. Extraction for the larger data set was not real-time, but the results
where promising.
22IDAVIDAV
Questions?