Cross-Platform Ubiquitous Volume Rendering Using Programmable Shaders in VTK for Scientific and Medical Visualization

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.

[1]  Amy Henderson,et al.  The ParaView Guide: A Parallel Visualization Application , 2004 .

[2]  Kwan-Liu Ma,et al.  Visualizing Multivariate Volume Data from Turbulent Combustion Simulations , 2007, Computing in Science & Engineering.

[3]  Kwan-Liu Ma,et al.  Parallel volume ray-casting for unstructured-grid data on distributed-memory architectures , 1995, PRS.

[4]  A. Mezzacappa,et al.  Pulsar spins from an instability in the accretion shock of supernovae , 2006, Nature.

[5]  Jean-Michel Dischler,et al.  Per-Pixel Opacity Modulation for Feature Enhancement in Volume Rendering , 2010, IEEE Transactions on Visualization and Computer Graphics.

[6]  Satomi Teraoka,et al.  [Three Dimensional Display in Nuclear Medicine]. , 2015, Igaku butsuri : Nihon Igaku Butsuri Gakkai kikanshi = Japanese journal of medical physics : an official journal of Japan Society of Medical Physics.

[7]  J. Miao,et al.  Electron tomography at 2.4-ångström resolution , 2012, Nature.

[8]  Gaël Varoquaux,et al.  Mayavi: 3D Visualization of Scientific Data , 2010, Computing in Science & Engineering.

[9]  Greg Wilson,et al.  The architecture of open source applications : elegance, evolution, and a few fearless hacks , 2011 .

[10]  William Schroeder,et al.  The Visualization Toolkit: An Object-Oriented Approach to 3-D Graphics , 1997 .

[11]  Aaron Knoll,et al.  OSPRay - A CPU Ray Tracing Framework for Scientific Visualization , 2017, IEEE Transactions on Visualization and Computer Graphics.

[12]  Lee Westover,et al.  Footprint evaluation for volume rendering , 1990, SIGGRAPH.

[13]  Lixu Gu,et al.  GPU-based Volume Rendering for Medical Image Visualization , 2005, 2005 IEEE Engineering in Medicine and Biology 27th Annual Conference.

[14]  Jeffrey L Clendenon,et al.  Voxx: a PC-based, near real-time volume rendering system for biological microscopy. , 2002, American journal of physiology. Cell physiology.

[15]  Milan Sonka,et al.  3D Slicer as an image computing platform for the Quantitative Imaging Network. , 2012, Magnetic resonance imaging.

[16]  Martin Kraus,et al.  High-quality pre-integrated volume rendering using hardware-accelerated pixel shading , 2001, HWWS '01.

[17]  William M. Hsu,et al.  Segmented ray casting for data parallel volume rendering , 1993, Proceedings of 1993 IEEE Parallel Rendering Symposium.

[18]  Utkarsh Ayachit,et al.  ParaView Catalyst: Enabling In Situ Data Analysis and Visualization , 2015, ISAV@SC.

[19]  Hans-Christian Hege,et al.  amira: A Highly Interactive System for Visual Data Analysis , 2005, The Visualization Handbook.

[20]  Aashish Chaudhary,et al.  The Visualization Toolkit (VTK): Rewriting the rendering code for modern graphics cards , 2015 .

[21]  William E. Lorensen,et al.  Marching cubes: A high resolution 3D surface construction algorithm , 1987, SIGGRAPH.

[22]  Martin Weigert,et al.  ClearVolume: open-source live 3D visualization for light-sheet microscopy , 2015, Nature Methods.

[23]  Louis Bavoil,et al.  Order Independent Transparency with Dual Depth Peeling , 2008 .

[24]  David K. McAllister,et al.  OptiX: a general purpose ray tracing engine , 2010, ACM Trans. Graph..

[25]  M. Bauer,et al.  Interactive volume on standard PC graphics hardware using multi-textures and multi-stage rasterization , 2000, Workshop on Graphics Hardware.

[26]  William E. Lorensen,et al.  The Transfer Function Bake-Off , 2001, IEEE Computer Graphics and Applications.

[27]  Gerik Scheuermann,et al.  OpenWalnut - An Open-Source Visualization System , 2010, High-End Visualization Workshop.

[28]  Timo Ropinski,et al.  Voreen: A Rapid-Prototyping Environment for Ray-Casting-Based Volume Visualizations , 2009, IEEE Computer Graphics and Applications.