Volumetric rendering for medical visualisation have been constantly upgraded with progress in both algorithm and GPU hardware framework. Here are 5 open source volumetric renderer that showcase research advancement. There are certainly many more in the open source community and in such case we will certainly add further SDK or library as we found them out.
The proposed ranking doesn’t have other meaning that our own interest in some feature such as PBR shaders, advanced transformation function or options for cloud based scalability.
Mainly developed by Thomas Kroes, Exposure Render propose a BRDF shading model, without any surface reconstruction. Thus leading to highly realistic visualisation of the volume.
Kitware is a set of open source tool for data and 3D visualisation. We find it widely at the core of many other medical application such as the Osirix DICOM viewer or VolView for instance. While the original kit date from 1993 it is updated and maintained with full GPU support. Volume renderer is a composite of the Visualisation Toolkit VTK and Insight Toolkit ITK.
|License:||VTK: BSD License ITK: Apache 2|
|Homepage:||http://www.kitware.com/ http://www.itk.org/ http://www.vtk.org/|
Hosted by the Center for Integrative Biomedical Computing (University of Utah), Imagevis3d is designed in a way we can re-use core functions for third project. Note that Tuvok, the Volume Renderer library of Imagevis3d doesn’t rely on CUDA for GPU acceleration but rather on shaders for GPGPU, thus freeing it from Nvidia GPU environment.
While mainly focused on astrophysical science environment, the yt project scientific community has ported their volume renderer to medical visualisation scope. It is at the core behind the NeuroDome application which showcase interesting transfer function for visual illustration.
|License:||Modified BSD License|
Voreen is an open source volume renderer engine which introduce node based GUI for building custom pipeline or view. Some of the node can have their code edited such as the shaders for GPGPU. Voreen allow to create multi-view on the same data model and so layering different shading model on each region of interest.
|License:||GNU General Public License|
We would like to add the following 4 engines to complete our list. Though not open source and some kind of out of date, we think they worth been watched.
Microsoft Research has a data visualisation department which provide its own SDK with a “Big Data” like scope of scalability. This SDK is enterprise solution for cloud deployment on server-side GPU cluster which is abstracted by the SDK architecture.
|License:||Non commercial use only. ©Microsoft|
|Language:||C++, C# (.NET)|
Nvidia provides with the CUDA SDK sample code two volume renderer implementation. It might be a tempting strategy to use the Nvidia OPTIX SDK for cloud development. Looking at the reference paper(1) below, OPTIX and CUDA context can not share memory in the actual GPU hardware. This leading to copying buffer back and forth between guest and host device for each communication. The author proposed the solution of an OpenGL buffer which keep the data on GPU but require a monitor to be plugged to the GPU, forbidding any server side GPU implementation.
(1) OPTIX / CUDA Volume Rendering. Note on memory bottleneck between the two library. http://www.cs.utah.edu/~bnelson/Files/VolVis.pdf
|License:||NVIDIA End User License Agreement|
Old but efficient CPU based library developed by the Stanford University in 1994. The engine is still used by recent visualisation software such as AMIDE
|License:||Mozilla Public License v.2|