TNM067 - Scientific Visualization - 2012


Timo Ropinski email

Lab Assistants: 

Alexander Bock email, Daniel Jönsson email, Tan Khoa Nguyen email



Course abstract:

The purpose of visualization is to allow the user to gain insight into data by representing the data through images. As data can originate from various sources, e.g., medical CT scanners, weather simulation or stock trading logs, different visualization metaphors are needed to represent the data in a meaningful way. Traditionally, visualization is split into two subfields: information visualization and scientific visualization. While information visualization deals with the representation of abstract data often stored in spreadsheets, scientific visualization deals with data which has an inherent spatial component. Within this course we will focus on scientific visualization and learn how to transform spatial data - which might also have a temporal component - into meaningful visual representations. We will learn how the image representations generated through this transformation process can be both, expressive and - in order to allow interactive visualization - also be generated rapidly.

The course starts with an introduction to visualization, before it focuses on the basics of visualization, such as the visualization pipeline, data representations and fundamental algorithms for scalar and vector visualization. During this part of the course the assignments will cover the basics of the Visualization Toolkit (VTK) to provide the practical skills needed to experiment with the methods covered in the lectures. When transforming data into images, color plays an important role and is therefore covered in an extra lecture. Volume rendering, which exploits besides color also transparency, is covered in an extra block, as it is an essential part of scientific visualization. Finally, perceptual and cognitive aspects are reviewed as knowledge about the human visual system is essential in order to generate expressive visualizations.


Course Outline:

  • Introduction and Basics
  • The Data to be Visualized
  • Scalar Visualization
  • Vector Visualization
  • Color Models
  • Volume Rendering
  • Perception & Cognition


Lecture Slides:


Chapter 1 - Basics

Chapter 2 - The Data to be Visualized 

Chapter 3 - Scalar Visualization 

Chapter 4 - Vector Visualization

Chapter 5 - Volume Rendering

Chapter 6 - Perception & Cognition 

Chapter 7 - Haptics 


 LabContent Files 

This lab is completely voluntary but very useful if you need to refresh your C++ programming skills.



 1 Introduction to VTK. You will interact with the VTK pipeline, create a scalar data set and write it to a file.


 2In this lab, you will visualize both scalar and vector data. The scalar you created in the previous lab will be visualized using iso-surfaces. The vector data will be visualized using for instance stream


 3In this lab, you will extract iso-contours from scalar datasets. Please solve the first task before the lab


 4 In this lab, you will create your own GPU-based raycaster.



CThip2.raw (optional)

 5Try haptics with volumetric data.