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.
Person in charge
Isabel Navazo Alvaro (
Pere Pau Vázquez Alcocer (
Technical Competences of each Specialization
Computer graphics and virtual reality
CEE1.1 - Capability to understand and know how to apply current and future technologies for the design and evaluation of interactive graphic applications in three dimensions, either when priorizing image quality or when priorizing interactivity and speed, and to understand the associated commitments and the reasons that cause them.
CEE1.3 - Ability to integrate the technologies mentioned in CEE1.2 and CEE1.1 skills with other digital processing information technologies to build new applications as well as make significant contributions in multidisciplinary teams using computer graphics.
Generic Technical Competences
CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
Entrepreneurship and innovation
CTR1 - Capacity for knowing and understanding a business organization and the science that rules its activity, capability to understand the labour rules and the relationships between planning, industrial and commercial strategies, quality and profit. Capacity for developping creativity, entrepreneurship and innovation trend.
CTR4 - Capability to manage the acquisition, structuring, analysis and visualization of data and information in the area of informatics engineering, and critically assess the results of this effort.
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:
Introduction to volume visualizacion
Presentation of basic principles of volume modeling and visualization, the visualization pipeline and some scientific applications.
Volume data representation
Presentation and discussion of discrete volume respresentation and interpolation and filtering techniques.
Presentation of the main algorithms for extracing iso-surfaces from a scalar volume data-set. Marching-cubes based techniques.
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.
3D Medical Imaging
Presentation of acquisition techniques (CT, MRI,...), basic segmentation algorithms, fusion of medical data. Applications.
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.
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.
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.
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.
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.
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