COSC 6344 Visualization

Fall 2021 (section 14573)

Colors in visualization
Elementary plots
Scalar field visualization
Vector field visualization
Tensor field visualization
Information data visualization


Basic info:

TIME:                            Tu/Th 1~2:30PM                    
LOCATION:                 Science Building S 114                                              
INSTRUCTOR:           Guoning Chen                  
OFFICE HOURS:       Tu/Th 2:30pm-3:30pm taking place virtually via MS Teams (Please check your Teams Calendar for the link)
EMAIL:                         gchen22@central.uh.edu or gchen16@uh.edu               
OFFICE PHONE:       713-743-5788                  

TA:  Nguyen Phan (email: nkphan@uh.edu;   TA Office hours: Mo/Wed 2:30pm-3:30pm taking place virtually via MS Teams)

Note that the tentative format of the course for the first four weeks (August 23 - September 24) will be hybrid, that is,  face-to-face lecture on every Tuesday at S 114 during the scheduled meeting time for the course AND remote teaching via Teams on Thursday. The face-to-face lecturing will be broadcast via Teams for those who cannot join physically. Further changes will be announced depending on the update of the COVID-19 situations.



Syllabus (pdf)

Syllabus Changes:
Due to the changing nature of the COVID-19 pandemic, please note that the instructor may need to make modifications to the course syllabus and may do so at any time. Notice of such changes will be announced as quickly as possible through UH email, course webpage, and course team on MS Teams.

    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%.

Policy on grades of I (Incomplete): The grade of "I" (Incomplete) is a conditional and temporary grade given when a student, for reasons beyond his or her control, has not completed a relatively small portion of all requirements.  Sufficiently serious, documented situations include illness, death in the family, etc. The student who applies for a grade of “I” will need to complete the remaining components of the course before the deadline agreed by both the student and the instructor (usually within one year after the completion of the course). Fail to do so will result in a grade of “F” (Fail) for the course.

          Honor Code
Students may be asked to sign an honor code statement as part of their submission of any graded work including but not limited to projects, quizzes, and exams: “I understand and agree to abide by the provisions in the University of Houston Graduate Academic Honesty Policy. I understand that academic honesty is taken very seriously, and, in the cases of violations, penalties may include suspension or expulsion from the University of Houston."
NOTE:   The materials provided by the instructor in this course are for the use of the students enrolled in the course only. Copyrighted course materials may not be further disseminated without instructor permission.  This includes sharing content to commercial course material suppliers such as Course Hero or Chegg. Students are also prohibited from sharing materials derived from the instructor’s content (e.g., a student’s lecture notes).




Lecture Slides


Timeline
Lectures
Additional Reading Materials and Resources
Week 1 (08/24, 26)
Course introduction, visualization introduction [slides]

Visualization pipeline [slides], different data types and data storage [slides]
Week 2 (08/31, 09/02) 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) [Check the Assignments tab]
Instruction on installing Anaconda for coding with Python
Week 3 (09/07, 09) 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.)
VTK resources:
Week 4 (09/14, 16) (Due to hurricane Nicholas, the lecture on Tuesday 09/14 was canceled)

2D scalar field visualization - color plots [slides]

  (Assignment 2 out) [Check the Assignments tab]
  • Chapter 1 of the "Visualization Handbook"
  • Chapter 6 of "Data Visualization: Principles and Practice" by Alexandru C. Telea, 2nd Ed.
Week 5 (09/21, 23) 2D scalar field visualization - iso-contours [slides]
3D scalar field visualization - iso-surfacing[slides]

Final project introduction (make your choice earlier) [see the assignment tab]
  • Chapter 6.3 of the "Introduction to Scientific Visualization"
  • Chapters 7, 8, and 9 of the "Visualization Handbook"
Week 6 (09/28, 30) 3D scalar field visualization - DVR - Raycasting [slides]

(Assignment 3 out) [Check the Assignments tab]

DVR - Splatting and texture-based [slides]
Transfer functions - principles and practices [slides]
Week 7 (10/05, 07) 2D vector field visualization - direct method and geometric-based method [slides]

2D vector field visualization - texture-based methods [slides]
 
  (Assignment 4 out) [Check the Assignments tab]

Final project proposal due (10/11)
Week 8 (10/12, 14) 2D vector field visualization - Feature-based (phyiscal features) [slides]

2D vector field visualization - Feature-based (topological features) [slides]
  
Week 9 (10/19, 21) 3D vector field visualization - challenges and common techniques [slides]

Unsteady vector field visualization - theory and practice [slides]

(Assignment 5 out) [Check the Assignments tab]
Week 10 (10/26, 28) IEEE Visualization 2021 Conference (Attendance for active students is FREE !!)

Self study and review on 10/26!

Mid-term exam (in person) on 10/28 (open book, open notes, bring your laptop!)

Week 11 (11/02, 04) Mid-term exam solution explanation

Tensor field visualization - overview [slides]

Week 12 (11/09, 11) Tensor field visualization - glyphs [slides]

Tensor field visualization - geometric based, texture based [slides]


Week 13 (11/16, 18) Graph visualization - Part I [slides]

Graph visualization - Part II [slides]
Week 14 (11/23, 25) Higher-dimensional data visualization -- overview [slides]

Thanksgiving Holiday!
Week 15 (11/30, 12/02) Final project presentation


Assignments

Assignment 1: Effective plots and graphs [description] [data[Due on 09/09/2021]
Assignment 2: 2D scalar field visualization [description] [data] [ vtk python skeleton code [Due on 09/23/2021]
    [vtk_demo, use the data files for assignment 2] [ vtk python skeleton code WITH QT GUI , a short tutorial ]
Assignment 3: 3D scalar field visualization [description] [data] [vtk_python_skeleton_code] [sample rendering configuration file] [Due on 10/08/2021]
Assignment 4: 2D vector field visualization [description] [data] [vtk_python_skeleton_code] [Due on 10/22/2021]
Assignment 5: 3D vector field visualization [description] [data] [Use the modified skeleton code for Assignment 4. See details in the description] [arrow3d-Ex.py] [Due on 11/10/2021]

Final Projects

        If you already have a research topic with a faculty of the department and there is a clearly defined visualization problem in your research, please talk to me to see whether it will make a qualified final project for the course. Otherwise, please choose from the following options.

       Each final project can be carried out by up to three persons. The more members in a project, the more challenging and the larger the project should be. Please talk to me to see whether your choice is suitable for a group project.

The structure of the presentation  (6 mins + 2 mins Q&A, a stopwatch will be used!!!): The final project presentation will take place on Nov. 30 and Dec. 2 in the class. Your presentation should contain:

- 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 5!

For the final report, please write it in the IEEE TVCG style (5-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:

  • Abstract
  • Introduction
  • Related Work
  • Methodology and Implementation
  • Results and Discussions
  • Conclusion and Future Work
  • List of references



       The following is a list of real-world data science problems that I strongly encourage you to consider as your final project options if you do not have a problem from your reserach. Students who choose from the following options will receive a bonus of 5% for their final projects. [The list will be regularly updated with new problems suggested by the faculty]. Also, each problem should not be worked by more than two teams (first-come-first-serve).
Goal:  to identify the abnormal traffic light patterns in the collected data to reveal the potential hacking of the traffic light system. See the following paper for a reference.
-
Glenn Turner, Guoning Chen, Yunpeng Zhang, " A Visual Analytics Approach for Anomaly Detection from a Novel Traffic Light Data ," IS&T Electronic Imaging, Visualization and Data Analysis (VDA) 2021, virtual event, January, 2021. [Data can be found in this link]

Goal: build initial diagram from Python/R source code, minimizing lines cutting/intersecting each other, arranging boxes, redrawing diagram when new boxes are added. How to handle too many boxes in the diagram? 
See the following abstract for a reference. Please also contact Dr. Carlos Ordonez (carlos@central.uh.edu) for more details about this problem.
- Carlos Ordonez, Sikder Tahsin Al-Amin, Ladjel Bellatreche. An ER-Flow Diagram for Big Data, IEEE Big Data Conference (BigData, posters) 2020: [PDF] [PPT]

Goal: show a plot of some ML model (linear regression, classification) as the data set is being summarized. Show percentage (%) of data summarized so far (like a % progress bar) and recompute the plot every increment, (like 1%, 5%, 10%)..if visualization is stable user can stop the program (e.g., with 60% of the data set).
A simple 2D model is reported in the following paper. Please also contact Dr. Carlos Ordonez (carlos@central.uh.edu) for more details about this problem.
- Sikder Tahsin Al-Amin, Carlos Ordonez. Scalable Machine Learning on Popular Analytic Languages with Parallel Data Summarization, DAWAK Conference 2020: [PDF]

Goal: improve the current cube visualization in the paper below. Cube is a multidimensional data structure, coming from a lattice, to compute exploratory queries on a large SQL table. Please also contact Dr. Carlos Ordonez (carlos@central.uh.edu) for more details about this problem.
Carlos Ordonez, Zhibo Chen, Alfredo Cuzzocrea, Javier Garcia-Garcia. An Intelligent Visual Big Data Analytics Framework for Supporting Interactive Exploration and Visualization of Big OLAP Cubes, IEEE IV Conference (Information Visualization) 2020: [PDF]

There are two problems under this topic. First, an effective and intuitive visualization of time-dependent contours in a space time domain (with Z axis corresponds to time) is sought to depict the change of certain interesting patterns over time. Second, an effective visualization of multiple (and overlapping) contours extracted using different scalar properties is sought to reveal the (corr-)relation among those properties in different spatial locations.  A detailed description of these two problems can be found from this document. Please also contact Md Mahin (mdmahin3@gmail.com) and Dr. Christoph Eick (CEick@central.uh.edu ) for more information about these problems.


      The following is a list of advanced visualization techniques that you can re-implement as your final projects.

- 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

- 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

- 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 .

- 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 ,