1 / 22

Using Difference Intervals for Time-Varying Isosurface Visualization

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

ayita
Download Presentation

Using Difference Intervals for Time-Varying Isosurface Visualization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. 1.6 1.1 1.2 0.9 0.8 1.2 0.7 Cell Movement

  6. Cell Movement 1.1 1.0 1.0 0.9 0.7 0.4 0.5

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

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

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

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

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

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

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

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

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

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

  17. 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 e 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 (> e) 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

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

  19. Extraction Time

  20. Build Time and Disk Usage • 5jet • e = 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 • e = 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

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

  22. Questions?

More Related