Instructor: Guoning Chen
Email: gchen22@central.uh.edu or gchen16@uh.edu
Lecture
time: Tu/Th 1~2:30PM
Online Synchronous Lectures via MS Teams (check your Teams calendar for the link)
Office hours: Tu/Th 2:30pm-3:30pm will take place on MS Teams (check your Teams calendar for the link)
Course Delivery Format and Exam:
This course is being offered in the Synchronous Online format.
Synchronous online class meetings will take place according to the
class schedule. There is no face-to-face component to this course. In
between synchronous class meetings, there may also be asynchronous
activities to complete (e.g., discussion forums and assignments). This
course will have a mid-term exam. The exam will be delivered in the
synchronous online format, and the specified date and time will be
announced during the course. Prior to the exam, descriptive
information, such as the number and types of exam questions, resources
and collaborations that are allowed and disallowed in the process of
completing the exam, and procedures to follow if connectivity or other
resource obstacles are encountered during the exam period, may be
provided.
Camera-on
Policy: You are required to turn on your camera during lectures
and exam. Use background effect to protect your privacy!
Visualization
has been established as a powerful means to help domain experts from
various
disciplines or general audience to MAKE SENSE and PRESENT their data,
for
decision making. Techniques and knowledge from different sub-fields of
computer
science (including computer graphics, image processing, data structures
and
algorithms, high performance computing, machine learning, and
human-computer
interaction), mathematics, cognitive and perception science, and
specific
application domains are often adapted for various visualization
problems. This
introductory course covers topics from a number of sub-fields of
visualization
and aims to show students how data visualization can help find
solutions to a
wide range of practical data interpretation problems arising in many
areas.
Through this course, students are expected to (1) get familiar with
important concepts, principles, and techniques/methods for the
visualization of
different types of data, and (2) foster the ability to select the
proper
visualization techniques when given a practical data visualization
problem.
This course serves as one of the core introductory level graduate
courses, and
it helps build a complete course catalog in the direction of visual
computing
with courses like image processing, computer graphics, and computer
vision.
You
are expected to have basics knowledge on linear algebra, linear
systems,
calculus, geometry, numerical analysis, and programming
languages. Homework assignments and course projects will require
knowledge and experience of C++ and/or Python. Visualization Toolkit
(VTK) will be used with either C++ or Python to complete the
programming assignments. You need
to have solid grasp of data structure and algorithm design. Minimal
familiarity
with computer graphics principles and techniques is assumed. Having
taken COSC
6372: Computer Graphics is ideal but not required.
Visualization techniques are highly application dependent and highly
diversified! There is currently no a good texxtbook that can summarize
all
available techniques. However, the following textbooks provide a good
introduction to some well-established techniques for a number of
fundamental
visualization problems.
A student needs
to score on average at least 60% in
total to
pass the class.
Grading scale (tentative): A:
>92%;
A-: >88%; B+: >84%; B: >80%; B-: >74%; C+: >68%; C: >
60%.
Timeline |
Lectures |
Additional
Reading Materials and Resources |
Week 1 (08/25, 27) |
Course
introduction, visualization introduction [slides] Visualization pipeline [slides], different data types and data storage [slides] (08/27 lectures were pre-recorded which can be found on Teams) |
|
Week 2 (09/01, 03) | Cognition and
perception, what need to be considered [slides] (Please watch the recording about Gestalt principles on Teams) Elementary plots-principles and practices [slides] (Please watch the recordings for the introduction on some simple plots and a short tutorial for plotting using Python+matplotlib/seaborn on Teams) (Assignment 1 out) |
|
Week 3 (09/08, 10) | Colors in
visualization [slides] VTK introduction [slides] (A simple vtk demo program can be found here. You can run it in Spyder or via command line in the powershell of your conda. You can use the data sets for Assignment 2 for this demo.) |
|
Week 4 (09/15, 17) | 2D scalar field
visualization - color plots [slides] 2D scalar field visualization - iso-contours [slides] (Assignment 2 out) Final project introduction (make your choice earlier) [see assignment tab] |
|
Week 5 (09/22, 24) | 3D scalar field
visualization - iso-surfacing [slides] 3D scalar field visualization - DVR - Raycasting [slides] (Assignment 3 out) |
|
Week 6 (09/29, 01) | 3D scalar field
visualization - DVR - Splatting and texture-based [slides] Transfer functions - principles and practices [slides] Final project proposal due (10/01) |
|
Week 7 (10/06, 08) | 2D vector field
visualization - direct method and geometric-based method [slides] 2D vector field visualization - texture-based methods [slides] (Assignment 4 out) |
|
Week 8 (10/13, 15) | 2D vector field
visualization - Feature-based (phyiscal features) [slides] 2D vector field visualization - Feature-based (topological features) [slides] |
|
Week 9 (10/20, 22) |
3D vector field visualization - integral surfaces, texture-based
[slides] Unsteady vector field visualization - theory and practice [slides] (Assignment 5 out) |
|
Week 10 (10/27, 29) | Mid-term exam; IEEE VIS
2020 (FREE for attendees!!! Attend one session of the talks to earn extra credits!) |
|
Week 11 (11/03, 05) | Mid-term exam review Tensor field visualization - overview [slides] |
|
Week 12 (11/10, 12) |
Tensor field
visualization - glyphs [slides] Tensor field visualization - geometric-based, texture-based methods [slides] |
|
Week 13 (11/17, 19) | Graph
visualization I [slides] Graph visualization II and tree visualization [slides] |
|
Week 14 (11/24, 26) | High-dimensional
data visualization - introduction [slides] Thanksgiving holiday on Nov. 26 (no class) |
|
Week 15 (12/01, 03) | Final project presentation (Sign up
here) |
- Problem definition (especially what is the visualization problem you are addressing)
- Describe your technique (mostly on algorithm and visualization/interface design)
- Results and/or demo (Show your current results. Provide necessary interpretation of your visualization. How do you know you have resolved the problem?)
- Future Work (If your results are half-cooked, what else do you still need to do to make it complete before the deadline? If the results are ready/finalized, what do think you can improve further in the future)
Requirements
of final project submission
You will need to submit your source code, your final project presentation (.pptx or .pdf), and your report (see below) in a single .zip file via the blackboard system by December 6!
For the final report, please write it in the IEEE TVCG style (4-8 pages including figures and illustrations). You can find the template of this format in the following link (you can find the downloadable templates, words or Latex, on the webpage):
https://www.computer.org/web/tvcg/author
The final report should include the following components:
Final project topics
The final project is an individual project. No group project is allowed. Please select from ONLY the following provided topics!-
Cong Feng, Minglun Gong,
Oliver Deussen, and Hui Huang,
Treemapping
via Balanced Partitioning
-
J. F. Kruiger, P. E. Rauber, R. M. Martins, A. Kerren, S. Kobourov, A.
C.
Telea, Graph
Layouts
by t-SNE
- Yunhai Wang, Yanyan Wang, Yingqi Sun, Lifeng Zhu, Kecheng Lu, Chi-Wing Fu, Michael Sedlmair, Oliver Deussen, Baoquan Chen, Revisiting stress majorization as a unified framework for interactive constrained graph visualization
- Danny Holten, Jarke J
Van Wijk, Force-directed
edge bundling for graph visualization
-
Sebastian Eichelbaum,
Mario Hlawitschka, and Gerik Scheuermann, LineAO—Improved
Three-Dimensional Line Rendering
-
Tobias Günther, Christian
Rössl, Holger Theisel,
Opacity
optimization for 3D line fields
-
Frida Hernell, Patric
Ljung, and Anders Ynnerman.
Local
Ambient Occlusion in Direct Volume Rendering,
-
Daniel Jönsson, Erik
Sundén, Anders Ynnerman, and Timo Ropinski. A
Survey of Volumetric Illumination Techniques for Interactive Volume
Rendering
-
Guoning Chen, Konstantin
Mischaikow, Robert S. Laramee, Pawel Pilarczyk, and Eugene Zhang.
Vector
Field Editing and Periodic Orbit Extraction Using Morse Decomposition
-
Matt Edmunds, Robert S.
Laramee, R. Malki, I.Masters, T.N. Croft, Guoning Chen, and Eugene Zhang. Automatic
Stream Surface Seeding: A Feature Centered Approach
-
Mathias Hummel, Christoph
Garth, Bernd Hamann, Hans Hagen, and Kenneth I. Joy. Iris:
Illustrative rendering for integral surfaces
-
Tobias Günther, Maik
Schulze, Janick Martinez Esturo, Christian Rössl, Holger Theisel. Opacity
Optimization for Surface
- Jin Huang,
Zherong Pan, Guoning Chen, Wei Chen, and Hujun Bao. Image-Space
Texture-Based Output-Coherent Surface Flow Visualization
- JJ van Wijk,
Image based flow
visualization for curved surfaces
-
Xiaoqiang Zheng and Alex
Pang. HyperLIC,
-
Eugene Zhang, James Hays,
and Greg Turk. Interactive
Tensor Field Design and Visualization on Surfaces
-
Gordon Kindlmann and
Carl-Fredrik Westin. Diffusion
tensor visualization with glyph packing
- Xifeng Gao,
Wenzel Jakob, Marco Tarini, Daniele Panozzo. Robust
Hex-Dominant Mesh Generation using Field-Guided Polyhedral Agglomeration.
-
Samer Barakat, Christoph
Garth, and Xavier Tricoche. Interactive
computation and rendering of finite-time Lyapunov exponent fields
-
Kai Buerger, Florian
Ferstl, Holger Theisel, and Rüdiger Westermann. Interactive
streak surface visualization on the GPU
-
Potter, Kristin, Andrew
Wilson, Peer-Timo Bremer, Dean Williams, Charles Doutriaux, Valerio
Pascucci,
and Chris R. Johnson. Ensemble-vis:
A framework for the statistical visualization of ensemble data
-
Marc G Genton, Christopher
Johnson, Kristin Potter, Georgiy Stenchikov, Ying Sun. Surface
Boxplots.
- Mahsa
Mirzargar, Ross T. Whitaker, and Robert M. Kirby. Curve
boxplot:
Generalization of boxplot for ensembles of curves.
-
Usher, Will, Pavol
Klacansky, Frederick Federer, Peer-Timo Bremer, Aaron Knoll, Jeff
Yarch,
Alessandra Angelucci, and Valerio Pascucci. A
virtual reality visualization tool for neuron tracing
-
Cordeil, Maxime, Andrew
Cunningham, Benjamin Bach, Christophe Hurter, Bruce H. Thomas, Kim
Marriott,
and Tim Dwyer. IATK:
An Immersive Analytics Toolkit, , source code
Visualize ocean
currents in
Red Sea
Visualize the aftermath
of
volcanic eruptions
Visualize ensemble particle
data
Visualize clouds and atmospheric
processes
Visualization and analysis of
deep water
asteroid impacts
Complete list of IEEE
SciVis
contest