COSC 6397 Introduction to Visualization

Fall 2013

Course summary

Visualization is now a powerful tool in helping data stakeholders from various areas understand and present their large scale and complex data. This course presents introductory topics on visualization, and introduces a number of classical and recently developed visualization techniques for various data forms, such as scalar, vector, tensor fields, graphs, trees, and text data. By taking this course, students are expected to have the ability to design proper algorithm and system for the visualization of a given data set in any standard form.


Syllabus

Prerequisites:

Textbook: (recommended, but not required)

Grading: 5 assignments (40%) + 1 mid-term exam (20%) + 1 final project and presentation (30%) + course participation (10%)

Late Policy: Late assignments will be marked off 20% for each weekday that it is late.

Academic Dishonesty: You can discuss course materials, algorithms, and programming skills. But, please do you own work! DO NOT copy code from others or from internet!


Schedule

TIMELINE

MATERIAL COVERED

WEEK 1

Class Preliminaries

Introduction – History of visualization, Visualization pipeline, Data types and representations

WEEK 2

Visual encoding and color theory, Elementary plots (Assignment 1 out)

WEEK 3

OpenGL tutorial; Scalar data visualization – iso-contouring (Assignment 2 out)

WEEK 4

Iso-surfacing, Direct volume rendering – Ray casting

WEEK 5

Direct volume rendering – Splatting, Transfer function
( Assignment 3 out)

WEEK 6

Flow visualization introduction; Flow visualization techniques in 2D (arrow and color plots and streamlines)

WEEK 7

Flow visualization techniques in 2D - texture-based (Assignment 4 out) ; Final project topic review

WEEK 8

travel to IEEE Visualization Conference (no class on Oct. 15); Mid-term exam (on Oct. 17)

WEEK 9

Feature-based flow visualization

WEEK 10

3D flow visualization, 3D streamline, stream ribbons, and stream surfaces (Assignment 5 out)
Time-dependent flow visualization

WEEK 11

Tensor data application – introduction and math

WEEK 12

Glyphs and glyph packing; Geometric-based and texture-based techniques

WEEK 13

graph and network visualization

WEEK 14

high dimensional data visualization (Thanksgiving!)

WEEK 15~16

Final project presentation

 


Lectures

1. Introduction, visualization pipeline, data types

In this week, we will learn the history of the visualization and review different topics in visualization. We will get familar with the basic pipeline of visualization, especially the one for scientific visualization. We will get to know the general types of data and their representations that we will be facing in real-world applications.

Lec1_slides

Lec2_slides

Additional materials:

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

Lec3_slides

Additional materials:

3. Plots

Everyone is using plots to some extent in their tasks 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 to teach you what you should or should not do when making some basic plots.

Lec4_slides

Additional materials:

4. OpenGL tutorial

This lecture provides you a short tutorial of OpenGL, a popular graphics library that is widely used in various computer graphics and visualization projects. We will explain the basic OpenGL rendering and interaction pipeline based on the following skeleton code.

Lec5(OpenGL_tutorial)_slides

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

Additional materials:

6. Scalar field visualization II - direct volume rendering

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

Additional materials:

7. Scalar field visualization II - 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.

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

Lec9_slides

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.

Lec10_slides

Additional reading:

10. Feature-based vector field visualization

In many situations, the given vector fields are overly complex and large-scale so that a simply visualization cannot draw the attention of the domain experts to those "features" that they are interested in. In that case, it is better to first identify those features of interest, then highlight them on top of the other visualizations. This leads to the feature-based visualization. There are two types of features in flow: the non-topological features and topological features. The non-topological features are typically defined and computed based on some local physical properties of the flow. On the other hand, vector field topology provides the qualitative (or structural) information of the flow data. It also provides a partitioning scheme for spatial domain segmentation so that the flow has homogeneous behavior within a region (i.e. flowing from one repeller to one attractor). This topic will specifically focus on the extraction of topology for 2D steady vector fields. A number of extension of this standard topology will be briefly reviewed as well.

Lec11_12_slides

Additional reading:

11. Visualization of 3D and time-dependent (or unsteady) flows

3D flows have much more complex configuration than their counterpart. In addition, the occlusion of 3D visualization makes the task even more challenging. This topic will review a number of geometric based methods for the effective visualization of 3D flows.

Time-dependent flows represent the most popular flow data. The additional time dimension greatly increases the difficulty of their analysis because the originally well-defined features in steady flows are not valid any more under time-varying setting. We will review a number of visualization and analysis techniques that can help partially address the visualization of time-dependent flows.

Lec13_slides

Lec14_slides

Additional reading:

12. Tensor field background and its applications

Tensor fields are now a popular subject in the visualization community. It measures the local higher ordered property on a higher dimensional manifold compared to scalar (0D property) and vector (1D property). Examples include stress/strain tensor, curvature tensor, metric tensor, diffusion tensor, and velocity gradient tensor. This lecture will emphasize the importance of tensors with a number of applications, and introduce the basic concepts and computations of this complex data form with the focus on second order tensors.

Lec15_slides

Additional reading:

13. Tensor field visualization: glyph packing

Glyphs are good at describing the local patterns of tensors. With proper placement technique, the trend of the placed glyphs can reveal certain global patterns of the tensor field. We will look at a few glyph design and packing schemes in this lecture, especially the superquardic glyphs and the particle-system based glyph packing.

Lec16_slides

Additional reading:

14. Tensor field visualization: texture-based and geometric-based methods

This lecture will cover the texture-based and geometric-based visualization techniques for second order tensor visualization. Two extended texture-based methods will be introduced, including the hyperLIC and extended IBFV. Hyperstreamline computation and placement will be introduced for the geometric-based visualization as well as its application in diffusion tensor imaging.

Lec17_slides

Additional reading:

15. Graph visualization

Graphs are one of those common data representations that we see from many applications. Any relation information (either directional or non-directional) can be represented by a graph with the graph nodes corresponding to the objects and the edges representing the relations between objects. In many real-world examples, the relations between subjects are overwhelmingly complex, typically in higher-dimensional forms. This requires an intuitive visualization to help people understand the patterns and trends encoded in these graphs. In this lecture, we will briefly describe a number of representative and basic graph visualization techniques. Many more advanced techniques can be derived from them.

Lec18_slides

Additional reading:

16. Higher dimensional data

Higher dimensional data visualization and analysis is getting more and more attention these days as many data and the relation encoded in them are in high dimension. Due to our limited knowledge in the higher dimensional space beyond our physical world and the constraints of 2D display devices, producing intuitive visualization for these types of data is specifically challenging. We will review some of issues and research problems of this topic, and introduce one of the standard techniques for visualizing high dimensional data, i.e. the parallel coordinate.

Lec19_slides

Additional reading:


Assignments

Assignment 1 Elementary plots (Due on September 12) Data

Assignment 2 2D scalar field visualization (Due on September 24), Skeleton_code (VS10, VS12, for Mac (with ReadMe, thank you, Shuyu!)), Data

Assignment 3 3D volumetric data visualization (Due on October 9th)

Assignment 4 2D vector field visualization (Due on October 23th) Data

Assignment 5 3D vector field visualization (Due on November 7th) A demo program


Final project topics (tentative) :

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

Robert S. Laramee, Jarke J. van Wijk, Bruno Jobard, and Helwig Hauser, ISA and IBFVS: Image Space Based Visualization of Flow on Surfaces in IEEE Transactions on Visualization and Computer Graphics (IEEE TVCG), Vol. 10, No. 6, November/December 2004, pages 637-648.

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.

Variations of LIC on surface

Professor Zhanping Liu's webpage on flow visualization.

2. Vector field topology

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.

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

Out-of-core vector field analysis (new research, no much work on this topic yet)

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

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

More geometric techniques can be found in a recent survey paper: Tony McLoughlin, Robert S. Laramee, Ronald Peikert, Frits H. Post, and Min Chen, Over Two Decades of Integration-Based, Geometric Flow Visualization in EUROGRAPHICS 2009, State of the Art Reports, pages 73-92, 30 March - 3 April 2009.

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.

5. Scalar field analysis

Reeb graph

V. Pascucci, G. Scorzelli, P.-T. Bremer, and A. Mascarenhas, Robust On-line Computation of Reeb Graphs: Simplicity and Speed. ACM Transactions on graphics, pp. 58.1-58.9, 2007, Proceedings of SIGGRAPH 2007.

Morse-Smale Complex

Attila Gyulassy, Peer-Timo Bremer, Valerio Pascucci, Bernd Hamann. A Practical Approach to Morse Smale Complex Computation: Scalability and Generality. IEEE Trans. Vis. Comput. Graph. (IEEE Visualization 2008), 14(6): 1619-1626, 2008.

P.-T. Bremer, G. Weber, J. Tierny, V. Pascucci, M. Day, and J. Bell, Interactive Exploration and Analysis of Large Scale Simulations Using Topology-based Data Segmentation. IEEE Transactions on Visualization and Computer Graphics, Vol. 17(9): pp. 1307-1324, 2011.

6. Asymmtric tensor field visualization

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.

Eugene Zhang, Harry Yeh, Zhongzang Lin, and Robert S. Laramee, "Asymmetric Tensor Analysis for Flow Visualization", IEEE Transactions on Visualization and Computer Graphics, Vol. 15(1), 2009, pp. 106-122.

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

7. Diffusion tensor imaging

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

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

An old survey, Diffusion Tensor Imaging: Concepts and Applications. 2001.

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

Open source for your reference: Exposure render.

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

10. Information visualization

Large scale dynamic graph visualization

Michael Burch, Corinna Vehlow, Fabian Beck, Stephan Diehl, and Daniel Weiskopf. Parallel Edge Splatting for Scalable Dynamic Graph Visualization. IEEE Information Visualization 2011.

Danny Holten and Jarke J. van Wijk. Force-Directed Edge Bundling for Graph Visualization. EuroVis2009

Gautam Kumar and Michael Garland. Visual Exploration of Complex Time-Varying Graphs, IEEE Information Visualization 2006.

High-dimensional data visualization

Enrico Bertini, Andrada Tatu, and Daniel Keim, Quality Metrics in High-Dimensional Data Visualization: An Overview and Systematization. IEEE Information visualization 2011.

S. Gerber, P.-T. Bremer, v. Pascucci, and R. Whitaker, Visual Exploration of High Dimensional Scalar Functions. IEEE Transactions on Visualization and Computer Graphics 16(6), pp. 1271-1280, 2010 (this is actually a scientific visualization paper).

11. Others (name a good project then we can discuss)

 

Final Project Showcase: