Skip to content

Tool to simulate projections from 3D shapes, e.i., meshes, in arbitrary geometries.

License

Notifications You must be signed in to change notification settings

tim-vdl/cad_projector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CAD projector

DOI

Tool to simulate projections from 3D shapes, e.g., meshes, in arbitrary geometries. Possible applications are simulation of X-ray or optical transmission projections.

This work was inspired by the ASTRA-toolbox, a MATLAB and Python toolbox of high-performance GPU primitives for 2D and 3D tomography for using volumetric data. The aim of this project is exclusively to overcome some downsides of simulating projections from volumetric data. There is thus no focus on reconstruction algorithms to generate 3D volumes form the simulated projections.

The CAD projector project aims to overcome some downsides of using volumetric data for projection simulations by working with geomtric objects, e.g., meshes. These possible downsides are:

  • First, it is harder to visualize the system geometry and sample movement with volumetric data compared to using geometric objects.
  • Second, if only a shape of the object is available, voxelization of the volume is needed before usage, which requires specifying the voxel size and values.
  • Third, volumetric representations requires the expression of the position of the X-ray source and detector relative to the sample. In this project however, the movement patterns of geometric object can, in my opinion, be expressed more intuitively.
  • Finally, in volumetric representations, the origin of the system is often located in the center of the volume. Here, the origin can be positioned arbitrarilly.

The main drowbacks of this implementation:

  • It is much slower (no calculations on the GPU) compared to volumetric representations.
  • Limited to applications where the sample have approximatly a homogenoeus density distribution.

Prerequisites

  • MATLAB (>= R2018b)

Dependencies

  • Geometric computing library for 3D shapes: geom3d

Getting started

Take a look at the example folder and the comments in the cad_projector class.

Data

Apple fruit mesh downloaded from here

Contributing

If you want to contribute back, please open an issue or make a pull request.

Cite

Please cite this repository in your publications if it helps your research.

@misc{tim_vandelooverbosch_2019_15991,
  author  = {Tim Van De Looverbosch},
  title   = {CAD Projector},
  month   = dec,
  year    = 2019,
  doi     = {10.5281/zenodo.3577548},
  version = {0.0.0},
  publisher = {Zenodo},
  url = {https://doi.org/10.5281/zenodo.3577548}
  }

About

Tool to simulate projections from 3D shapes, e.i., meshes, in arbitrary geometries.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages