COSC 6344 Visualization (Fall 2017)



Instructor: Guoning Chen
Office: PGH 566
Email: chengu at cs . uh . edu
Lecture time: Tue/Thur 10~11:30AM
Location: T 116 (notice the change of the room!!)

Office Hours: Tu/Th 11:30am-12:30pm or by appointment (PLEASE send me an email to schedule additional appointments BEFORE coming!!!)

TA: Marzieh Berenjkoub (Office hours: Th 3-4pm, location: PGH 314)



Syllabus (pdf version)

Human has amazing capability of perceiving and understanding information represented by some visual forms (e.g., identifying unique patterns/trends from plots). This motivates the introduction of the research direction in data visualization. In short, visualization investigates paradigm and techniques (as well as system) to help users get insights from various data. It is an active and popular direction in data science research.

Since its introduction, visualization has been established as a powerful means to help data owners from various disciplines to make sense and present their data, in order for decision making. Techniques from computer science, mathematics, cognitive and perception science, and physics 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, the students are expected to 1) get familiar with a number of important concepts and techniques/methods for the visualization of different basic 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. Together with the existing courses on imaging and computer graphics, it helps build a complete course catalog in the visual computing direction.

You are expected to have basics knowledge on linear algebra, linear systems, calculus, geometry, and numerical analysis. Homework assignments and course projects will require knowledge of C/C++ and OpenGL library. Minimal familiarity with computer graphics principles and techniques is assumed. Having taken COSC6372: Computer Graphics is ideal but not required.

Project assignments – 50%;

Mid-term exam – 20%;

Final project – 25%;

In-class participation (including discussion and presentation of papers and projects) 5%

A student needs to score on average at least 60% in total to pass the class.

Late assignments will be marked off 20% for each weekday that it is late. Each student can ask for the extension of one assignment up to 5 weekdays.

Please do your own work. The default consequence for academic dishonesty is a failure for the course. It is okay to discuss with other students general ideas about implementing a program. It is NOT okay to copy another student's program. It is okay to discuss possible program bugs. It is NOT okay to debug another student's program.


Counseling and Psychological Services (CAPS) can help students who are having difficulties managing stress, adjusting to the demands of a professional program, or feeling sad and hopeless. You can reach CAPS (www.uh.edu/caps) by calling 713-743-5454 during and after business hours for routine appointments or if you or someone you know is in crisis. No appointment is necessary for the “Let's Talk” program, a drop-in consultation service at convenient locations and hours around campus. http://www.uh.edu/caps/outreach/lets_talk.html


Tentative Schedule

TIMELINE
MATERIAL COVERED
WEEK 1 (08/22, 24) Class Preliminaries
Introduction – History of visualization, Visualization pipeline, OpenGL tutorial, Skeleton code;
WEEK 2 (08/29, 08/31)
WEEK 3 (09/05, 07) Data types and representations, PLY format; Elementary plots (Assignment 1 out);
WEEK 4 (09/12, 14) Colors in visualization; Color coding and iso-contouring for 2D scalar field visualization (Assignment 2 out)
WEEK 5 (09/19, 21) Iso-contouring; Iso-surfacing and cutting planes; Direct volume rendering (Assignment 3 out)
WEEK 6 (09/26, 09/28) Direct volume rendering – Ray casting and Splatting, texture-based
WEEK 7 (10/03, 05) Transfer function design; (Assignment 4 out) IEEE Visualization 2017
WEEK 8 (10/10, 12) Vector field visualization--Introduction; Flow visualization techniques in 2D (arrow and color plots and streamlines); Flow visualization techniques in 2D - texture-based (Assignment 5 out) ;
WEEK 9 (10/17, 19) Feature-based (non-topology) vector field visualization; Topology-based vector field visualization;
WEEK 10 (10/24, 26) 3D flow visualization; Unsteady flow visualization(Assignment 6 Optional); Final project topic review; (FINAL PROJECT PROPOSAL DUE) ; Mid-term exam (10/26)
WEEK 11 (10/31, 02) Tensor data application – introduction and math; Direct methods (Glyphs);
WEEK 12 (11/07, 09) Geometric-based and texture-based tensor visualization; Tensor topology
WEEK 13 (11/14, 16) Information visualization – graph and hierarchy data visualization
WEEK 14 (11/21) Information visualization – high dimensional data visualization; Multi-field data visualization (Thanksgiving)
WEEK 15 (11/28, 11/30) Final project presentations (see the requirement below)
WEEK 16 (12/06) Final report due on TBA via blackboard system



Lectures and Reading Materials

1. Introduction, visualization pipeline, data types

What is visualization? What does it do? Why is it important? We will have answers for these questions in this week. Also, it is important to tell the difference of scientific data and information data. Can you? Next, we will learn the basic pipeline of visualization (based on my personal opinion and experience). Can you identify the most important step from this pipeline? What are the general types of data and how do people characterize them? What are their representations? Do you know how to parse a given data file?

Lec1_slides

Lec2_slides

Additional materials:

2. OpenGL tutorial

For most of your project assignments, you will need to work on OpenGL library using C/C++. This lecture provides you a short tutorial of OpenGL. Do not expect to fully master it in one or two lectures. You should expect some learning curve. The best way to get yourself familar with this library is to try and fail. There are many examples out there on the Internet. Try to play with them by changing things here and there. In addition, I provide the skeleton code for all the project assignments. Please start playing with it now (not later)!!!

(OpenGL_tutorial)_slides (pdf, pptx)

Additional materials:

Many other resources can be found on the Internet, just Google "OpenGL"

3. Plots

Everyone is using plots to some extent in their tasks (e.g., writing papers and reports, making presentations) now and then. How well do your plots convey the information that they are suppose to? In this lecture, we will learn a number of important principles on what you should or should not do when making some basic (or elementary) plots.

Lec4_slides

Additional materials:

4. Colors in visualization

How important colors are in visualization? We will try to answer this question in this week and learn some basic rules for using colors in the visualization. In addition, while colors are essential, they are typically one attributes of other geometry primitives that the rendering are concerned with. What are these geometry primitives, how should we use them for various visualization tasks? We will learn these in this lecture.

Lec5_slides

Additional materials:

5. Scalar field visualization I - color plots and iso-contouring/iso-surfacing

Scalar fields widely exist in many applications. Its visualization thus plays an important role in these various areas. We have briefly shown how to use color to convey the scalar values in Lecture 3. Another important visualization technique for scalar fields is to visualize the points with the same specific scalar value as one or more geometry. In 2D, this geometry can be represented as a set of curves, while in 3D they are some surfaces. The specific value is typically selected by the user during the data exploration and visualization interaction.

Lec6_slides (color plots and iso-contouring)

Lec6_part2 (iso-surfacing)

Additional materials:

6. Scalar field visualization II - direct volume rendering (DVR)

Visualizing 3D volumetric scalar fields as a whole without losing information is sometime necessary. The technique to do so is a natural extension of the color plots for 2D fields. This technique does not require to create intermediate geometric elements. We, thus, call it "direct volume rendering". There are a number of computational strategies for DVR, including image-order (e.g. raycasting), object-order (e.g. splatting), and domain-dependent (e.g. shear-warp). For all these methods, the two most important steps are the specification of transfer functions and the composition of colors and opacity.

Lec7_slides (ray casting)

Lec8_slides (splatting and texture-based)

Additional materials:

7. Scalar field visualization III - transfer function

Designing the proper transfer functions for various data visualization problems is an essential practice. As we have briefly touched the usage of proper transfer functions in getting meaningful volume rendering result, in this lecture we provide a little bit more insights into the definitions of the transfer functions given a volumetric scalar data set.

Lec9_slides

Additional materials are provided within the individual slides!

8. 2D Vector field (or flow) visualization

Vector fields are a common form of data that are generated from various sources. They are widely used to study the behaviors of gas and liquids under different circumstances, which is dominated by certain aero- and hydro- dynamical systems. Visualizing and analyzing vector fields is important to the understanding of these different dynamical systems. In this part of the lecture, we will learn the basic concepts of vector fields and some simple but effective visualization techniques including the direct method and the geometric-based (or integral curves) method.

Lec10_slides (introduction and streamlines)

Additional reading:

9. Texture-based flow visualization

Texture-based method is currently a very popular technique for the visualization of 2D and 2.5D (surface) flows with the advantages of full space coverage and hardware acceleration. LIC (line integral convolution) is considered the first successful texture-based method. Many variations have been proposed since then. Most of them adopt the LIC with different implementation improvement. IBFV (image-based flow visualization) is another popular technique that utilizes the hardware ability. We will mostly focus on these two techniques and their variations in this lecture.

Lec11_slides

Additional reading:


Assignments (with sample skeleton code and data)

Skeleton code (VS12 , VS13) (a previous version for Mac can be found here, but need not work now)

Assignment 1 (plots) (data files)

Assignment 2 (color plots) (data_files)

Assignment 3 (iso-contouring)

Assignment 4 (3D scalar field visualization)

Assignment 5 (LIC texture-based 2D flow visualization)


Final project tentative topics:

The final project is a group project. Each group can have at most three group members. Note that for the project options 2-9, there could have at most two (2) groups working on the same topic!!!

1. Do you have any interesting visualization problem(s) at hand from your research or a real-world problem? If you do, please come talk to me and see whether it can be used for the final project.If you don't, that is fine, you can choose from the following candidate topics.

2. GPU-based real-time volume rendering

J. Kruger and R. Westermann, Acceleration Techniques for GPU-based Volume Rendering. IEEE Visualization 2003.

P. Schlegel, M. Makhinya and R. Pajarola. Extinction-Based Shading and Illumination in GPU Volume Ray-Casting. IEEE TVCG Vol. 17(12): pp. 1795 - 1802, 2011.

Daniel Jonsson, Erik Sunden, Anders Ynnerman, and Timo Ropinski. Interactive Volume Rendering with Volumetric Illumination. Eurographics STAR program - 2012.

3. Advanced texture-based flow visualization

IBFVS: Jarke J. van Wijk, Image Based Flow Visualization for Curved Surfaces, IEEE Visualization 2003. [demo program].

ISA: Robert S. Laramee, Bruno Jobard, and Helwig Hauser, Image Space Based Visualization of Unsteady Flow On Surfaces. in Proceedings of IEEE Visualization (IEEE Vis 2003), pages 131-138, October 19-24, 2003, Seattle, Washington.

Output sensitive LIC: Jin Huang, Zherong Pan, Guoning Chen, Wei Chen, and Hujun Bao. Image-Space Texture-Based Output-Coherent Surface Flow Visualization, IEEE Transactions on Visualization and Computer Graphics, Vol. 19 (9): pp. 1476-1487, 2013.

3D texture-based flow visualization (see below)

Enhanced texture-based visualization: Victor Matvienko, Jens Kruger, Explicit Frequency Control for High-Quality Texture-Based Flow Visualization, IEEE Visualization Conference Paper 2015.

Variations of LIC on surfaceProfessor Zhanping Liu's webpage on flow visualization is a good place to check.

4. Vector field topology

Entity Connection Graph (ECG)

Guoning Chen, Konstantin Mischaikow, Robert S. Laramee, Pawel Pilarczyk, and Eugene Zhang. "Vector Field Editing and Periodic Orbit Extraction Using Morse Decomposition". IEEE Transactions on Visualization and Computer Graphics, Vol. 13, No. 4, 2007, pp. 769-785.

Morse Connection Graph (MCG)

Guoning Chen, Konstantin Mischaikow, Robert S. Laramee, and Eugene Zhang. "Efficient Morse Decompositions of Vector Fields". IEEE Transactions on Visualization and Computer Graphics, Vol. 14, No. 4, 2008, pp. 848-862.Andrzej Szymczak and Eugene Zhang. Robust Morse Decompositions of Piecewise Constant Vector Fields, IEEE Transactions on Visualization and Computer Graphics, 18(6), 938-951, 2012.

3D vector field topology

H. Theisel, T. Weinkauf, H.-C. Hege, H.-P. Seidel. Saddle connectors-an approach to visualizing the topological skeleton of complex 3D vector fields. IEEE Visualization 2003, pp. 225-232.Other 3D field analysis technique T Weinkauf, H Theisel. Curvature measures of 3D vector fields and their applications. Journal of WSCG 10 (2), 507-514, 2002.

5. Time-varying vector field analysis

Feature tracking

T. Weinkauf, H. Theisel, A. Van Gelder, and A. Pang. Stable Feature Flow Fields. IEEE Transactions on Visualization and Computer Graphics 17(6), June 2011 .

T. Schafhitzel, K. Baysal, M. Vaaraniemi, U. Rist, D. Weiskopf. Visualizing the Evolution and Interaction of Vortices and Shear Layers in Time-Dependent 3D Flow, IEEE Transactions on Visualization and Computer Graphics, Vol. 17, No. 4, 412-425, 2011.

X. Tricoche, T. Wischgoll, G. Scheuermann, and H. Hagen. Topology Tracking for the Visualization of Time-Dependent Two-Dimensional Flows. Computer & Graphics 26, 2002, pp. 249-257.

C. Garth, X. Tricoche, and G. Scheuermann. Tracking of Vector Field Singularities in Unstructured 3D Time-Dependent Data Sets. Proc. IEEE Visualization '04, 2004, pp. 329-336.

FTLE for unsteady flow

Christoph Garth, Florian Gerhardt, Xavier Tricoche, Hans Hagen, "Efficient Computation and Visualization of Coherent Structures in Fluid Flow Applications", in "IEEE Transactions on Visualization and Computer Graphics (Proceedings IEEE Visualization 2007)", Volume 13, Number 6, pp 1464--1471, 2007.

F. Sadlo and D. Weiskopf. Time-Dependent 2-D Vector Field Topology: An Approach Inspired by Lagrangian Coherent Structures. Computer Graphics Forum, Vol. 29, No. 1, 88-100, 2010.

Markus Uffinger, Filip Sadlo, Member, IEEE, and Thomas Ertl. A Time-Dependent Vector Field Topology Based on Streak Surfaces. IEEE TVCG (accepted, prePrint).

6. 3D (time-varying) vector field visualization

Geometric-based method

Christoph Garth, Hari Krishnan, Xavier Tricoche, T. Bobach, Ken Joy, "Generation of Accurate Integral Surfaces in Time-Dependent Vector Fields", in "Proceedings of IEEE Visualization '08", 2008.

Hari Krishnan, Christoph Garth, Ken Joy, "Time and Streak Surfaces for Flow Visualization in Large Time-Varying Data Sets", in "Proceedings of IEEE Visualization '09", pp 1267--1274, 2009.

Matthew Edumunds, Tony McLoughlin, Robert S. Laramee, Guoning Chen, Eugene Zhang, and Nelson Max, Advanced, Automatic Stream Surface Seeding and Filtering, in Theory and Practice of Computer Graphics (TPCG) 2012, pages 53-60, 13-14 September 2012, Didcot, Oxfordshire, UK.

Texture-based method

Victoria Interrante and Chester Grosch, "Strategies for Effectively Visualizing 3D Flow with Volume LIC," Proceedings of IEEE Visualization 97. Oct 19-24, Phoenix, Arizona, pp. 421-424, 1997.

C. Rezk-Salama, P. Hastreiter, C. Teitzel, and T. Ertl, "Interactive Exploration of Volume Line Integral Convolution Based on 3D-Texture Mapping," Proceedings of IEEE Visualization 99, Oct 24-29, San Francisco, California, pp. 233-240, 1999.

Zhanping Liu and Robert J. Moorhead II, "A Texture-Based Hardware-Independent Technique for Time-Varying Volume Flow Visualization," Journal of Visualization, Vol. 8, No. 3, pp. 235~244, 2005.

7. Tensor field visualization

Geometric-based visualization: G. Reina, K. Bidmon, F. Enders, P. Hastreiter, and T. Ertl. GPU-Based Hyperstreamlines for Diffusion Tensor Imaging. EuroVis 2006.

Glyph-based visualization: Gordon Kindlmann and Carl-Fredrik Westin. Diffusion tensor visualization with glyph packing, IEEE Visualization 2006.

Guoning Chen, Darrel Palke, Zhongzang Lin, Harry Yeh, Paul Vincent, Robert S. Laramee and Eugene Zhang. "Asymmetric Tensor Field Visualization for Surfaces", IEEE TVCG (Proceeding of IEEE Visualization 2011), Vol.17, No. 12, pp 1979-1988, 2011.

Xiaoqiang Zheng, Alex Pang. 2D asymmetric tensor field analysis, IEEE Visualization 2005.

8. Illustrative visualization

Xuexiang Xie, Ying He, Feng Tian, Hock-Soon Seah, Xianfeng Gu, and Hong Qin. An Effective Illustrative Visualization Framework Based on Photic Extremum Lines (PELs). IEEE Visualization 2007.

Cheng-Kai Chen, Shi Yan, Nelson Max, and Kwan-Liu Ma. An Illustrative Visualization Framework for 3D Vector Fields. Computer Graphics Forum, vol. 30, no. 6, pp. 1941–1951, September 2011.

A. Brambilla, R. Carnecky, R. Peikert, I. Viola and H. Hauser, Illustrative Flow Visualization: State of the Art, Trends and Challenges, Eurographics STAR Reports, pp. 75-94, 2012.

IEEE Visualization Tutorial on Illustrative Visualization

9. Graph visualization

Improved graph layout: 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 , IEEE Visualization 2017 (come with source code as a reference...)

J. F. Kruiger, P. E. Rauber, R. M. Martins, A. Kerren, S. Kobourov, A. C. Telea, Graph Layouts by t-SNE, EuroVis 2017.

Enhanced edge-bundling: Matthew van der Zwan, Valeriu Codreanu, Alexandru Telea, CUBu: Universal Real-Time Bundling for Large Graphs, IEEE Visualization 2016 .

10. Visuailzation in augmented reality(AR) / virtual reality (VR) applications

11. High dimensional data visualization & visual analytics

Problem 1: mesh quality data (detailed description coming soon...)

Problem 2: performance assessment data (detailed description coming soon...)

12. IEEE Visualization contest

Visualize the universe

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

List of visual analytic (VAST) challenges