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 Python2, Python3, R, Ruby, Tcl, C#, Java, and GNU Octave.

Features

  • C++ library to simulate X-ray attenuation
  • Beer-Lambert law on GPU
  • GLSL
  • Support old and new versions of OpenGL
  • Demos and Tutorials
  • Procedural texturing for realistic rendering of the anatomy

Project Samples

Project Activity

See All Activity >

License

BSD License

Follow gVirtualXRay

gVirtualXRay Web Site

You Might Also Like
A CRM and Sales Data Management Platform for Multi-Line Sales Teams Icon
A CRM and Sales Data Management Platform for Multi-Line Sales Teams

The CRM, sales reporting, and commission tracking tool uniquely tailored to the needs of manufacturers, sales reps, and distributors.

Repfabric is a customer relationship management (CRM) software designed specifically for multi-line sales teams (i.e. reps, distributors, wholesalers, dealers, and manufacturers). It streamlines and simplifies the sales process by providing deep integration with email, contacts, calendars, and deal tracking. The platform enables users to track commissions from CRM to sale, make updates directly from mobile devices, and document sales calls using voice-to-text features.
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
4
0
0
0
0
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 5 / 5

User Reviews

  • Very helpful. However, I've encountered a limitation in the mesh input interface of the software. Currently, it only allows for the input of STL file names. Would it be possible to introduce an interface that accepts vertices and faces instead? This enhancement would greatly aid in swiftly projecting variable models, eliminating the need for repetitive reading and writing. Thank you for considering my request.
    Reply from gVirtualXRay
    Posted 2024-08-19
    Hi Wanxin, I am glad you find gVXR helpful. Sorry for the late reply, I missed your post. The functionality already exists. Below is the C++ declaration. It'll be similar in Python. void makeTriangularMesh(const std::string& aLabel, const std::vector<float>& aVertexSet, const std::vector<int>& aTriangleIndexSet, const std::string& aUnitOfLength = "cm", const std::string& aParent = "root"); There is also a version of this function without aTriangleIndexSet. If you have any other question or request, do not hesitate to ask on the mailing list or open a ticket.
  • Great software!
  • I used gVXR throughout my Master's project to generate large training datasets for machine learning. The software was relatively straight forward to implement and Franck was fantastic when it came to helping us with any queries we had with e.g. inclusion of Poisson noise in scans. Would certainly recommend!
    1 user found this review helpful.
    Reply from gVirtualXRay
    Posted 2023-05-31
    Thank you for your feedback. I am glad you find the library useful.
  • gVirtualXay has helped me a lot during my PhD years. Thanks to it I have gained a very valuable intuition around the production of X-ray images. I has also come in handy in my teaching years, where I have use it to instruct students about X-ray physics and geometry. In spite of its C++ core, it's relatively easy to compile, play and run examples. Its bindings to other computing languages are awesome and run on the first try. macOS support is great. But, above all, the human team behind it is very kind, respectful, open to suggestions and willing to help and solve doubts. I can't say anything more than it's been an honour to have ever discover such a useful piece of software.
    1 user found this review helpful.
    Reply from gVirtualXRay
    Posted 2019-07-18
    Thank you for your feedback. I am glad you find the library useful.
Read more reviews >

Additional Project Details

Operating Systems

MinGW/MSYS2, Linux, Mac, Windows

Languages

French, English

Intended Audience

Science/Research, Manufacturing, Developers, Engineering

User Interface

OpenGL, Project is a 3D engine, Command-line, Qt, FLTK, GLUT

Programming Language

C#, Python, C++, Java, S/R, GLSL (OpenGL Shading Language)

Related Categories

C# Simulation Software, C# Physics Software, C# Medical Physics Software, Python Simulation Software, Python Physics Software, Python Medical Physics Software, C++ Simulation Software, C++ Physics Software, C++ Medical Physics Software, Java Simulation Software, Java Physics Software, Java Medical Physics Software, S/R Simulation Software, S/R Physics Software, S/R Medical Physics Software

Registered

2013-12-01