Voreen

From Wikipedia, the free encyclopedia
Voreen
Voreen Logo
Voreen-devmode.png
The development mode in Voreen allows rapid prototyping of interactive volume visualizations.
Stable release
5.2.0 / January 28, 2021; 10 months ago (2021-01-28)
Written inC++ (Qt), OpenGL, GLSL, OpenCL. Python
Operating systemCross-platform
TypeVolume rendering, Interactive visualization
LicenseGNU General Public License Version 2
Websitevoreen.uni-muenster.de

Voreen (volume rendering engine) is an open-source volume visualization library and development platform. Through the use of GPU-based volume rendering techniques it allows high frame rates on standard graphics hardware to support interactive volume exploration.

History[]

Voreen was initiated at the Department of Computer Science at the University of Münster, Germany in 2004 and was first released on 11 April 2008 under the GNU general public license (GPL). Voreen is written in C++ utilizing the Qt framework and using the OpenGL rendering acceleration API, and is able to achieve high interactive frame rates on consumer graphics hardware.[1] It is platform independent and compiles on Windows and Linux. The source code and documentation, and also pre-compiled binaries for Windows and Linux, are available from its website. Although it is intended and mostly used for medical applications,[2] any other kind of volume data can be handled, e.g., microscopy, flow data or other simulations.[3][4]

Concepts[]

The visualization environment VoreenVE based on that engine is designed for authoring and performing interactive visualizations of volumetric data. Different visualizations can be assembled in form of so-called networks via rapid prototyping, with each network consisting of several processors.[5] Processors perform more or less specialized tasks for the entire rendering process, ranging from supplying data over raycasting, geometry creation and rendering to image processing. Within the limits of their respective purposes, the processors can be combined freely with each other, and thereby granting a great amount of flexibility and providing a uniform way of handling volume rendering. Authors who need to implement a certain rendering technique can confine their work basically on the development of new processors, whereas users who only want to access a certain visualization simply need to employ the appropriate processors or networks and do not need to care about technical details.

Features[]

Visualization

  • Direct volume rendering (DVR), isosurface rendering, maximum intensity projection (MIP)
  • Support of different illumination models (Phong reflection model, toon shading, ambient occlusion)
  • Large (out-of-core) data visualization (using an OpenCL octree raycaster)
  • Streamline-based vector field visualization
  • Multimodal volume rendering
  • Geometry rendering with support for order-independent transparency
  • Flexible combination of image processing operators (depth darkening, glow, chromadepth, edge detection)
  • Visualization of time-varying as well as segmented 3D datasets
  • Support for 1D and 2D transfer functions/CLUTs
  • Configurable views for building more complex applications (triple view/quad view/tabbed view/splitter)
  • Plotting
  • Volume Ensemble visualization (similarity plot, ensemble mean/variance, parallel coordinates)

Volume Processing

  • Isosurface extraction
  • Efficient basic 3D-image processing for very large (out-of-core) volumes
  • Very large volume analysis (connected components, vessel network analysis)
  • Interactive volume segmentation (random walker-based, vesselness filtering, basic thresholding)
  • Interactive volume registration (manual or landmark-based)
  • Vector field volume processing (Jacobian matrix, Delta/Q/Lambda2 vortex criterion, coreline extraction)
  • Out-of-core processing of spatio-temporal multi-field ensemble datasets (ensemble analysis)

Interaction

  • Configurable application mode for improving usability for domain experts
  • Axis aligned and arbitrarily aligned clipping planes
  • Editors for 1D and 2D transfer functions
  • Inspection of intermediate results
  • Distance measurements

Data I/O

  • Support for several volume file formats (e.g. DICOM, TIFF stacks, HDF5, RAW, NetCDF, VTI, NIfTI-1)
  • High-resolution screenshot and camera animation generation with anti-aliasing
  • FFmpeg-based video export
  • Python scripting for offline image processing and visualization
  • Geometry in/export (e.g. for Additive Manufacturing)

See also[]

References[]

  1. ^ Smelyanskiy, M.; Holmes, D.; Chhugani, J.; Larson, A.; Carmean, D. M.; Hanson, D.; Dubey, P.; Augustine, K.; Kim, D.; Kyker, A.; Lee, V. W.; Nguyen, A. D.; Seiler, L.; Robb, R. (2009). "Mapping High-Fidelity Volume Rendering for Medical Imaging to CPU, GPU and Many-Core Architectures" (PDF). IEEE Transactions on Visualization and Computer Graphics. 15 (6): 1563–1570. CiteSeerX 10.1.1.460.3466. doi:10.1109/TVCG.2009.164. ISSN 1077-2626. PMID 19834234. S2CID 1284490.
  2. ^ Eisenmann, U.; Freudling, A.; Metzner, R.; Hartmann, M.; Wirtz, C. R.; Dickhaus, H. (2009). "Volume Rendering for Planning and Performing Neurosurgical Interventions". World Congress on Medical Physics and Biomedical Engineering, September 7–12, 2009, Munich, Germany. IFMBE Proceedings. IFMBE Proceedings. 25/6. pp. 201–204. doi:10.1007/978-3-642-03906-5_55. ISBN 978-3-642-03905-8. ISSN 1680-0737.
  3. ^ "Flight through Rayleigh-Benard field". Archived from the original on 2021-12-15.
  4. ^ Scherzinger, A.; Brix, T.; Drees, D.; Völker, A.; Radkov, K.; Santalidis, N.; Fieguth, A.; Hinrichs, K. (2017). "Interactive Exploration of Cosmological Dark-Matter Simulation Data". IEEE Computer Graphics and Applications. 37 (2): 80–89. doi:10.1109/MCG.2017.20. PMID 28320645. S2CID 15305374.
  5. ^ Meyer-Spradow, J.; Ropinski, T.; Mensmann, J. R.; Hinrichs, K. (2009). "Voreen: A Rapid-Prototyping Environment for Ray-Casting-Based Volume Visualizations". IEEE Computer Graphics and Applications. 29 (6): 6–13. doi:10.1109/MCG.2009.130. ISSN 0272-1716. PMID 24806774. S2CID 8211514.

External links[]

Retrieved from ""