COSC 6344 Visualization

Fall 2022 (section 13304)

Basic info:

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

TA:  Nguyen K Phan (email: nkphan@uh.edu)
TA Office Hours:  Tue/Thu 11AM-12PM via MS Teams (Please check your Teams Calendar for the link)


If you are experiencing any COVID-19 symptoms that are not clearly related to a pre-existing medical condition, do not come to class. Please see Student Protocols for what to do if you experience symptoms and Potential Exposure to Coronavirus for what to do if you have potentially been exposed to COVID-19. Consult the Graduate Excused Absence Policy for information regarding excused absences due to medical reasons.


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 class emails, lectures announcement, 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/23, 25)
Course introduction, visualization introduction [slides]

Visualization pipeline [ slides], different data types and data storage [slides]
Week 2 (08/30, 09/01) Cognition and perception, what need to be considered [slides]

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 (due on September 8)) [Check the Assignments tab]
Instruction on installing Anaconda for coding with Python
Week 3 (09/06, 08) 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/13, 15)
2D scalar field visualization - color plots [slides]

2D scalar field visualization - isocontouring [slides]

  ( Assignment 2 out (due on September 22) ) [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/20, 22) 3D scalar field visualization - iso-surfacing [slides]

3D scalar field visualization - DVR - Raycasting [slides]
Final project (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"
  • "Real-Time Volume Graphics", by Klaus Engel, Markus Hadwiger, Joe Kniss, Christof Rezk-Salama, and Daniel Weiskopf [slides].

Week 6 (09/27, 29) 3D scalar field visualization - DVR - Splatting and texture-based [slides]

( Assignment 3 out (due on October 11) ) [Check the Assignments tab]

Transfer function design - principles and practices [slides]
Week 7 (10/04, 06) 2D vector field visualization - direct method and geometric-based method [slides]

2D vector field visualization - texture-based methods [slides]


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

( Assignment 4 out (due on October 27) ) [Check the Assignments tab]

2D vector field visualization - Feature-based (topological features) [slides]
  

Week 9 (10/18, 20) IEEE Visualization 2022 Conference

Self study and review on 10/18!

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


Week 10 (10/25, 27) 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 11 (11/01, 03) Mid-term exam solution explanation

Tensor field visualization - overview [slides]


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

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



Week 13 (11/15, 17) Graph visualization - Part I [slides]

Graph visualization - Part II [slides]

Week 14 (11/22, 24) Higher-dimensional data visualization -- overview [slides]

11/24 Thanksgiving Holiday! No Class!

Week 15 (11/29, 12/01) Final project presentation


Assignments

An installation guide for Anaconda, Python, VTK, and PyQt
VTK demo program (use the data set of Assignment 2 below)

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. TBD [ last year one course project led to a paper accepted by CIKM2022 -- the number 7 conference in databases and information systems!!! ]

Final Project Proposal (Due on October 9 (5%))

Please submit a final project proposal to the Blackboard. Your proposal should include the following information
  • Title -- what problem (or option) you are going to work on
  • Team members -- who will be on your team and their respective roles (who do what?)
  • A tentative strategy to address the problem -- this can be some techniques you learned from the class or reported in some papers. Please do provide a list of references
  • A tentative timeline -- what are the individual milestones of your project

Final Project Presentation on ( November 29 and December 1 (30%) Peer-grading)

Your presention should include the following components

Final Report ( Due on December 8 (65%))

Your final report should be written in the IEEE TVCG style (at least 4 pages double-column including figures and illustrations). You can find the template (in words or Latex) of this format in the following link.
https://www.computer.org/web/tvcg/author
Your report should include the following components. A report not including ALL the following components and/or not following the suggested IEEE double-column format will result in the loss of points . 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 8!


        The following is a tentative list of possible final project topics and is subject to change. Please check back regularly to see the updated list.

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

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]