Title: Scientific Visualization
1Scientific Visualization
- Melanie Tory
- Acknowledgments Torsten Möller (Simon Fraser
University) Raghu Machiraju (Ohio State
University)Klaus Mueller (SUNY Stony Brook)
2Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
3Difference between SciVis and InfoVis
Parallel Coordinates
Direct Volume Rendering
Hauser et al.,Vis 2000
Fua et al., Vis 1999
Isosurfaces
Glyphs
Scatter Plots
Line Integral Convolution
http//www.axon.com/gn_Acuity.html
Node-link Diagrams
Cabral Leedom,SIGGRAPH 1993
Streamlines
Lamping et al., CHI 1995
Verma et al.,Vis 2000
4Difference between SciVis and InfoVis
- Card, Mackinlay, Shneiderman
- SciVis Scientific, physically based
- InfoVis Abstract
- Munzner
- SciVis Spatial layout given
- InfoVis Spatial layout chosen
- Tory Möller
- SciVis Spatial layout given Continuous
- InfoVis Spatial layout chosen Discrete
- Everything else -- ?
5Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
6Medical Scanning
- MRI, CT, SPECT, PET, ultrasound
7Medical Scanning - Applications
- Medical education for anatomy, surgery, etc.
- Illustration of medical procedures to the patient
8Medical Scanning - Applications
- Surgical simulation for treatment planning
- Tele-medicine
- Inter-operative visualization in brain surgery,
biopsies, etc.
9Biological Scanning
- Scanners Biological scanners, electronic
microscopes, confocal microscopes - Apps physiology, paleontology, microscopic
analysis
10Industrial Scanning
- Planning (e.g., log scanning)
- Quality control
- Security (e.g. airport scanners)
11Scientific Computation - Domain
- Mathematical analysis
- ODE/PDE (ordinary and partialdifferential
equations) - Finite element analysis (FE)
- Supercomputer simulations
12Scientific Computation - Apps
13Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
14Isosurfaces - Examples
Isolines
Isosurfaces
15Isosurface Extraction
0
1
1
3
2
- by contouring
- closed contours
- continuous
- determined by iso-value
- several methods
- marching cubes is most common
1
3
6
6
3
3
7
9
7
3
2
7
8
6
2
1
2
3
4
3
Iso-value 5
16MC 1 Create a Cube
- Consider a Cube defined by eight data values
(i,j1,k1)
(i1,j1,k1)
(i,j,k1)
(i1,j,k1)
(i,j1,k)
(i1,j1,k)
(i,j,k)
(i1,j,k)
17MC 2 Classify Each Voxel
- Classify each voxel according to whether it
liesoutside the surface (value gt iso-surface
value)inside the surface (value lt iso-surface
value)
10
10
Iso9
5
5
10
8
Iso7
8
8
inside
outside
18MC 3 Build An Index
- Use the binary labeling of each voxel to create
an index
v8
v7
11110100
inside 1
v4
outside0
v3
v5
v6
00110000
v1
v2
Index
v1
v2
v3
v4
v5
v6
v7
v8
19MC 4 Lookup Edge List
- For a given index, access an array storing a list
of edges
- all 256 cases can be derived from 15 base cases
20MC 4 Example
- Index 00000001
- triangle 1 a, b, c
c
a
b
21MC 5 Interp. Triangle Vertex
- For each triangle edge, find the vertex location
along the edge using linear interpolation of the
voxel values
i1
i
x
10
0
T8
T5
22MC 6 Compute Normals
- Calculate the normal at each cube vertex
- Use linear interpolation to compute the polygon
vertex normal
23MC 7 Render!
24Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
25Direct Volume Rendering Examples
26Rendering Pipeline (RP)
Classify
27Classification
- original data set has application specific values
(temperature, velocity, proton density, etc.) - assign these to color/opacity values to make
sense of data - achieved through transfer functions
28Transfer Functions (TFs)
RGB
a
- Simple (usual) case Map data value f to color
and opacity
f
Gordon Kindlmann
29TFs
- Setting transfer functions is difficult,
unintuitive, and slow
a
a
f
f
a
a
f
f
Gordon Kindlmann
30Transfer Function Challenges
- Better interfaces
- Make space of TFs less confusing
- Remove excess flexibility
- Provide guidance
- Automatic / semi-automatic transfer function
generation - Typically highlight boundaries
Gordon Kindlmann
31Rendering Pipeline (RP)
Classify
Shade
32Light Effects
- Usually only considering reflected part
Light
reflected
specular
Light
absorbed
ambient
diffuse
transmitted
Lightrefl.absorbedtrans.
Lightambientdiffusespecular
33Rendering Pipeline (RP)
Classify
Shade
Interpolate
34Interpolation
2D
35Interpolation
- Very important regardless of algorithm
- Expensive gt done very often for one image
- Requirements for good reconstruction
- performance
- stability of the numerical algorithm
- accuracy
Linear
Nearest neighbor
36Rendering Pipeline (RP)
Classify
Shade
Interpolate
Composite
37Ray Traversal Schemes
Intensity
Max
Average
Accumulate
First
Depth
38Ray Traversal - First
Intensity
First
Depth
- First extracts iso-surfaces (again!)done by
TuyTuy 84
39Ray Traversal - Average
Intensity
Average
Depth
- Average produces basically an X-ray picture
40Ray Traversal - MIP
Intensity
Max
Depth
- Max Maximum Intensity Projectionused for
Magnetic Resonance Angiogram
41Ray Traversal - Accumulate
Intensity
Accumulate
Depth
- Accumulate make transparent layers
visible!Levoy 88
42Volumetric Ray Integration
color
opacity
object (color, opacity)
43Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
44Flow Visualization
- Traditionally Experimental Flow Vis
- Now Computational Simulation
- Typical Applications
- Study physics of fluid flow
- Design aerodynamic objects
45Traditional Flow Experiments
46Techniques
Glyphs (arrows)
Contours
Streamlines
Jean M. Favre
47Techniques
48Techniques - Stream-ribbon
- Trace one streamline and a constant size vector
with it - Allows you to see places where flow twists
49Techniques - Stream-tube
- Generate a stream-line and widen it to a tube
- Width can encode another variable
50Mappings - Flow Volumes
- Instead of tracing a line - trace a small
polyhedron
51LIC (Line Integral Convolution)
- Integrate noise texture along a streamline
H.W. Shen
52Overview
- What is SciVis?
- Data Applications
- Iso-surfaces
- Direct Volume Rendering
- Vector Visualization
- Challenges
53Challenges - Accuracy
- Need metrics -gt perceptual metric
54Challenges - Accuracy
- Deal with unreliable data (noise, Ultrasound)
55Challenges - Accuracy
Structured Grids
regular
rectilinear
uniform
curvilinear
Unstructured Grids
regular
irregular
hybrid
curved
56Challenges - Speed/Size
- Efficient algorithms
- Hardware developments (VolumePro)
- Utilize current hardware (nVidia, ATI)
- Compression schemes
- Tera-byte data sets
57Challenges - HCI
- Need better interfaces
- Which method is best?
58Challenges - HCI
- Augmented reality
- Explore novel I/O devices