gVirtualXray
gVirtualXRay is a C++ library to simulate X-ray imaging. It is based on the Beer-Lambert law to compute the absorption of light (i.e. photons) by 3D objects (here polygon meshes). It is implemented on the graphics processing unit (GPU) using the OpenGL Shading Language (GLSL).
SimpleGVXR is a smaller library build on the top of gVirtualXRay. It provides wrappers to Python, R, Ruby, Tcl, C#, Java, and GNU Octave.
Works everywhere
Compatible with Windows, Mac and Linux Operating Systems
gVirtualXRay has been successfully tested on the following platforms (compilers):
- MS Windows 7, MS Visual C++ 2013
- MS Windows 8, MS Visual C++ 2010
- GNU/Linux openSUSE 12.3 (x86_64), g++ 4.7
- Mac OS X 10.8, Apple LLVM 4.2
- Mac OS X 10.8, g++ 4.7
Realistic Rendering
Procedural texturing for realistic rendering of the anatomy
To complete
OpenGL Support
Supports ‘old’ OpenGL implementation as well as modern OpenGL core profile.
To complete
How to cite
For any communication, report or publication results obtained using gVirtualXRay, please cite at least one of the 3 following publications:
- The original technique: F.P. Vidal, M. Garnier, N. Freud, J.M. Létang, and N.W. John. Simulation of X-ray attenuation on the GPU. Proceedings of Theory and Practice of Computer Graphics 2009, Eurographics Association, Cardiff, UK (2009), pp. 25-32, doi 10.2312/LocalChapterEvents/TPCG/TPCG09/025-032
- The first ever paper mentioning gVirtualXray: F.P. Vidal and P.-F. Villard. Development and validation of real-time simulation of X-ray imaging with respiratory motion. Computerized Medical Imaging Graphics, 49 (2016), pp. 1-15, 10.1016/j.compmedimag.2015.12.002
- The benchmark against realistic data: J.L. Pointon, T. Wen, J. Tugwell-Allsup, A. Sújar, J.M. Létang, and F.P. Vidal: Simulation of X-ray projections on GPU: Benchmarking gVirtualXray with clinically realistic phantoms. Computer Methods and Programs in Biomedicine. 234 (2023), pp. 107500, doi: 10.1016/j.cmpb.2023.107500
Testimonials
People love gVirtualXray! Read what they have to say below.
Test