CS 419H -- Visualizing 3D Scientific Data

Fall 2006


IM Lectures Projects Handouts Grades VHR

This page was last updated: November 29, 2006


What We Will Be Doing This Quarter

The worlds of science and engineering are being smothered with data. In both simulation and sensing, datasets are becoming larger and faster and easier to obtain. This creates a fundamental crisis in that scientists and engineers are under pressure to be able to understand larger amounts of data in less time, and be able to show and explain it to others.

This course will cover the fundamentals of 3D scientific and engineering multidimensional data: how to create datasets and how to formulate them so that good visualization is possible. It will then cover the visualization of such data using techniques such as 2D graphics, 3D graphs, contours, isosurfaces, terrains, and flows. The class will also cover displaying time-varying data through the use of animations, including how to edit the animations through Adobe Premiere.

The class will use real datasets whenever possible. Students will also be encouraged to obtain their own domain-specific data for the assignments. Project assignments will not only consist of generating compelling visualizations, but will also consist of writing reports and making class presentations.

The hope is that students will leave the course well-equipped to contribute more to their respective fields by being "Renaissance Scientists", capable of not only gathering and manipulating data, but also able to picture it and present it for the benefit of others.

We will cover a variety of topics in advanced computer graphics and scientific/engineering visualization. Introductory courses in computer graphics emphasize converting geometry into a display. In visualization, we also need to know about converting data into geometry:

You will have access to the graphics systems in Oregon State's brand new Computer Graphics Education Lab (CGEL) in BAT 244. You are also free to develop the projects on other systems.

CS 419H topics include:



Learning Objectives

On completion of the course, you will be able to:

  1. Demonstrate a proficiency with OpenDX
  2. Articulate how data is characterized in terms of spatial and data dimension.
  3. Demonstrate how to perform interactive terrain visualization, including height exaggeration, contours, and using an appropriate color function.
  4. Demonstrate how to geometrize scalar data using a variety of approaches such as point clouds, colored cutting planes, contoured cutting planes, and isosurfaces.
  5. Demonstrate how to geometrize vector data using a variety of approaches such as vector clouds, streamlines, multi-streamlines, ribbon traces, and tube traces.
  6. Demonstrate how to perform interactive direct volume rendering, including rendering, interaction, and transfer functions.
  7. Articulate what makes each method appropriate or not appropriate for what one is trying to accomplish.
  8. Demonstrate how to create a visualization animation.
  9. Demonstrate how to use your visualization images and animations in scientific presentations.
  10. Articulate the ethical issues involved with scientific and engineering visualization.


The class is being taught by Professor Mike Bailey.

Office: Kelley 2117
Phone: 541-73-72542
E-mail: mjb@cs.oregonstate.edu
Web site: http://eecs.oregonstate.edu/~mjb

Office Hours:

Day Time Where
Sundays 7:00-9:00 (PM) Instant Messaging
Mondays 2:00-4:00 Computer Graphics Education Lab (Batcheller 244)
Tuesdays 2:00-4:00 Kelley 2117
Thursdays 11:00 - 1:00 Kelley 2117
  or, by appointment -- send email  

The Virtual Hand Raise

I recognize that it sometimes takes a certain amount of courage to ask a question in class. But, the worst thing of all is to not ask! So, this class also offers a feature called the Virtual Hand Raise. Click here to get into it. It will allow you to send me a question or comment, completely anonymously. I will answer all questions submitted this way at the start of the next class.


You will also have access to the new College of Engineering Computer Graphics Education Lab (CGEL) in Batcheller Hall 244. OpenDX runs on all systems in this lab.

OpenDX is a free package. It might exist elsewhere on campus, or you can get it yourself and install it. You can also buy a handy CD from Visualization and Imagery Solutions, Inc. (the same small company that sells the book). This is the easiest solution, although it costs a little bit of money ($35). The only trick is that OpenDX expects an X Window server to be running. How you do this is left as an exercise to the reader.

What If I Don't Have a Computer Account for the CGEL?

If you don't have an account that already works in the CGEL, you can get one by virtue of being enrolled in this course. Go to: http://engr.oregonstate.edu/teach to set it up.


We take computer security very seriously. Please use intelligently-chosen passwords and protect them!


You are expected to have access to the following book:

David Thompson, Jeff Braun, and Ray Ford, OpenDX: Paths to Visualization, Vis Inc., 2001.

This is not available from the OSU bookstore. (For some reason, they were not able to get it. ??) You need to order it online.

It costs $55 (plus shipping) online. You can get one copy and share it among a couple people if you want. But, it will really pay to have access to it so you can study how to do certain things well. Also, there will be assigned readings from it, which could end up as test questions.

I've worked out a deal with Vis, Inc. If we order at the same time, they will waive the shipping costs. (I.e., they will ship the books to me in one box, and then I will give them to you.) So, place your order by 12:00 noon, Tuesday, September 27 and email me that you have done it. I will then let them know to ship them together.

Other Good References

Lecture Schedule

To see an academic year calendar, click here.

Class lecture time is: Monday and Wednesday, 10:00 - 10:50. Unless otherwise specified, all lectures will be held in Batcheller Hall room 244.

1 Sept 25 Introductions. General course information.
Do Project #1 as soon as possible!
2 Sept 27 Please print the Color in Visualization notes handouts before coming to class today.
Color I: RGB, HSV, CMYK, La*b* color spaces. Different color scales. Mapping scalar values to colors. General rules of thumb when using color in scientific and engineering visualization. Color gamuts.
3 Oct 2 Color, II. The OpenDX ColorMap module.
Project #2.
4 Oct 4 Visualization data definitions.
The OpenDX data model.
5 Oct 9 Intro to OpenDX.
6 Oct 11 OpenDX, II.
Terrain Visualization.
Project #3.
7 Oct 16 3D scalar visualization, I.
3D point clouds, glyphs.
Volume slices, interolated colors, contours.
8 Oct 18 3D scalar visualization, II.
9 Oct 23 Vector visualization, I.
Vector clouds.
Streamlines, streaklines.
10 Oct 25 Catch-up.
Test #1 review.
11 Oct 30 Test #1
12 Nov 1 Go over test answers.
Cool video.
Direct volume visualiztion, I. Rendering. Transfer functions.
13 Nov 6 Class today is in the Graphics and Interactive Technologies (GAIT) Lab in Kelley room 2114.
Direct volume visualiztion, II. Volume interaction. Experience with stereographics.
14 Nov 8 Stereographics.
15 Nov 13 Visualization ethics.
16 Nov 15 Creating and editing animations, I.
17 Nov 20 Creating and editing animations, II.
18 Nov 22 No class today -- have a great "holiday".
19 Nov 27 Putting your data into OpenDX-import form.
20 Nov 29 Class Evaluations: it is important that you come today!
Test #2 review.
Books, periodicals, professional organizations, conferences. Job interviewing tips.
* Dec 6 Test #2 Wednesday, December 6, 2:00 - 3:30 PM, BAT 244.


Project # Points Title Due Date
1 20 Register your Grade-Posting Alias Sept 25
2 60 Color Sculpting Oct 6
3 100 Oregon Terrain visualization. Oct 10
4 150 Scalar visualization. Oct 25
5 150 Vector visualization. Nov 6
6 100 Volume visualization. Nov 15
7 100 Visualization Animation. Dec 1 (=Nov 31)


Grades will be posted through this web page. To protect your privacy, they will be posted by your alias that you give me in Project #1.

Click here to see the current grade posting.

CS 419H will be graded on a fill-the-bucket basis. There will be several projects, two tests, and maybe some quizzes. You get to keep all the points you earn.

Your final grade will be based on your overall class point total. Based on an available point total of 880, grade cutoffs will be no higher than:

Points Grade
785 B+
685 C+
585 D+

OpenDX Documents

OpenDX Quick Guide -- as if 150 pages is "quick"??
OpenDX User Guide -- Appendix A, Appendix F, and the Glossary are really good
OpenDX User Reference Manual -- the modules are described in alphabetical chapters
OpenDX Program Guide -- writing your own OpenDX modules


Color in Visualization
Introduction to OpenDX (1 slide per page -- good for reading)
Introduction to OpenDX (2 slides per page -- good for printing)
Visualization Ethics
OpenDX Animation notes (1 slide per page)
OpenDX Animation notes (2 slides per page)
OpenDX Data File notes
More Information


terrain visualization -- or.dx
scalar visualization -- pts.dx
vector visualization -- vecs.dx

Sample OpenDX Networks

Click here to go to the directory of sample OpenDX networks.

To run one, copy both the xxx.net file and the xxx.cfg file into the same directory. Then read the .net file by clicking on Edit Visual Programs in the main OpenDX menu.

You can also load these programs by clicking on Samples in the main OpenDX menu.

Project Turn-In Procedures

Class Rules

Other Useful Online Graphics and Visualization Information

Student Registration

Click here to record yourself on the CS 419H student roster. This is Project #1, and is worth 20 points.

Do you like Computer Graphics? Do you want to do more?

We are currently teaching or planning to teach:

CS 450/550 Introduction to Computer Graphics Metoyer Every Fall
CS 551 Computer Graphics Metoyer/Mortensen Spring in odd years
CS 552 Computer Animation Metoyer Spring in even years
CS 553 Scientific Visualization Bailey Every Winter
CS 554 Geometric Modeling Zhang Every Fall
CS 555 Signal and Image Processing Mortensen Fall in even years
CS 556 Computer Vision Mortensen Winter in even years
CS 519 RenderMan and OpenGL Shaders Bailey Every Spring

In addition, we are planning a series of Advanced Topics courses, collectively grouped under the reserved CS 559 course name. These courses include:

3D Computer Vision Motensen
Math for Game Development All
Advanced Animation Metoyer
Advanced Visualization Bailey
Computational Geometry Zhang
Curves and Surfaces All
Global Illumination in Rendering All
Real-time Graphics Programming All
Special Effects All
Vector Analysis and Synthesis for Graphics All
Virtual Environments Bailey/Zhang
Vision for Graphics Metoyer/Mortensen