Difference between revisions of "SciVisFall2008/Schedule"
(63 intermediate revisions by 7 users not shown) | |||
Line 21: | Line 21: | ||
Topics: Procedural vs. Dataflow programming; Using Dataflow for the Vis Pipeline; Dataflow programming with VTK; Dataflow programming with VisTrails; python. | Topics: Procedural vs. Dataflow programming; Using Dataflow for the Vis Pipeline; Dataflow programming with VTK; Dataflow programming with VisTrails; python. | ||
Notes: | Notes: [http://www.cs.utah.edu/~csilva/courses/cs5630/lec02-notes.pdf lec02-notes.pdf] | ||
Slides: | Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/lec02.pdf lec02.pdf] | ||
Further reading: | |||
(Optional reading) [http://www.cs.utah.edu/~csilva/courses/cs5630/reproducible_vis.pdf Provenance for Visualizations: Reproducibility and Beyond], C. Silva, J. Freire, and S. Callahan, IEEE Computing in Science and Engineering, 2008. | |||
== 9/2: Modeling Data for Visualization == | == 9/2: Modeling Data for Visualization == | ||
Line 35: | Line 35: | ||
Topics: Discrete vs continous data; Sampling and interpolation; Point vs triangulated data; Meshing data types; Regular vs irregular data; Tabular data; Vector and tensor fields | Topics: Discrete vs continous data; Sampling and interpolation; Point vs triangulated data; Meshing data types; Regular vs irregular data; Tabular data; Vector and tensor fields | ||
Notes: | Notes: [http://www.vistrails.org/download/download.php?type=PUB&id=week2.pdf modeling data] | ||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=processing.ppt processing.ppt] | |||
Further reading: | |||
[http://www.cs.wisc.edu/graphics/Courses/559-s2001/notes/hanrahan.pdf Basic Signal Processing] | |||
[http://graphics.cs.uiuc.edu/~garland/papers/quadrics.pdf Surface Simplification Using Quadric Error Metrics] | |||
(Optional Reading) [http://www.sci.utah.edu/~csilva/papers/vis2001b.pdf A Memory Insensitive Technique for Large Model Simplification] | |||
[http:// | (Optional Reading) [http://graphics.cs.uiuc.edu/~garland/papers/TR-2004-2450.pdf Quadric-based Simplification in any Dimension] | ||
== 9/4: Modeling Data for Visualization == | == 9/4: Modeling Data for Visualization == | ||
Line 50: | Line 54: | ||
Topics: Geometry Processing: Reconstruction and meshing; Simplification; Smoothing; Other Filtering algorithms | Topics: Geometry Processing: Reconstruction and meshing; Simplification; Smoothing; Other Filtering algorithms | ||
Notes: [http://www.vistrails.org/download/download.php?type=PUB&id=week2.pdf modeling data] | |||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=processing.ppt processing.ppt] | |||
Further reading: | |||
http://en.wikipedia.org/wiki/Least_squares | |||
(Optional Reading) [http://www.sci.utah.edu/~csilva/papers/sig2005.pdf Robust Moving Least-squares Fitting with Sharp Features] | |||
(Optional Reading) [http://www.sci.utah.edu/~cscheid/pubs/band_mls.pdf Optimal Bandwidth Selection for MLS Surfaces] | |||
== 9/9: Elementary Plotting Techniques == | == 9/9: Elementary Plotting Techniques == | ||
Line 56: | Line 72: | ||
Topics: Principles of Graph Construction | Topics: Principles of Graph Construction | ||
Notes: [http://www.sci.utah.edu/~stevec/classes/cs5630/PlottingNotes.pdf PlottingNotes.pdf] | |||
Slides: [http://www.sci.utah.edu/~stevec/slides/SciVis/Plotting1.pdf Plotting1.pdf] | |||
Further Reading: There is no required reading for this lecture. For those interested in more depth, the following books are very useful: | |||
* The Elements of Graphing Data. William S. Cleveland, Hobart Press, 2nd Edition, 1994. | |||
* Visualizing Data. William S. Cleveland, Hobart Press, 1993. | |||
* The Visual Display of Quantitative Information. Edward R. Tufte, Graphics Press, 2001. | |||
* Visual Explanations: Images and Quantities, Evidence and Narrative. Edward R. Tufte, Graphics Press, 2997. | |||
== 9/11: Elementary Plotting Techniques == | == 9/11: Elementary Plotting Techniques == | ||
Line 62: | Line 92: | ||
Topics: Simple Plotting Methods: Dot Plots, Connected Symbol Plots, Scatter Plots, Histograms, Others. Advanced Plotting Methods: Multimodal, Higher Dimensional, Correlation, Uncertainty and Variation. | Topics: Simple Plotting Methods: Dot Plots, Connected Symbol Plots, Scatter Plots, Histograms, Others. Advanced Plotting Methods: Multimodal, Higher Dimensional, Correlation, Uncertainty and Variation. | ||
Notes: [http://www.sci.utah.edu/~stevec/classes/cs5630/PlottingNotes.pdf PlottingNotes.pdf] | |||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=Plotting2.pdf Plotting2.pdf] | |||
Vistrails: [http://www.sci.utah.edu/~stevec/classes/cs5630/PlottingVistrails.zip PlottingVistrails.zip] - Unzip this file in the examples directory of your VisTrails installation and it will add the vistrails along with their data sets (in the data directory). If you don't have permission to write to this directory (CADE users), then unzip the file where you want. Just be aware that in this case the paths for the data files may not be correct for most vistrails and will need to be fixed before they will execute properly. | |||
Further Reading: There is no required reading for this lecture. Some articles of interest: | |||
* [http://www.fmrib.ox.ac.uk/analysis/techrep/tr00mj2/tr00mj2/node24.html Histogram Bin Size] | |||
* [http://en.wikipedia.org/wiki/Correlation Correlation] | |||
* [http://en.wikipedia.org/wiki/Linear_regression Linear Regression] | |||
* [http://en.wikipedia.org/wiki/Box_plot Box Plots] | |||
== 9/16: Color and Human Perception == | == 9/16: Color and Human Perception == | ||
Line 68: | Line 111: | ||
Topics: Human vision system; Optical illusions | Topics: Human vision system; Optical illusions | ||
Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/human-vision.pdf human-vision.pdf] | |||
Links: | |||
http://en.wikipedia.org/wiki/Eye | |||
http://www.grand-illusions.com/gregory2.htm (also, see the related book: [http://www.amazon.com/Eye-Brain-Richard-L-Gregory/dp/0691048371]) | |||
http://en.wikipedia.org/wiki/Purkinje_effect | |||
http://www.handprint.com/HP/WCL/color2.html | |||
== 9/18: Color and Human Perception == | == 9/18: Color and Human Perception == | ||
Lecturer: | Lecturer: Jens Krueger | ||
Topics: Color Science; Color spaces; Color Blindness; Color maps; Tone mapping; | |||
Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/colorvision-jens.pdf colorvision-jens.pdf] | |||
Links: | |||
Further reading: | |||
[http://www.research.ibm.com/dx/proceedings/pravda/truevis.htm How Not to Lie with Visualization] | |||
http://en.wikipedia.org/wiki/Opponent_process | |||
http://en.wikipedia.org/wiki/Color_models | |||
http://en.wikipedia.org/wiki/Absolute_color_space | |||
http://en.wikipedia.org/wiki/Additive_color | |||
http://en.wikipedia.org/wiki/Subtractive_color | |||
http://en.wikipedia.org/wiki/RGB_color_model | |||
http://en.wikipedia.org/wiki/SRGB_color_space | |||
http://en.wikipedia.org/wiki/CIE_XYZ_color_space | |||
== 9/23: Math refresher == | == 9/23: Math refresher == | ||
Lecturer: Carlos Scheidegger | |||
Topics: Basic linear algebra; vectors; basic differential geometry (space curves, tangents, normals, surfaces); basic vector calculus (gradient, divergence, curl, gauss' theorem, green's theorem) | |||
Links: | |||
[http://www.falstad.com/vector Vector Field Applet] | |||
Further Reading: | |||
http://en.wikipedia.org/wiki/Vector_calculus | |||
Appendix A of these notes might be useful: [http://www.cs.ubc.ca/~rbridson/fluidsimulation/fluids_notes.pdf] | |||
Two books that take a very accessible approach at vector calculus: | |||
[http://www.amazon.com/Div-Grad-Curl-All-That/dp/0393969975 Div, Grad, Curl, and All That: An Informal Text on Vector Calculus] | |||
[http://www.cambridge.org/uk/catalogue/catalogue.asp?isbn=9780521877619 A Student's Guide to Maxwell's Equations] | |||
== 9/25 2D Visualization Techniques == | |||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: | Topics: 2-D contours, marching quads, marching tris; Color mapping; height fields; NPR | ||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=2d_scalar_vis.pdf pdf file] | |||
Notes: [http://www.vistrails.org/download/download.php?type=PUB&id=2d_scalar_vis_notes.pdf pdf file] | |||
Vistrails: [http://www.vistrails.org/download/download.php?type=DATA&id=ozone_and_data.zip zip file with ozone.vt and data] [http://www.vistrails.org/download/download.php?type=DATA&id=asymptotic_decider.vt asymptotic decider in 2d] [http://www.vistrails.org/download/download.php?type=DATA&id=elevation.zip heightfields] | |||
Note: These vistrails use relative file paths so you don't need to change each of them individually to match your directory structure. Simply unzip the file to whichever location is more convenient. Then, inside VisTrails, open the VisTrails shell, type: | |||
import os | |||
os.chdir("c:/directory/where/you/unzipped/it") | |||
This will change the directory so you should be able to just run the pipelines. | |||
Further reading: | |||
http://ieeexplore.ieee.org/iel5/4271943/4271944/04272091.pdf | |||
http://www.jstor.org/stable/pdfplus/2683294.pdf | |||
Lecturer: Claudio | [http://www.inf.ufrgs.br/%7Eoliveira/pubs_files/Kuhn_Oliveira_Fernandes_Vis2008.pdf An Efficient Naturalness-Preserving Image-Recoloring Method for Dichromats] | ||
== 9/30: 2D Visualization Techniques == | |||
Lecturer: Jens Krueger and Claudio | |||
Topics: 2-D vector fields, div, grad, curl in 2D; Steady vs Unsteady flows; Glyphs; 2-D streamlines, streaklines, pathlines | Topics: 2-D vector fields, div, grad, curl in 2D; Steady vs Unsteady flows; Glyphs; 2-D streamlines, streaklines, pathlines | ||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=2d_vector_vis.pdf pdf file] | |||
Lecturer: | Further reading: | ||
http://en.wikipedia.org/wiki/Streamlines,_streaklines_and_pathlines | |||
http://en.wikipedia.org/wiki/Euler's_method | |||
http://en.wikipedia.org/wiki/Runge-Kutta | |||
Demos: | |||
http://www.win.tue.nl/~vanwijk/ibfv/ | |||
http://www.javaview.de/demo/PaLIC.html | |||
Vistrails: [http://www.vistrails.org/download/download.php?type=DATA&id=vector_vis_1.zip vistrail with steady vector field vis and data] [http://www.vistrails.org/download/download.php?type=DATA&id=unsteady.zip vistrail with unsteady vector field vis and data] '''Note:''' Because VTK does not support time-varying datasets directly, we had to create a reasonably ugly hack to simulate unsteady fields. This means the datasets are quite big (80MB in total). | |||
[http://wwwcg.in.tum.de/Download/PE "The Dx9 Particle Engine" as well as a few datasets] | |||
== 10/2: Volume Vis == | |||
Lecturer: Carlos | |||
Topics: Slicing; Contours; Marching algorithms | Topics: Slicing; Contours; Marching algorithms | ||
Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/iso-basic.pdf iso-basic.pdf] | |||
References: | |||
[http://portal.acm.org/citation.cfm?id=37401.37422 Marching cubes: A high resolution 3D surface construction algorithm] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=175782 The asymptotic decider: resolving the ambiguity in marching cubes] | |||
== 10/2: Volume Vis == | == 10/2: Volume Vis == | ||
Lecturer: | Lecturer: Carlos | ||
Topics: Accelerating structures; High-quality contours | Topics: Accelerating structures; High-quality contours | ||
Slides: | |||
[http://www.cs.utah.edu/~csilva/courses/cs5630/iso-speed.pdf iso-speed.pdf] | |||
Lecturer: | [http://www.cs.utah.edu/~csilva/courses/cs5630/iso-speed-2.pdf iso-speed-2.pdf] | ||
References: | |||
[http://doi.ieeecomputersociety.org/10.1109/2945.489388 A Near Optimal Isosurface Extraction Algorithm Using the Span Space] | |||
[http://doi.ieeecomputersociety.org/10.1109/2945.485619 Automatic Isosurface Propagation Using an Extrema Graph and Sorted Boundary Cell Lists] | |||
[http://doi.ieeecomputersociety.org/10.1109/2945.597798 Speeding Up Isosurface Extraction Using Interval Trees] | |||
[http://doi.ieeecomputersociety.org/10.1109/SVVG.2004.5 Implicit Occluders] | |||
== 10/9: Volume Vis == | |||
Lecturer: Carlos Scheidegger | |||
Topics: High quality isosurfaces | Topics: High quality isosurfaces | ||
Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/iso-quality.pdf iso-quality.pdf] | |||
References: | |||
[http://www.cs.utah.edu/~csilva/2007-sub/macet.pdf Edge Transformations for Improving Mesh Quality of Marching Cubes] | |||
[http://www.sci.utah.edu/~csilva/papers/tvcg2006acr.pdf High-Quality Extraction of Isosurfaces from Regular and Irregular Grids] | |||
[http://portal.acm.org/citation.cfm?id=566570.566586 Dual contouring of hermite data] | |||
[http://www.sci.utah.edu/%7Emiriah/research/meshing/vis07meyer.pdf Topology, Accuracy, and Quality of Isosurface Meshes Using Dynamic Particles] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1260744 Material interface reconstruction] | |||
== 10/14: Fall break == | == 10/14: Fall break == | ||
Line 117: | Line 291: | ||
== 10/21: Direct Volume Rendering == | == 10/21: Direct Volume Rendering == | ||
Lecturer: | Lecturer: Huy Vo | ||
Topics: Introduction to volume rendering | Topics: Introduction to volume rendering | ||
Slides: [http://www.sci.utah.edu/~stevec/classes/cs5630/VolumeRendering1.pdf VolumeRendering1.pdf] | |||
Notes: [http://www.sci.utah.edu/~stevec/classes/cs5630/dvr.pdf dvr.pdf] | |||
vistrails: [http://www.sci.utah.edu/~stevec/classes/cs5630/VolumeRenderingVistrails.zip VolumeRenderingVistrails.zip] | |||
References: | |||
[http://www.llnl.gov/graphics/docs/OpticalModelsLong.pdf Optical Models for Direct Volume Rendering] | |||
== 10/23: Midterm 1 == | == 10/23: Midterm 1 == | ||
Line 129: | Line 312: | ||
Topics: Structured grid techniques: ray-casting, splatting, texture slicing, shear-warp | Topics: Structured grid techniques: ray-casting, splatting, texture slicing, shear-warp | ||
Slides: [http://www.sci.utah.edu/~stevec/classes/cs5630/VolumeRendering2.pdf VolumeRendering2.pdf] | |||
Notes: same as previous class | |||
vistrails: same as previous class | |||
References: | |||
[http://graphics.stanford.edu/papers/volume-cga88/ Display of Surfaces from Volume Data] - Ray casting paper | |||
[http://portal.acm.org/citation.cfm?id=329138 Interactive Volume Rendering] - Splatting paper, paper requires ACM digital library access | |||
== | [http://portal.acm.org/citation.cfm?id=197972&dl=ACM&coll=GUIDE Accelerated volume rendering and tomographic reconstruction using texture mapping hardware] - Texture slicing paper, requires ACM digital library access | ||
Lecturer: | [http://graphics.stanford.edu/papers/shear/ Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation] - Shear-warp paper | ||
== 10/30: Invited Lecture by Professor Joao Comba == | |||
Title: Edge Groups: An Approach to Understanding the Mesh Quality of Marching Methods | |||
Abstract: Marching Cubes is the most popular isosurface extraction algorithm due to its simplicity, efficiency and robustness. It has been widely studied, improved, and extended. While much early work was concerned with efficiency and correctness issues, lately there has been a push to improve the quality of Marching Cubes meshes so that they can be used in computational codes. In this work we present a new classification of MC cases that we call Edge Groups, which helps elucidate the issues that impact the triangle quality of the meshes that the method generates. This formulation allows a more systematic way to bound the triangle quality, and is general enough to extend to other polyhedral cell shapes used in other polygonization algorithms. Using this analysis, we also discuss ways to improve the quality of the resulting triangle mesh, including some that require only minor modifications of the original algorithm. | |||
This is joint work with Carlos A. Dietrich, Carlos E. Scheidegger, Luciana P. Nedel and Claudio T. Silva, and was presented last week at IEEE Visualization 2008. | |||
Slides: [http://www.vistrails.org/download/download.php?type=PUB&id=comba_talk.pdf pdf file] | |||
== 11/4: Direct Volume Rendering == | |||
Lecturer: Jens Kruger | |||
Topics: Unstructured grid techniques | |||
Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/unstructured_grid_rendering.pdf unstructured_grid_rendering.pdf] | |||
References: | |||
[http://www.sci.utah.edu/~csilva/papers/rita2005.pdf A Survey of GPU-Based Volume Rendering of Unstructured Grid] | |||
[http://www.sci.utah.edu/~csilva/papers/tvcg2005cr.pdf Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering] (This technique is implemented in VTK: http://www.vtk.org/doc/nightly/html/classvtkHAVSVolumeMapper.html) | |||
[http://www.sci.utah.edu/~csilva/papers/volvis2000.pdf ZSWEEP: An Efficient and Exact Projection Algorithm for Unstructured Volume Rendering] (This technique is implemented in VTK: http://www.vtk.org/doc/nightly/html/classvtkUnstructuredGridVolumeZSweepMapper.html) | |||
== 11/6: Direct Volume Rendering == | == 11/6: Direct Volume Rendering == | ||
Line 141: | Line 357: | ||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: Unstructured grid techniques | Topics: Unstructured grid techniques (continuation from last class) | ||
== 11/11: Direct Volume Rendering == | == 11/11: Direct Volume Rendering == | ||
Line 149: | Line 365: | ||
Topics: Transfer function specification | Topics: Transfer function specification | ||
== 11/13: | Slides: [http://www.cs.utah.edu/~csilva/courses/cs5630/transfer_functions.pdf transfer_functions.pdf] | ||
References: | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=920623 The transfer function bake-off] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=663875 The contour spectrum] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1021579 Multidimensional transfer functions for interactive volume rendering] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=729588 Semi-automatic generation of transfer functions for direct volume rendering] | |||
Additional Question: | |||
[[Image:Synthetic_slice_tf.png]] | |||
The above image is the sphere data and joint histogram discussed in class. Which material boundary is highlighted by the small arc on the right-side of the histogram? The colors in the original dataset can be interpreted as: | |||
0 = Blue | |||
1 = Green | |||
2 = Red | |||
== 11/13: Direct Volume Rendering == | |||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: | Topics: Transfer function specification | ||
== 11/ | References: | ||
[http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=568113 Generation of transfer functions with stochastic search techniques] | |||
[http://portal.acm.org/citation.cfm?id=258734.258887 Design galleries: a general approach to setting parameters for computer graphics and animation] | |||
[http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4653210 Transfer-Function Specification for Rendering Disparate Volumes] (and corresponding [http://www.sci.utah.edu/~stevec/movies/TransferFunction-QT-H.264.mov video]) | |||
== 11/18: Intro to Geometry Processing == | |||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: | == 11/20: Information Visualization == | ||
Lecturer: Steve Callahan | |||
Topics: Intro to InfoVis, clustering, parallel coordinates, graph vis, tree vis, cartograms | |||
Slides: [http://www.sci.utah.edu/~stevec/classes/cs5630/InfoVis.pdf InfoVis.pdf] | |||
References: | |||
[http://www.smartmoney.com/map-of-the-market/ Map of the Market]: Tree Map of Stock Market | |||
Lecturer: | [http://itol.embl.de/itol.cgi Interactive Tree of Life]: Radial Phylogenetic Tree | ||
[http://www.derlien.com/ Disk Inventory X]: Tree Map Disk Utility for Mac | |||
[http://w3.win.tue.nl/nl/onderzoek/onderzoek_informatica/visualization/sequoiaview/ Sequoia View]: Tree Map Disk Utility for Windows | |||
[http://www.gg.caltech.edu/~zhukov/infovis/world_of_music.htm World of Music]: Music Clustering | |||
[http://www.graphviz.org/ Graphviz]: Graph layout project | |||
== 11/25: Information Visualization == | |||
Lecturer: Steve Callahan | |||
Topics: InfoVis examples; recent developments | |||
References: | |||
[http://www.cs.utah.edu/~draperg/research/papers/infovis2008.pdf Demographic Analysis] | |||
[http://manyeyes.alphaworks.ibm.com/manyeyes/ Many Eyes] | |||
[http://manyeyes.alphaworks.ibm.com/manyeyes/ Name Voyager] | |||
[http://www.gapminder.org/ Gap Minder] | |||
[http://www.nytimes.com/interactive/2008/02/23/movies/20080223_REVENUE_GRAPHIC.html?scp=1&sq=interactive%20movie&st=cse Ebb and Flow of Movies] | |||
[http://www.tableausoftware.com Tableau] | |||
[http://www.palantirtech.com Palantir] | |||
== 11/27: Thanksgiving == | == 11/27: Thanksgiving == | ||
Line 181: | Line 457: | ||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: Tufte principles | Topics: Tufte principles (Part I) | ||
Slides: [http://www.sci.utah.edu/~stevec/classes/cs5630/Tufte.pdf Tufte.pdf] | |||
References: | |||
* Envisioning Information, Edward R. Tufte, Academic Press, 1990 | |||
* Visual Explanations: Images and Quantities, Evidence and Narrative, Edward R. Tufte, Academic Press, 1997 | |||
== 12/4: Aesthetic Issues in Vis == | == 12/4: Introduction to Computational Topology == | ||
Lecturer: Valerio Pascucci | |||
== 12/9: Aesthetic Issues in Vis == | |||
Lecturer: Claudio | Lecturer: Claudio | ||
Topics: | Topics: Tufte principles (Part II) | ||
Slides: [http://www.sci.utah.edu/~stevec/classes/cs5630/Tufte.pdf Tufte.pdf] | |||
References: | |||
* Envisioning Information, Edward R. Tufte, Academic Press, 1990 | |||
* Visual Explanations: Images and Quantities, Evidence and Narrative, Edward R. Tufte, Academic Press, 1997 | |||
(This class ended early; but we finished on Thursday.) | |||
== 12/11: Continuation from last class == | |||
We finished Tufte. | |||
Then, we discussed the major themes that we covered in class. | |||
Thank you all for participating! | |||
Happy holidays! |
Latest revision as of 00:07, 12 December 2008
8/26: Introduction to visualization
Lecturer: Claudio
Topics: Scientific Visualization
Notes: lec01-notes.pdf
Slides: intro
Animations: NCSA storm animation
Further reading:
(Optional reading) Provenance for Computational Tasks: A Survey
8/28: The visualization pipeline
Lecturer: Claudio
Topics: Procedural vs. Dataflow programming; Using Dataflow for the Vis Pipeline; Dataflow programming with VTK; Dataflow programming with VisTrails; python.
Notes: lec02-notes.pdf
Slides: lec02.pdf
Further reading:
(Optional reading) Provenance for Visualizations: Reproducibility and Beyond, C. Silva, J. Freire, and S. Callahan, IEEE Computing in Science and Engineering, 2008.
9/2: Modeling Data for Visualization
Lecturer: Claudio
Topics: Discrete vs continous data; Sampling and interpolation; Point vs triangulated data; Meshing data types; Regular vs irregular data; Tabular data; Vector and tensor fields
Notes: modeling data
Slides: processing.ppt
Further reading:
Surface Simplification Using Quadric Error Metrics
(Optional Reading) A Memory Insensitive Technique for Large Model Simplification
(Optional Reading) Quadric-based Simplification in any Dimension
9/4: Modeling Data for Visualization
Lecturer: Claudio
Topics: Geometry Processing: Reconstruction and meshing; Simplification; Smoothing; Other Filtering algorithms
Notes: modeling data
Slides: processing.ppt
Further reading:
http://en.wikipedia.org/wiki/Least_squares
(Optional Reading) Robust Moving Least-squares Fitting with Sharp Features
(Optional Reading) Optimal Bandwidth Selection for MLS Surfaces
9/9: Elementary Plotting Techniques
Lecturer: Claudio
Topics: Principles of Graph Construction
Notes: PlottingNotes.pdf
Slides: Plotting1.pdf
Further Reading: There is no required reading for this lecture. For those interested in more depth, the following books are very useful:
- The Elements of Graphing Data. William S. Cleveland, Hobart Press, 2nd Edition, 1994.
- Visualizing Data. William S. Cleveland, Hobart Press, 1993.
- The Visual Display of Quantitative Information. Edward R. Tufte, Graphics Press, 2001.
- Visual Explanations: Images and Quantities, Evidence and Narrative. Edward R. Tufte, Graphics Press, 2997.
9/11: Elementary Plotting Techniques
Lecturer: Claudio
Topics: Simple Plotting Methods: Dot Plots, Connected Symbol Plots, Scatter Plots, Histograms, Others. Advanced Plotting Methods: Multimodal, Higher Dimensional, Correlation, Uncertainty and Variation.
Notes: PlottingNotes.pdf
Slides: Plotting2.pdf
Vistrails: PlottingVistrails.zip - Unzip this file in the examples directory of your VisTrails installation and it will add the vistrails along with their data sets (in the data directory). If you don't have permission to write to this directory (CADE users), then unzip the file where you want. Just be aware that in this case the paths for the data files may not be correct for most vistrails and will need to be fixed before they will execute properly.
Further Reading: There is no required reading for this lecture. Some articles of interest:
9/16: Color and Human Perception
Lecturer: Claudio
Topics: Human vision system; Optical illusions
Slides: human-vision.pdf
Links:
http://en.wikipedia.org/wiki/Eye
http://www.grand-illusions.com/gregory2.htm (also, see the related book: [1])
http://en.wikipedia.org/wiki/Purkinje_effect
http://www.handprint.com/HP/WCL/color2.html
9/18: Color and Human Perception
Lecturer: Jens Krueger
Topics: Color Science; Color spaces; Color Blindness; Color maps; Tone mapping;
Slides: colorvision-jens.pdf
Links:
Further reading:
How Not to Lie with Visualization
http://en.wikipedia.org/wiki/Opponent_process
http://en.wikipedia.org/wiki/Color_models
http://en.wikipedia.org/wiki/Absolute_color_space
http://en.wikipedia.org/wiki/Additive_color
http://en.wikipedia.org/wiki/Subtractive_color
http://en.wikipedia.org/wiki/RGB_color_model
http://en.wikipedia.org/wiki/SRGB_color_space
http://en.wikipedia.org/wiki/CIE_XYZ_color_space
9/23: Math refresher
Lecturer: Carlos Scheidegger
Topics: Basic linear algebra; vectors; basic differential geometry (space curves, tangents, normals, surfaces); basic vector calculus (gradient, divergence, curl, gauss' theorem, green's theorem)
Links:
Further Reading:
http://en.wikipedia.org/wiki/Vector_calculus
Appendix A of these notes might be useful: [2]
Two books that take a very accessible approach at vector calculus:
Div, Grad, Curl, and All That: An Informal Text on Vector Calculus
A Student's Guide to Maxwell's Equations
9/25 2D Visualization Techniques
Lecturer: Claudio
Topics: 2-D contours, marching quads, marching tris; Color mapping; height fields; NPR
Slides: pdf file
Notes: pdf file
Vistrails: zip file with ozone.vt and data asymptotic decider in 2d heightfields
Note: These vistrails use relative file paths so you don't need to change each of them individually to match your directory structure. Simply unzip the file to whichever location is more convenient. Then, inside VisTrails, open the VisTrails shell, type:
import os os.chdir("c:/directory/where/you/unzipped/it")
This will change the directory so you should be able to just run the pipelines.
Further reading:
http://ieeexplore.ieee.org/iel5/4271943/4271944/04272091.pdf
http://www.jstor.org/stable/pdfplus/2683294.pdf
An Efficient Naturalness-Preserving Image-Recoloring Method for Dichromats
9/30: 2D Visualization Techniques
Lecturer: Jens Krueger and Claudio
Topics: 2-D vector fields, div, grad, curl in 2D; Steady vs Unsteady flows; Glyphs; 2-D streamlines, streaklines, pathlines
Slides: pdf file
Further reading:
http://en.wikipedia.org/wiki/Streamlines,_streaklines_and_pathlines
http://en.wikipedia.org/wiki/Euler's_method
http://en.wikipedia.org/wiki/Runge-Kutta
Demos:
http://www.win.tue.nl/~vanwijk/ibfv/
http://www.javaview.de/demo/PaLIC.html
Vistrails: vistrail with steady vector field vis and data vistrail with unsteady vector field vis and data Note: Because VTK does not support time-varying datasets directly, we had to create a reasonably ugly hack to simulate unsteady fields. This means the datasets are quite big (80MB in total).
"The Dx9 Particle Engine" as well as a few datasets
10/2: Volume Vis
Lecturer: Carlos
Topics: Slicing; Contours; Marching algorithms
Slides: iso-basic.pdf
References:
Marching cubes: A high resolution 3D surface construction algorithm
The asymptotic decider: resolving the ambiguity in marching cubes
10/2: Volume Vis
Lecturer: Carlos
Topics: Accelerating structures; High-quality contours
Slides:
References:
A Near Optimal Isosurface Extraction Algorithm Using the Span Space
Automatic Isosurface Propagation Using an Extrema Graph and Sorted Boundary Cell Lists
Speeding Up Isosurface Extraction Using Interval Trees
10/9: Volume Vis
Lecturer: Carlos Scheidegger
Topics: High quality isosurfaces
Slides: iso-quality.pdf
References:
Edge Transformations for Improving Mesh Quality of Marching Cubes
High-Quality Extraction of Isosurfaces from Regular and Irregular Grids
Dual contouring of hermite data
Topology, Accuracy, and Quality of Isosurface Meshes Using Dynamic Particles
Material interface reconstruction
10/14: Fall break
10/16: Fall break
10/21: Direct Volume Rendering
Lecturer: Huy Vo
Topics: Introduction to volume rendering
Slides: VolumeRendering1.pdf
Notes: dvr.pdf
vistrails: VolumeRenderingVistrails.zip
References: Optical Models for Direct Volume Rendering
10/23: Midterm 1
10/28: Direct Volume Rendering
Lecturer: Claudio
Topics: Structured grid techniques: ray-casting, splatting, texture slicing, shear-warp
Slides: VolumeRendering2.pdf
Notes: same as previous class
vistrails: same as previous class
References:
Display of Surfaces from Volume Data - Ray casting paper
Interactive Volume Rendering - Splatting paper, paper requires ACM digital library access
Accelerated volume rendering and tomographic reconstruction using texture mapping hardware - Texture slicing paper, requires ACM digital library access
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation - Shear-warp paper
10/30: Invited Lecture by Professor Joao Comba
Title: Edge Groups: An Approach to Understanding the Mesh Quality of Marching Methods
Abstract: Marching Cubes is the most popular isosurface extraction algorithm due to its simplicity, efficiency and robustness. It has been widely studied, improved, and extended. While much early work was concerned with efficiency and correctness issues, lately there has been a push to improve the quality of Marching Cubes meshes so that they can be used in computational codes. In this work we present a new classification of MC cases that we call Edge Groups, which helps elucidate the issues that impact the triangle quality of the meshes that the method generates. This formulation allows a more systematic way to bound the triangle quality, and is general enough to extend to other polyhedral cell shapes used in other polygonization algorithms. Using this analysis, we also discuss ways to improve the quality of the resulting triangle mesh, including some that require only minor modifications of the original algorithm.
This is joint work with Carlos A. Dietrich, Carlos E. Scheidegger, Luciana P. Nedel and Claudio T. Silva, and was presented last week at IEEE Visualization 2008.
Slides: pdf file
11/4: Direct Volume Rendering
Lecturer: Jens Kruger
Topics: Unstructured grid techniques
Slides: unstructured_grid_rendering.pdf
References:
A Survey of GPU-Based Volume Rendering of Unstructured Grid
Hardware-Assisted Visibility Sorting for Unstructured Volume Rendering (This technique is implemented in VTK: http://www.vtk.org/doc/nightly/html/classvtkHAVSVolumeMapper.html)
ZSWEEP: An Efficient and Exact Projection Algorithm for Unstructured Volume Rendering (This technique is implemented in VTK: http://www.vtk.org/doc/nightly/html/classvtkUnstructuredGridVolumeZSweepMapper.html)
11/6: Direct Volume Rendering
Lecturer: Claudio
Topics: Unstructured grid techniques (continuation from last class)
11/11: Direct Volume Rendering
Lecturer: Claudio
Topics: Transfer function specification
Slides: transfer_functions.pdf
References:
The transfer function bake-off
Multidimensional transfer functions for interactive volume rendering
Semi-automatic generation of transfer functions for direct volume rendering
Additional Question:
The above image is the sphere data and joint histogram discussed in class. Which material boundary is highlighted by the small arc on the right-side of the histogram? The colors in the original dataset can be interpreted as:
0 = Blue
1 = Green
2 = Red
11/13: Direct Volume Rendering
Lecturer: Claudio
Topics: Transfer function specification
References:
Generation of transfer functions with stochastic search techniques
Design galleries: a general approach to setting parameters for computer graphics and animation
Transfer-Function Specification for Rendering Disparate Volumes (and corresponding video)
11/18: Intro to Geometry Processing
Lecturer: Claudio
11/20: Information Visualization
Lecturer: Steve Callahan
Topics: Intro to InfoVis, clustering, parallel coordinates, graph vis, tree vis, cartograms
Slides: InfoVis.pdf
References:
Map of the Market: Tree Map of Stock Market
Interactive Tree of Life: Radial Phylogenetic Tree
Disk Inventory X: Tree Map Disk Utility for Mac
Sequoia View: Tree Map Disk Utility for Windows
World of Music: Music Clustering
Graphviz: Graph layout project
11/25: Information Visualization
Lecturer: Steve Callahan
Topics: InfoVis examples; recent developments
References:
11/27: Thanksgiving
12/2: Aesthetic Issues in Vis
Lecturer: Claudio
Topics: Tufte principles (Part I)
Slides: Tufte.pdf
References:
- Envisioning Information, Edward R. Tufte, Academic Press, 1990
- Visual Explanations: Images and Quantities, Evidence and Narrative, Edward R. Tufte, Academic Press, 1997
12/4: Introduction to Computational Topology
Lecturer: Valerio Pascucci
12/9: Aesthetic Issues in Vis
Lecturer: Claudio
Topics: Tufte principles (Part II)
Slides: Tufte.pdf
References:
- Envisioning Information, Edward R. Tufte, Academic Press, 1990
- Visual Explanations: Images and Quantities, Evidence and Narrative, Edward R. Tufte, Academic Press, 1997
(This class ended early; but we finished on Thursday.)
12/11: Continuation from last class
We finished Tufte.
Then, we discussed the major themes that we covered in class.
Thank you all for participating!
Happy holidays!