Konstantin Shkurko

Real-Time Volume Rendering of 3D Medical Scan Data

Masters Thesis

Cornell University, 2010


The immense progress of imaging technologies has radically changed the practice of medicine both in terms of diagnosis and intravascular surgery. Using technologies such as magnetic resonance imaging (MRI), and computed axial tomography (CAT) scans, doctors are now able to "see" internal organs and structures in high-resolution detail. Today using expensive specialized hardware, one can generate three-dimensional visualizations providing accurate interpretations and revolutionizing the medical field.

This thesis presents a substantially different method to visualize volume datasets by treating them as a scattering volume and rendering the images on a small cluster of parallel computers. With sufficient computing power, the data can be explored interactively without any loss of information.

We utilize a basic raycasting algorithm with several acceleration techniques, such as global empty space skipping, early ray termination, a global gradient cache and increased data access coherency. By selecting efficient data subdivisions, we eliminate the memory and bus-bandwidth latencies and maximize the computing power of each core. The cache coherence of the data access due to the bricking scheme produced almost real-time rendering speeds that are independent of the viewing direction. We tested these algorithms on three different datasets at varying output image resolutions.

In the near future, with increased computing power and sufficient bandwidth, it will be possible to use a cluster of machines to render time-dependent datasets in real time and to deliver these images directly into an operating room.


Thesis (pdf, 20 MB)
Presentation (pdf, 3.7 MB)
Video, 512 resolution (mp4, 15 MB)
Video, 1024 resolution (mp4, 39 MB)


Videos were created to illustrate the speed of the entire system. We tested three datasets (930 and 770 slices at the resolution of 5122). Output images at the resolution of 10242 were generated at the rate above 10 Hz, with the actual refresh rate shown in the top right corner of the videos. We used 256 cores in parallel, each running at 2.6 GHz, to compute each frame.

The left video is at half resolution (5122), and right video is at full resolution (10242).


A small selection of the rendered images is shown below.

Angled SideBottomFrontSide
Pre-Operation DatasetPre-Op, Angled Side ViewPre-Op, Bottom ViewPre-Op, Front ViewPre-Op, Side View
Post-Operation DatasetPost-Op, Angled Side ViewPost-Op, Bottom ViewPost-Op, Front ViewPost-Op, Side View
CT 14 DatasetCT 14, Angled Side ViewCT 14, Bottom ViewCT 14, Front ViewCT 14, Side View


   title = {Real-Time Visualization of 3D Medical Scan Data},
   author = {Konstantin {Shkurko}},
   year = {2010},
   school = {Cornell University}


This work would not have been possible without the support from Don Greenberg, Alex Vladimirsky, and everyone in the Program of Computer Graphics. This work was supported by the National Science Foundation ITR / AP: CCF-0205438, the Department of Architecture, and the Department of Computer Science.

Updated: 02.11.11 © Konstantin Shkurko, 2010 - validate css, html