Title: Volume Rendering Multivariate Data to Visualize Meteorological Simulations: A Case Study
1Volume Rendering Multivariate Data to Visualize
Meteorological Simulations A Case Study
2- Joe Kniss Charles Hansen
- Scientific Computing and Imaging
- University of Utah
- jmk,hansen_at_cs.utah.edu
- Michel Grenier Tom Robinson
- Canada Meteorological Centre
- Meteorological Service of Canada
- Michel.Grenier, Tom.Robinson_at_ec.gc.ca
3Outline
- What is Volume Rendering?
- Motivation Background
- Multi-dimensional Transfer Functions
- Interaction Tools
- Shading Hardware
- Parallel Hardware Volume Rendering
4Overview
- Numerical weather simulation
- Guided by measured data
- Frontal analysis needed
- Multiple data values describe features
- Scalar volume rendering is inadequate
- Current tools are difficult to use
5Fronts
Overview
- Strong thermal gradient
- Warm/ cold air mass interfaces
- Weather happens here
Frontal movement
warm moist
cold
cold
6Fronts
Overview
- Warm fronts
- Warm air pushes cold air
- Mild weather
Frontal movement
warm moist
cold
7Fronts
Overview
- Cold front
- Cold air pushes warm air
- Severe weather
Frontal movement
warm moist
cold
8Fronts
Overview
- Cold fronts
- Strong convection
- Lightning, hail, tornados
Frontal movement
warm moist
cold
9Simulation
Overview
10Simulation
Overview
11Simulation
Overview
- Focused on North America
- Variables
- Temperature
12Simulation
Overview
- Focused on North America
- Variables
- Temperature
- Humidity
13Simulation
Overview
- Focused on North America
- Variables
- Temperature
- Humidity
- Pressure
14Simulation
Overview
- Focused on North America
- Variables
- Temperature
- Humidity
- Pressure
- Dew point
15Simulation
Overview
- Focused on North America
- Variables
- Temperature
- Humidity
- Pressure
- Dew point
- Updated with measured data
16Goals
- Visualize entire simulation domain
- Identify features using multiple values
- Add derivative measures
- Simple interface
- Realistic lighting
17Goals
- Visualize entire simulation domain
- Identify features using multiple values
- Add derivative measures
- Simple interface
- Realistic lighting
- Volume rendering is a natural choice
- Multi-dimensional transfer functions
- Dual-domain interaction
- Shadows
18Previous Methods
Temperature
Humidity
19Previous Methods
Temperature
Overlay
Humidity
20Previous Methods
Temperature
Humidity
Analysis
21Previous Methods
Temperature
Humidity
Analysis
Enhancements
22Previous Methods
23Previous Methods
- Transfer function sharing
- Set each optical property using different data
Ctemp Ahumidity
Cpressure Ahumidity
Vis5D- Bill Hibbard, SSEC
24Previous Methods
- Multi-dimensional transfer functions
- Scalar data and derivatives
Display of Surfaces, Levoy 1988
25Previous Methods
- Multi-dimensional transfer functions
- Scalar data and derivatives
Display of Surfaces, Levoy 1988
Visualization 2001
26Previous Methods
- Multi-dimensional transfer functions
- Multivariate data (MRI)
T2
Laidlaw 1995
T1
27Multivariate data
28Multivariate data
Pressure
Humidity
Temperature
Humidity
Wet bulb temp
Pressure
Temperature
Temperature
29Classification
- 1D verses 2D transfer functions
1D transfer function
2D transfer function
30Classification
- Exploration Transfer function domain
31Classification
- Exploration Transfer function domain
32Classification
- Exploration Transfer function domain
33Classification
- Exploration Transfer function domain
34Classification
- Exploration Transfer function domain
35Classification
- Exploration Transfer function domain
36Classification
- Exploration Transfer function domain
37Classification
- Exploration Transfer function domain
Unintuitive
Tedious
38Classification
39Classification
40Classification
41Classification
42Classification
43Classification
- Exploration Dual-domain interaction
44Classification
- Exploration Dual-domain interaction
45Classification
- Exploration Dual-domain interaction
46Classification
- Exploration Dual-domain interaction
47Classification
- Exploration Dual-domain interaction
48Classification
- Exploration Dual-domain interaction
49Classification
- Exploration Dual-domain interaction
50Classification
- Exploration Dual-domain interaction
51Classification
- Exploration Dual-domain interaction
52Classification
- Strong gradient at frontal boundaries
Frontal movement
warm moist
cold
cold
53Classification
- Strong gradient at frontal boundaries
- A derivative measure can help
Frontal movement
warm moist
cold
cold
54Multivariate data
- Simulation variables derivative measures
Humidity
Humidity
Temperature
Gradient magnitude
Humidity
Gradient magnitude
Gradient magnitude
Temperature
Temperature
55Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
2 valued field gradients
56Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
2 valued field gradients
Multi-gradient
57Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
- Not robust for normal generation
2 valued field gradients
58Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
- Not robust for normal generation
2 valued field gradients
Multi-gradient
59Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
- Not robust for normal generation
2 valued field gradients
Multi-gradient
60Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
- Not robust for normal generation
- Worse for more variables
5 valued field gradients
61Multivariate derivatives
- Sum individual gradients and magnitudes
- Simple implementation
- Not robust for normal generation
- Worse for more variables
?
5 valued field gradients
Multi-gradient
62Multivariate derivatives
- Local contrast
- Scalar data
Volume space
Scalar data space
63Multivariate derivatives
- Local contrast
- Scalar data
Volume space
Scalar data space
64Multivariate derivatives
- Local contrast
- Scalar data
Volume space
Scalar data space
65Multivariate derivatives
- Local contrast
- Scalar data
Volume space
Scalar data space
66Multivariate derivatives
- Local contrast
- Scalar data
Volume space
Scalar data space
67Multivariate derivatives
- Local contrast
- Scalar data
68Multivariate derivatives
- Local contrast
- Scalar data
Scalar value
Scalar value
69Multivariate derivatives
- Local contrast
- Scalar data
- Analyze
Scalar value
Scalar value
70Multivariate derivatives
- Local contrast
- Multivariate data
Volume space
Multivariate data space
71Multivariate derivatives
- Local contrast
- Multivariate data
Volume space
Multivariate data space
72Multivariate derivatives
- Local contrast
- Multivariate data
Volume space
Multivariate data space
73Multivariate derivatives
- Local contrast
- Multivariate data
Volume space
Multivariate data space
74Multivariate derivatives
- Local contrast
- Multivariate data
3xN matrix
75Multivariate derivatives
- Local contrast
- Multivariate data
76Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
77Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
3x3 matrix
78Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
79Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G
80Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change
81Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change
82Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
83Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
- L2 norm
84Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
- L2 norm
- Scale each variables derivatives
85Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
- L2 norm
- Scale each variables derivatives
- Same as gradient for single variable functions
86Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
- L2 norm
- Scale each variables derivatives
- Same as gradient for single variable functions
- Eigenvectors only provide orientation
87Multivariate derivatives
- Local contrast
- Multivariate data
- Squared norm DiZenzo, Cumani, Sapiro
- Squared Local Contrast Cumani
- Analyze G, total change, eigenvectors
- L2 norm
- Scale each variables derivatives
- Same as gradient for single variable functions
- Eigenvectors only provide orientation
- Use shadows instead of surface shading
88Classification
- Using multivariate data and derivatives
- Default transfer function
Lower threshold for gradient magnitude
Upper threshold for gradient magnitude
gradient magnitude
89Classification
- Using multivariate data and derivatives
- Default transfer function
Lower threshold for gradient magnitude
Upper threshold for gradient magnitude
gradient magnitude
90Classification
- Using multivariate data and derivatives
- Default transfer function
Lower threshold for gradient magnitude
Upper threshold for gradient magnitude
gradient magnitude
91Classification
- Using multivariate data and derivatives
- Default transfer function
- Better specificity
No gradient enhancement
92Classification
- Using multivariate data and derivatives
- Default transfer function
- Better specificity
No gradient enhancement
With gradient enhancement
93Classification
- Using multivariate data and derivatives
- Default transfer function
- Better specificity
No gradient enhancement
With gradient enhancement
94Results
- Frontal analysis is subjective
95Results
- Frontal analysis is subjective
- Volume rendering provides objective guidance
96Results
- Frontal analysis is subjective
- Volume rendering provides objective guidance
97Results
- Frontal analysis is subjective
- Volume rendering provides objective guidance
98Results
- Frontal analysis is subjective
- Volume rendering provides objective guidance
- Multi-dimensional transfer functions help
- Greater specificity
- Greater flexibility
- New kind of analysis
99Results
- Frontal analysis is subjective
- Volume rendering provides objective guidance
- Multi-dimensional transfer functions help
- Greater specificity
- Greater flexibility
- New kind of analysis
- Meteorologists prefer top view
100Results
101Results
Medical Imaging
Color Data
102Results
- Multiple MRI pulse sequences
T1
T2
Utah HLRS, Stuttgart
103Results
- RGB color data (cryosection)
Blue
Red
Green
TVCG July-Sep 2002
104Future Work
- Higher dimensional transfer functions
- Implicit classification functions
- Dual-domain interaction is important
- Time varying transfer functions
105Future Work
- Higher dimensional transfer functions
- Implicit classification functions
- Dual-domain interaction is important
- Time varying transfer functions
- Vector volume rendering glyphs
106Future Work
- Higher dimensional transfer functions
- Implicit classification functions
- Dual-domain interaction is important
- Time varying transfer functions
- Vector volume rendering glyphs
- Terrain
107Future Work
- Higher dimensional transfer functions
- Implicit classification functions
- Dual-domain interaction is important
- Time varying transfer functions
- Vector volume rendering glyphs
- Terrain
- 3D illustration and labeling tools
108Future Work
- Higher dimensional transfer functions
- Implicit classification functions
- Dual-domain interaction is important
- Time varying transfer functions
- Vector volume rendering glyphs
- Terrain
- 3D illustration and labeling tools
- Better default transfer functions
- Automation animation
109Future Work
- Realistic clouds, with David Ebert
110Shadows
Hardware
Sample ri (s)
l0
Attenuate light through the volume
111Incremental Shadows
Eye
Half angle slicing good from either point of
view
112Incremental Shadows
Similar aspect ratio from both points of view
113Incremental Shadows
Slice pass 1
114Incremental Shadows
Slice pass 2
115Incremental Shadows
- Advantages
- Screen space shadows
- No leakage
- Use render to texture to optimize
- Shades perturbed volumes
- Simple implementation
- Disadvantages
- Aliasing at sharp opacity changes
- Fix with slightly larger light buffer
116Shadows
Hardware
- Shadows and Surface shading
- Modulate surface shading by gradient magnitude
- Add surface scalar to the TF
Homogeneous w/ shading
Homogeneous w/out shading
Shadows surface shading
117Background
- 5 stages
- Preprocessing filtering, resizing, bricking,
derivatives - Reconstruction interpolation
- Classification data value -gt optical properties
- Shading surface shading volume shading
- Compositing numerical integration, blending
operations
Pre-classification
Post-classification
118Transfer Function
Hardware
General 2D
X
1D
1D
2D
119Transfer Function
Hardware
General 2D
X
1D
1D
2D
120Shading
Hardware
- Interpolation de-normalization
- Sqrt() not yet available
- Solution Cube Map dependent texture
- Unit normals not required
- Arbitrary lighting
- Slower than dot-product
Cube map
See DirectX 9 spec
121Shading
Hardware
- Surface shading is not enough
- Poor use of valuable texture memory
- Cannot light homogenious regions
- Cannot light multi-valued volumes
- Solution
- Faux shading
- Shadows
- Smart surface shading
122Faux Shading
Hardware
- Modify color based on opacity
- Best for discretely classified regions
opacity
opacity
color
color
Standard
Faux
123Other Axes
Transfer Function
Derivative of a multi-field
3x3 Matrix!
Squared Norm
Di Zenzo, Cumani, Sapiro
124Fronts
Frontal movement
warm moist
cold
cold
125Motivation
- Most information through eyes
- Visualization is key
- Volume rendering is flexible
- Medical Imaging
- Simulation Data
- Synthetic Data
126Multivariate derivatives
- Local contrast
- Multivariate data