Lectures

3D Medical Visualization

3D Medical Visualization [MIP, MPR, Angio & Co.]

Prof. Dr. Stefan Röttger, Stefan.Roettger@th-nuernberg.de



Include this index page



What is the scope of this lecture?

We are going to examine and display 3D medical data hands on by employing various kinds of visualization techniques.


Lecture 1

Introduction

Learning Objectives:

Find out what visualization is.

Objectives Test:

What is the difference between Visualization, Computer Graphics and 3D Medical Visualization?


Lecture 2

X-Ray, CT and MRI Data

Learning Objectives:

Get an overview of scanner types, the scan process and associated physical properties of generated 2D and 3D data.

Objectives Test:

Why is MRI data often time-dependent and CT is not? Describe a typical clinical use case for both types!


Lecture 3

DICOM Data

Learning Objectives:

Medical data structures and formats.

Objectives Test:

How is a medical volume represented in memory and on disk?


Lecture 4

3D Rendering with OpenGL

Learning Objectives:

Get used to 3D graphics paradigms with OpenGL.

Objectives Test:

What is the difference between retained and direct rendering mode? Give examples of software packages for both modes.
Describe the stages of the 3D graphics pipeline.
What coordinate systems are involved with the pipeline?
What is the purpose of the matrix stack?
Describe the steps to setup a simple 3D scene to be rendered with OpenGL.
Describe the differences between 2D and 3D texturing and give application examples.


Lecture 5

Iso-Contouring

Learning Objectives:

Understand iso contouring algorithms based on graphics hardware.

Objectives Test:

Sketch a level set of a hemisphere!
What are the partial derivatives of a hemisphere?
Sketch the difference between the quad and the triangle marching algorithm!
Which algorithm can be used on graphics hardware and which can not?
Which grid types does graphics hardware support?


Lecture 6

Visualizing Iso Surfaces (Surface Shaded Display)

Learning Objectives:

Learn in which medical use cases iso surfaces are good for.

Objectives Test:

Does it make sense to extract a very small iso value?
Given the function $f(s,t,r)=1-(s-0.5)^2(t-0.5)^2(r-0.5)^2$ with $s,t,r$ being 3D texture coordinates.
How does the iso surface for the iso value $v=0$ and $v=1$ look like?
Hint: Try contour plotting f(s,t,0).
Calculate the gradient vector at positions (2,1,0) and (0,0,0).


Lecture 7

Multi-Planar Reconstruction with OpenGL (MPR)

Learning Objectives:

Apply OpenGL 3D texturing for medical visualization purposes.

Objectives Test:

Successfully visualize $f(s,t,r)=1-(s-0.5)^2(t-0.5)^2(r-0.5)^2$ using Exercise 6.


Lecture 8

Color-Mapping and Transfer Functions

Learning Objectives:

Apply OpenGL programmable shaders for medical visualization purposes.

Objectives Test:

Successfully visualize $f(s,t,r)=(s-0.5)^2+2(t-0.5)^2+(r-0.5)^2$ with $f(s,t,r)<0.5$ mapped to blue using Exercise 7.


Lecture 9

ITK: Insight Segmentation Tool Kit

Learning Objectives:

Understand that pre-processing is key for medical visualization.

Objectives Test:

Describe three medical use cases where pre-processing is beneficial.
Give implementation details for one use case.


Lecture 10

Time-dependent MR Angio data in clinical practice: MIPt, WI, WO and TTP

Learning Objectives:

Learn how to reduce 4D MRI data to 3D.

Objectives Test:

Which parameter map can be used to separate arteries from veins?


Lecture 11

VTK: Insight Visualization Tool Kit

Learning Objectives:

Understand view-aligned slicing and ray-casting.

Objectives Test:

Describe the pros and cos of both volume rendering techniques.


Lecture 12

Advanced Techniques: Lighting and Gradient Magnitude

Learning Objectives:

See what’s possible with DVR.

Objectives Test:

Implement it.


Exercises

Options: