lecture 14: scientific visualization information visualization cpsc 533c, fall 2006

60
Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006 Tamara Munzner UBC Computer Science 26 Oct 2006

Upload: gaurav

Post on 07-Jan-2016

39 views

Category:

Documents


4 download

DESCRIPTION

Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006. Tamara Munzner UBC Computer Science 26 Oct 2006. Credits. almost unchanged from lecture by Melanie Tory (University of Victoria) who in turn used resources from Torsten Möller (Simon Fraser University) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Lecture 14: Scientific Visualization

Information VisualizationCPSC 533C, Fall 2006

Tamara Munzner

UBC Computer Science

26 Oct 2006

Page 2: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Credits

• almost unchanged from lecture by Melanie Tory (University of Victoria)– who in turn used resources from– Torsten Möller (Simon Fraser University)– Raghu Machiraju (Ohio State University)– Klaus Mueller (SUNY Stony Brook)

Page 3: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

News

• Reminder: no class next week – I'm at InfoVis/Vis in Baltimore

Page 4: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 5: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Difference between SciVis and InfoVis

Direct Volume Rendering

Streamlines

Line Integral Convolution

GlyphsIsosurfaces

SciVis

Scatter Plots

Parallel Coordinates

Node-link Diagrams

InfoVis[Verma et al.,Vis 2000]

[Hauser et al.,Vis 2000]

[Cabral & Leedom,SIGGRAPH 1993]

[Fua et al., Vis 1999]

[http://www.axon.com/gn_Acuity.html]

[Lamping et al., CHI 1995]

Page 6: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Difference 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 -- ?

Page 7: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 8: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Medical Scanning

• MRI, CT, SPECT, PET, ultrasound

Page 9: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Medical Scanning - Applications

• Medical education for anatomy, surgery, etc.• Illustration of medical procedures to the patient

Page 10: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Medical Scanning - Applications

• Surgical simulation for treatment planning• Tele-medicine• Inter-operative visualization in brain surgery,

biopsies, etc.

Page 11: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Biological Scanning

• Scanners: Biological scanners, electronic microscopes, confocal microscopes

• Apps – physiology, paleontology, microscopic analysis…

Page 12: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Industrial Scanning

• Planning (e.g., log scanning)• Quality control• Security (e.g. airport scanners)

Page 13: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Scientific Computation - Domain

• Mathematical analysis

• ODE/PDE (ordinary and partialdifferential equations)

• Finite element analysis (FE)

• Supercomputer simulations

Page 14: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Scientific Computation - Apps

• Flow Visualization

Page 15: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 16: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Isosurfaces - Examples

Isolines Isosurfaces

Page 17: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Isosurface Extraction

• by contouring– closed contours– continuous– determined by iso-value

• several methods– marching cubes is most

common

1 2 3 4 3

2 7 8 6 2

3 7 9 7 3

1 3 6 6 3

0 1 1 3 2

Iso-value = 5

Page 18: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 1: Create a Cube

• Consider a Cube defined by eight data values:

(i,j,k) (i+1,j,k)

(i,j+1,k)

(i,j,k+1)

(i,j+1,k+1)

(i+1,j+1,k+1)

(i+1,j+1,k)

(i+1,j,k+1)

Page 19: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 2: Classify Each Voxel• Classify each voxel according to whether it lies

outside the surface (value > iso-surface value)inside the surface (value <= iso-surface value)

8Iso=78

8

55

10

10

10

Iso=9

=inside=outside

Page 20: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 3: Build An Index

• Use the binary labeling of each voxel to create an index

v1 v2

v6

v3v4

v7v8

v5

inside =1outside=0

11110100

00110000

Index:v1 v2 v3 v4 v5 v6 v7 v8

Page 21: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 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

Page 22: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 4: Example

• Index = 00000001• triangle 1 = a, b, c

a

b

c

Page 23: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 5: Interp. Triangle Vertex

• For each triangle edge, find the vertex location along the edge using linear interpolation of the voxel values

=10=0

T=8

T=5

i i+1x

iviv

ivTix

1

Page 24: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 6: Compute Normals• Calculate the normal at each cube vertex

1,,1,,

,1,,1,

,,1,,1

kjikjiz

kjikjiy

kjikjix

vvG

vvG

vvG

• Use linear interpolation to compute the polygon vertex normal

Page 25: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

MC 7: Render!

Page 26: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 27: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Direct Volume Rendering Examples

Page 28: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Rendering Pipeline (RP)

Classify

Page 29: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Classification

• 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

Page 30: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Transfer Functions (TF’s)

• Simple (usual) case: Map data value f to color and opacity

Human Tooth CT

(f)RGB(f)

f

RGB

Shading,Compositing…

Gordon Kindlmann

Page 31: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

TF’s

• Setting transfer functions is difficult, unintuitive, and slow

f

f

f

f

Gordon Kindlmann

Page 32: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Transfer 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

Page 33: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Rendering Pipeline (RP)

Classify

Shade

Page 34: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Light Effects

• Usually only considering reflected part

Light

absorbed

transmitted

reflected

Light=refl.+absorbed+trans.

Light

ambient

specular

diffuse

ssddaa IkIkIkI

Light=ambient+diffuse+specular

Page 35: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Rendering Pipeline (RP)

Classify

Shade

Interpolate

Page 36: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Interpolation

• Given:

• Needed:

2D 1D• Given:

• Needed:

Page 37: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Interpolation

• Very important; regardless of algorithm• Expensive => done very often for one image• Requirements for good reconstruction

– performance– stability of the numerical algorithm– accuracy

Nearestneighbor

Linear

Page 38: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Rendering Pipeline (RP)

Classify

Shade

Interpolate

Composite

Page 39: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Ray Traversal Schemes

Depth

IntensityMax

Average

Accumulate

First

Page 40: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Ray Traversal - First

Depth

Intensity

First

• First: extracts iso-surfaces (again!)done by Tuy&Tuy ’84

Page 41: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Ray Traversal - Average

Depth

Intensity

Average

• Average: produces basically an X-ray picture

Page 42: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Ray Traversal - MIP

Depth

IntensityMax

• Max: Maximum Intensity Projectionused for Magnetic Resonance Angiogram

Page 43: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Ray Traversal - Accumulate

Depth

Intensity

Accumulate

• Accumulate: make transparent layers visible!Levoy ‘88

Page 44: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Volumetric Ray Integration

color

opacity

object (color, opacity)

1.0

Page 45: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 46: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Flow Visualization

• Traditionally – Experimental Flow Vis• Now – Computational Simulation

• Typical Applications:– Study physics of fluid flow– Design aerodynamic objects

Page 47: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Traditional Flow Experiments

Page 48: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Techniques

Contours

StreamlinesJean M. Favre

Glyphs (arrows)

Page 49: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Techniques

Page 50: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Techniques - Stream-ribbon

• Trace one streamline and a constant size vector with it

• Allows you to see places where flow twists

Page 51: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Techniques - Stream-tube

• Generate a stream-line and widen it to a tube• Width can encode another variable

Page 52: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Mappings - Flow Volumes

• Instead of tracing a line - trace a small polyhedron

Page 53: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

LIC (Line Integral Convolution)

• Integrate noise texture along a streamline

H.W. Shen

Page 54: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Overview

• What is SciVis?• Data & Applications• Iso-surfaces• Direct Volume Rendering• Vector Visualization• Challenges

Page 55: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - Accuracy

• Need metrics -> perceptual metric

(a) Original (b) Bias-Added (c) Edge-Distorted

Page 56: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - Accuracy

• Deal with unreliable data (noise, ultrasound)

Page 57: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - Accuracy

• Irregular data sets

regular rectilinearuniform curvilinear

Structured Grids:

regular irregular hybrid curved

Unstructured Grids:

Page 58: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - Speed/Size

• Efficient algorithms• Hardware developments (VolumePro)• Utilize current hardware (nVidia, ATI)• Compression schemes• Terabyte data sets

Page 59: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - HCI

• Need better interfaces

• Which method

is best?

Page 60: Lecture 14: Scientific Visualization Information Visualization CPSC 533C, Fall 2006

Challenges - HCI• “Augmented” reality• Explore novel I/O devices