Lecture 14 Scientific Visualization Information Visualization CPSC 533
- Slides: 60
Lecture 14: Scientific Visualization Information Visualization CPSC 533 C, 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) – Raghu Machiraju (Ohio State University) – Klaus Mueller (SUNY Stony Brook)
News • Reminder: no class next week – I'm at Info. Vis/Vis in Baltimore
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Difference between Sci. Vis and Info. Vis Parallel Coordinates Direct Volume Rendering [Hauser et al. , Vis 2000] [Fua et al. , Vis 1999] Isosurfaces Glyphs Line Integral Convolution Scatter Plots [http: //www. axon. com / gn_Acuity. html] [Cabral & Leedom, SIGGRAPH 1993] Streamlines Node-link Diagrams [Lamping et al. , CHI 1995] [Verma et al. , Vis 2000] Sci. Vis Info. Vis
Difference between Sci. Vis and Info. Vis • Card, Mackinlay, & Shneiderman: – Sci. Vis: Scientific, physically based – Info. Vis: Abstract • Munzner: – Sci. Vis: Spatial layout given – Info. Vis: Spatial layout chosen • Tory & Möller: – Sci. Vis: Spatial layout given + Continuous – Info. Vis: Spatial layout chosen + Discrete – Everything else -- ?
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Medical Scanning • MRI, CT, SPECT, PET, ultrasound
Medical Scanning Applications • Medical education for anatomy, surgery, etc. • Illustration of medical procedures to the patient
Medical Scanning Applications • Surgical simulation for treatment planning • Tele-medicine • Inter-operative visualization in brain surgery, biopsies, etc.
Biological Scanning • Scanners: Biological scanners, electronic microscopes, confocal microscopes • Apps – physiology, paleontology, microscopic analysis…
Industrial Scanning • Planning (e. g. , log scanning) • Quality control • Security (e. g. airport scanners)
Scientific Computation Domain • Mathematical analysis • ODE/PDE (ordinary and partial differential equations) • Finite element analysis (FE) • Supercomputer simulations
Scientific Computation - Apps • Flow Visualization
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Isosurfaces - Examples Isolines Isosurfaces
Isosurface Extraction • by contouring – closed contours – continuous – determined by iso-value 0 1 1 3 2 1 3 6 6 3 3 7 9 7 3 2 7 8 6 2 1 2 3 4 3 • several methods – marching cubes is most common Iso-value = 5
MC 1: Create a Cube • Consider a Cube defined by eight data values: (i, j+1, k+1) (i, j, k+1) (i+1, j+1, k+1) (i+1, j, k+1) (i, j+1, k) (i, j, k) (i+1, j+1, k) (i+1, j, k)
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) 10 10 5 5 10 8 8 8 Iso=9 Iso=7 =inside =outside
MC 3: Build An Index • Use the binary labeling of each voxel to create an index v 8 v 7 v 4 v 3 v 5 v 1 inside =1 outside=0 v 6 v 2 Index: v 1 v 2 v 3 v 4 v 5 v 6 v 7 v 8 11110100 00110000
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
MC 4: Example • Index = 00000001 • triangle 1 = a, b, c c a b
MC 5: Interp. Triangle Vertex • For each triangle edge, find the vertex location along the edge using linear interpolation of the voxel values x i+1 i =10 =0 T=5 T=8
MC 6: Compute Normals • Calculate the normal at each cube vertex • Use linear interpolation to compute the polygon vertex normal
MC 7: Render!
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Direct Volume Rendering Examples
Rendering Pipeline (RP) Classify
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
Transfer Functions (TF’s) a RGB • Simple (usual) case: Map data value f to color and opacity f RGB(f) a(f) Shading, Compositing… Human Tooth CT Gordon Kindlmann
TF’s • Setting transfer functions is difficult, unintuitive, and slow a a f f Gordon Kindlmann
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
Rendering Pipeline (RP) Classify Shade
Light Effects reflected Light • Usually only considering reflected part specular Light absorbed ambient diffuse transmitted Light=refl. +absorbed+trans. Light=ambient+diffuse+specular
Rendering Pipeline (RP) Classify Shade Interpolate
Interpolation • Given: 2 D 1 D • Given: • Needed:
Interpolation • Very important; regardless of algorithm • Expensive => done very often for one image • Requirements for good reconstruction – performance – stability of the numerical algorithm – accuracy Nearest neighbor Linear
Rendering Pipeline (RP) Classify Shade Interpolate Composite
Ray Traversal Schemes Intensity Max Average Accumulate First Depth
Ray Traversal - First Intensity First Depth • First: extracts iso-surfaces (again!) done by Tuy&Tuy ’ 84
Ray Traversal - Average Intensity Average Depth • Average: produces basically an X-ray picture
Ray Traversal - MIP Intensity Max Depth • Max: Maximum Intensity Projection used for Magnetic Resonance Angiogram
Ray Traversal - Accumulate Intensity Accumulate Depth • Accumulate: make transparent layers visible! Levoy ‘ 88
Volumetric Ray Integration color opacity 1. 0 object (color, opacity)
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Flow Visualization • Traditionally – Experimental Flow Vis • Now – Computational Simulation • Typical Applications: – Study physics of fluid flow – Design aerodynamic objects
Traditional Flow Experiments
Techniques Glyphs (arrows) Contours Jean M. Favre Streamlines
Techniques
Techniques - Stream-ribbon • Trace one streamline and a constant size vector with it • Allows you to see places where flow twists
Techniques - Stream-tube • Generate a stream-line and widen it to a tube • Width can encode another variable
Mappings - Flow Volumes • Instead of tracing a line - trace a small polyhedron
LIC (Line Integral Convolution) • Integrate noise texture along a streamline H. W. Shen
Overview • • • What is Sci. Vis? Data & Applications Iso-surfaces Direct Volume Rendering Vector Visualization Challenges
Challenges - Accuracy • Need metrics -> perceptual metric
Challenges - Accuracy • Deal with unreliable data (noise, ultrasound)
Challenges - Accuracy • Irregular data sets Structured Grids: regular uniform rectilinear curvilinear Unstructured Grids: regular irregular hybrid curved
Challenges - Speed/Size • • • Efficient algorithms Hardware developments (Volume. Pro) Utilize current hardware (n. Vidia, ATI) Compression schemes Terabyte data sets
Challenges - HCI • Need better interfaces • Which method is best?
Challenges - HCI • “Augmented” reality • Explore novel I/O devices
- Bf-533
- Data visualization lecture
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Photoshop scientific notation
- Scientific inquiry vs scientific method
- How is a scientific law different from a scientific theory?
- Translate
- Introduction to information visualization
- Information visualization
- Unified health management information system
- Slovak centre of scientific and technical information
- Scirus for scientific information only
- Medval scientific information services
- Cpsc 404 ubc
- Cpsc 585
- Cpsc 441 assignment 1
- Cpsc 329 u of c
- Cpsc 426
- Cpsc 314
- Cpsc 111
- Cpsc 449
- Cpsc 321
- James tam u of c
- Cpsc 422
- Cpsc 581
- Cpsc 581
- Cpsc457
- Cpsc 433
- Cpsc 335
- Cpsc 335
- Cpsc 322
- Cpsc 319 u of c
- Cpsc 319 u of c
- Cpsc 259
- Cpsc 233
- Ubc cpsc 221
- Cpsc 121
- Cpsc 314
- Cpsc314
- Munzner cheating list
- Cpsc 386
- Cpsc 441 assignment 1
- Cpsc 585
- Cpsc 581
- Cpsc 531
- Cpsc 531
- Cpsc 531
- Cpsc 531
- Cpsc 503
- Cpsc 481
- Cpsc 441
- Cpsc 411
- Cpsc 320 ubc
- A2yes
- Cpsc 221
- Multidisicplinary
- Cpsc 121
- Cpsc 121
- Cpsc 422
- Cpsc 581
- Cpsc 325