8/21: Introduction to visualization
Topics: Scientific Visualization
Visualizing Spatial and Temporal Variability in Coastal Observatories, W. Herrera-Jimenez, W. Correa, C. Silva, and A. Baptista, IEEE Visualization 2003.
8/23: The visualization pipeline
Topics: Procedural vs. Dataflow programming; Using Dataflow for the Vis Pipeline; Dataflow programming with VTK; Dataflow programming with VisTrails; python.
VisTrails: During this class, we built a pipeline equivalent to the cone.tcl (see class slides). Here is the vistrails file: cone.vt
Provenance for Visualizations: Reproducibility and Beyond, C. Silva, J. Freire, and S. Callahan, IEEE Computing in Science and Engineering, to appear.
8/28: Modeling Data for Visualization
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
Slides: .ppt file
There is no required reading for this lecture. The notes will be available shortly. The following papers are there for people that are looking to get more advanced material that will not be covered in class.
Geodesic-loxodromes... This is the fancy interpolation for diffusion tensors I mentioned in class.
Bernstein polynomials These are the polynomials used for cubic Bezier curves that I mentioned in class.
Extensions of the Zwart-Powell Box spline... This is a recent paper that shows a class of trivariate reconstruction techniques that are not separable.
Visualization and Analysis of Diffusion Tensor Fields Gordon Kindlmann's PhD. thesis, with everything you ever wanted to know about DTI. Section 2.1 has a good primer in tensor algebra.
8/30: Modeling Data for Visualization
Topics: Geometry Processing: Reconstruction and meshing; Simplification; Smoothing; Other Filtering algorithms
Notes: .pdf file. If you want to print these, you might want to wait for a week or two, until I finish polishing them.
Slides: .ppt file These slides include simplificatin algorithms, which I'll talk about next week.
9/4: Elementary Plotting Techniques
Topics: Principles of Graph Construction
Vistrails: See next lecture.
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/6: Elementary Plotting Techniques
Topics: Simple Plotting Methods: Dot Plots, Connected Symbol Plots, Scatter Plots, Histograms, Others. Advanced Plotting Methods: Multimodal, Higher Dimensional, Correlation, Uncertainty and Variation.
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/11: Color and Human Perception
Topics: Human vision system; Optical illusions
9/13: Color and Human Perception
Topics: Color Science; Color spaces; Color Blindness; Color maps; Tone mapping
9/18 (a): Color and Human Perception
Same material as previous lecture.
9/18 (b): 2D Visualization Techniques
Topics: 2-D contours, marching quads, marching tris; Color mapping; height fields; NPR
Slides: pdf file
Notes: pdf file
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.
9/20: Math refresher
Topics: Basic linear algebra; vectors; basic differential geometry (space curves, tangents, normals, surfaces); basic vector calculus (gradient, divergence, curl, gauss' theorem, green's theorem)
9/25: 2D Visualization Techniques
Topics: 2-D vector fields, div, grad, curl in 2D; Steady vs Unsteady flows; Glyphs; 2-D streamlines, streaklines, pathlines
Slides: pdf file
Notes: coming soon
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).
9/27 (a): 2D Visualization Techniques
Same material as last lecture.
9/27 (b): Volume Vis
Topics: Slicing; Contours; Marching algorithms
10/2: Volume Vis
Topics: Accelerating structures; High-quality contours
10/4: Volume Vis
Topics: High quality isosurfaces
10/9: Fall break
10/11: Fall break
10/16: Volume Vis
Topics: continued from last class
10/18: Volume Vis
Topics: Introduction to volume rendering
vistrails: to appear
References: Optical Models for Direct Volume Rendering
10/23: Midterm 1
10/25: Vector and Tensor Visualization
Topics: Differential Geometry in 3D: Div, Grad, Curl; Revisit Unsteady vs. Steady flows; Streamribbons, surfaces, tubes, streamlines and streaklines
10/30: Vector and Tensor Visualization
Topics: LIC; hyper LIC; Topology-based techniques
11/1: Simplification Techniques
Guest lecture: Yuan Zhou
11/6: Cosmology and EEG analysis
Guest lecture: Erik Anderson
11/8: Vector and Tensor Vis
Topics: Glyphs; DTI techniques
11/13: Aesthetic Issues in Vis
Topics: Volume Illustration and NPR
11/15: Aesthetic Issues in Vis
11/20: Aesthetic Issues in Vis
11/27: Information Visualization
Topics: Parallel coordinates; Graph visualization
11/29: Information Visualization
Topics: Hierarchical data vis; brushing; sizing text