Upload
brooke-thorpe
View
215
Download
1
Tags:
Embed Size (px)
Citation preview
Multi-variate, Time-varying, and Comparative Visualization with Contextual Cues
Jon Woodring and Han-Wei ShenThe Ohio State University
2
Long title... so what is it?
A visualization that compares multiple data volumes (variables, time-steps, and runs) by operating on them per point and combining them into one space
Interactive Demo
3
Previous Work
Past techniques include:• Bajaj et al.: Hypervolume Visualization• Cai and Sakas: Data Intermixing and Multi-Volume Rendering• Chen and Tucker: Constructive Volume Geometry• Woodring et al.: Chronovolumes and High-Dimensional Direct
Rendering of Time-Varying Volumetric Data
4
How is it different?
Uses modified Porter and Duff style set operators to compare volumes• Set operators allow for visual query system• Avoids high dimensional operations and projection• Complete framework for set operations; simple to implement, pipeline,
and data parallelize Volume shader framework that can compare volumes with an arbitrary
number of operations and comparisons• Additionally, we can “post-classify” by operating on data rather than
operate on color volumes User interface and contextual visualization helps the user understand her
data• Allows the user to examine every step of the visualization to explore
more effectively
5
Porter and Duff Review
Describes how to combine images together Given two images A and B, with pre-multiplied alpha colors
(Porter and Duff 1984)
6
Volume Set Operations
Operators applied per volume point Rather than using an alpha value, a set weighting function is used that
maps data points to weight values• Weight determines how much and what portions of a volume you
wish to show rather than using alpha• Can be thought of as an interest level• Weight ranges from 0 to 1 like alpha• Where weight = alpha for every data point is a special case: Porter
and Duff alpha compositing in 3D By introducing the weighting function, we separate the appearance of a
volume from the set operations on a volume
7
Volume Set Operations
A
B
A out Bweights = 1
A out Bweights = alpha
8
In and Out
A
B
A in B B in A
A out B B out A
9
Atop and Xor
A
B
A atop B B atop A
A xor B
10
Volume Set Operations
Value based set operations• Value based set operators allow users to compare volumes in data
space rather than color space• The transfer function is applied after operations• Two types of value based set operators
• Data blending (requires the same data type)• Binary decision (does not require the same data type)
11
Volume Set Operations
12
Numerical or Statistical Operations
Since the framework allows for data operations, numerical or statistical data parallel operations can be added
New data fields can be created during the visualization and exploration process
Examples of operations:• Scalars: Sum, Difference, Product• Vectors: Magnitude, Dot product• Statistical: Min, Max, Standard Deviation• Matrix: Curvature, Matrix Multiply
13
User Interaction
The user constructs her visualization from the bottom up She selects input data and chooses what operation to apply The data result appears in a visualization spreadsheet and as a node in a
volume tree (graph representation of a volume shader)
14
Contextual Rendering
By displaying the visualization spreadsheet and volume tree, we show the context of the visualization
We define the context of our visualization as the inputs and sub-operations that compose the final visualization• It allows the user to see how sub-operations are dependent on inputs• It allows the user to have a better understanding of how the input data
is filtered through operations• It allows the user to change and fine tune their visualization
15
Contextual Rendering
? ?
16
Contextual Rendering
17
Context via Level-of-detail
In level-of-detail contextual rendering, other operation nodes in the volume tree are displayed in the same space along with the final visualization (root of the volume tree)
Lower detail includes lower opacity or NPR methods to display an indication or hint of the context data without obscuring the final result
Context highlighting can also be done via volume motion
18
Context via Level-of-detail
A out B A in B
B out A
19
Context via Animation
The level of detail method is not able to show every child or sub-operation in the volume tree; through animation, the user is able to see all nodes of interest over time
Animating up or down a branch of the tree shows how one input is operated on
Animating across a level of a tree shows all the inputs to one particular operation
20
Context via Animation
21
Implementation
GLSL is used to implement the volume shader; new fragment programs are created on the fly as the user builds the volume tree
Data is uploaded as 3D textures, and interleaved into the RGBA channels
Only one texture is reserved for the transfer function and weighting function lookup
Complexity of the volume tree is only limited to fragment program size limitations
No loops are needed since fragment programs are data parallel For visualizations without lighting, only 2 to 3 texture lookups are needed
per data field accessed per fragment
22
Conclusion
Multi-variate, Time Varying, Comparative Visualization Exploration• Set Operators
• Color Space• Data Space
– Numerical or Statistical Operators• User Interaction through Spreadsheet and Volume Tree
• Contextual Rendering• Level -of-Detail and Animation Contextual Rendering
23
Thanks
NSF ITR Grant ACI-0325934 NSF RI Grant CNS-0403342 DOE Early Career Principal Investigator Award DE-FG02-03ER25572 NSF Career Award CCF-0346883 Oak Ridge National Laboratory Contract 400045529 TSI Data: John M. Blondin (NCSU), Anthony Mezzacappa (ORNL), and
Ross J. Toedte (ORNL) Vortex Data: Kwan-Liu Ma via NSF ITR Hurricane Isabel: NCAR and the U.S. National Science Foundation Anonymous Reviewers The audience for viewing my presentation
• Any Questions?