Volume Visualization

You are here

Credits
6
Types
Elective
Requirements
This subject has not requirements, but it has got previous capacities
Department
CS
Volume rendering describes visualization methods for three-dimensional volumes of scalar or vectorial data. This course provides an introduction to the fundamentals of volume data modeling and visualization. It discusses the different stages of the visualization pipeline and presents the main techniques to transform volume data into visual representations. The course covers volume data representation -focused in scalar data-, iso-surface extraction and basic direct volume visualization and rendering algorithms. Among other scientific visualization applications, the course focuses in medical visualization (segmentation, classification, transfer functions, registration,...). Students will learn to leverage new features of modern graphics hardware to build interactive high-quality volume rendering applications.

Weekly hours

Theory
2
Problems
0
Laboratory
1.2
Guided learning
0.4
Autonomous learning
6.6

Objectives

  1. By the end of the course, students should be able to know the main concepts behind visualization and representation of volume models in scientific applications (mainly in medical applications). More specifically they will be able to undestand and program algorithms for:
    Related competences:
    Subcompetences:
    • Direct volume visualization algorithms.
    • Classification and Segmentation of volume data
    • Multiresolution represention of volume models.
    • Classification and Segmentation of volume data
    • Medical applications.
    • Multiresolution represention of volume models.
    • Isosurface extraction.
    • Isosurface extraction.
    • Direct volume visualization algorithms.
    • Medical applications.

Contents

  1. Introduction to volume visualizacion
    Presentation of basic principles of volume modeling and visualization, the visualization pipeline and some scientific applications.
  2. Volume data representation
    Presentation and discussion of discrete volume respresentation and interpolation and filtering techniques.
  3. Iso-surface extraction
    Presentation of the main algorithms for extracing iso-surfaces from a scalar volume data-set. Marching-cubes based techniques.
  4. Volume visualization
    Presentation of the main algorithms of direct volume rendering, including 3D textures and ray-casting. Transfer fuctions. GPU-based ray-casting. Introduction to vector field visualization.
  5. 3D Medical Imaging
    Presentation of acquisition techniques (CT, MRI,...), basic segmentation algorithms, fusion of medical data. Applications.
  6. Large Volume Data
    Difficulties for rendering and representing current volume datasets in GPUs. Presentation of some proposed solutions: multiresolution representations, wavelets, compression algorithms, thin-client approaches. Visualization in mobile devices.

Activities

Activity Evaluation act


Lectures

Material will be presented in lectures along the term. You are expected to conduct complementary readings to be presented at a later date or turned in.

Theory
30h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
30h

Implementation of selected algorithms

A selection of relevant algorithms will be assigned to implement in Lab sessions and on your own, in VTK and C++. You may be required to present your solution in class.

Theory
0h
Problems
0h
Laboratory
15h
Guided learning
0h
Autonomous learning
45h

Project

The students will have to complete a programming project involving a GPU-based ray-casting algorithm. This project will be either be presented ans discussed at a later date or turned in for grading.

Theory
0h
Problems
0h
Laboratory
3h
Guided learning
0h
Autonomous learning
20h

Final Exam

At the end of the term, the students will have a final exam, which may be a take-home,

Week: 18
Type: final exam
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h

Teaching methodology

The professor provides theoretical lectures where the most important concepts are introduced; moreover supplement material will be provided.
During the laboratory class, the students will receive the guidelines for the analysis and implementation of their programming assignments and will have time to work in their assignments with the teacher supervision when needed.

Evaluation methodology

The students will be marked for their attendance and participation in class (including the presentation of papers and their discussion), yielding a mark "Class".

Another grade will stem from the student's implementations of selected algorithms (including occassionally their presentation of their solution in a laboratory class), yielding a mark "Lab".

"Project" is the mark for the programming project.

Finally, students will receive a third mark based on their performance in the final exam, yielding "Exam".

The final grade for the course will be computed as:

Final Grade = 0.2 Class + 0.4 Lab + 0.2 Project + 0.2 Exam

Bibliography

Basic:

Complementary:

  • A Survey of Volumetric Illumination Techniques for Interactive Volume Rendering - Daniel Jönsson, Erik Sundén, Anders Ynnerman, Timo Ropinski , Computer Graphics Forum , 2013.
  • The Visualization Toolkit : an object-oriented approach to 3D graphics - Schroeder, Will; Martin, Ken; Lorensen, Bill, Kitware , cop. 2002. ISBN: 978-1930934078
    http://cataleg.upc.edu/record=b1244232~S1*cat

Web links

Previous capacities

The course assumes advanced C++ and GPU progamming skills, and computer graphics.
Completing, for instance, FRRU an AM should provide enough background.