Authors: Aashish Chaudhary, Sankhesh J. Jhaveri, Alvaro Sanchez, Lisa S. Avila, Kenneth M. Martin, Allison Vacanti, Marcus D. Hanwell, Will Schroeder
Abstract: The visualization toolkit (VTK) is a popular cross-platform, open source toolkit for scientific and medical data visualization, processing, and analysis. It supports a wide variety of data formats, algorithms, and rendering techniques for both polygonal and volumetric data. In particular, VTK's volume rendering module has long provided a comprehensive set of features such as plane clipping, color and opacity transfer functions, lighting, and other controls needed for visualization. However, due to VTK's legacy OpenGL backend and its reliance on a deprecated API, the system did not take advantage of the latest improvements in graphics hardware or the flexibility of a programmable pipeline. Additionally, this dependence on an antiquated pipeline posed restrictions when running on emerging computing platforms, thereby limiting its overall applicability. In response to these shortcomings, the VTK community developed a new and improved volume rendering module, which not only provides a modern graphics processing unit-based implementation, but also augments its capabilities with new features such as fast volume clipping, gradient-magnitude-based opacity modulation, render to texture, and hardware-based volume picking.