computed-axial-lithography / CAL-software-Matlab

Software to support volumetric additive manufacturing by tomographic reconstruction (education, research and not-for-profit use)
GNU General Public License v3.0
59 stars 14 forks source link

Astra toolbox integration #9

Closed jttoombs closed 2 years ago

jttoombs commented 3 years ago

Matlab's radon and iradon are slow for large 3D geometries and are limited to parallel rays and only tomographic projections geometries.

Astra Toolbox has CUDA-accelerated projectors for many different projection geometries (tomosynthesis, cone, helical, etc) and has a Matlab API. This pull request integrates the Astra projectors with the existing toolbox for flexible geometries.

Included in this pull request are tomosynthesis and cone beam projectors which are used when the user specifies.

Parallel 3D CUDA:

proj_params.CUDA = 1;

Parallel 3D CUDA inclined/tomosynthesis:

proj_params.CUDA = 1;  
proj_params.inclination_angle = x; % in degrees

Cone beam 3D CUDA:

proj_params.CUDA =1;  
proj_params.cone_angle = x; % in degrees

Cone beam 3D CUDA inclined tomosynthesis:

proj_params.CUDA =1;  
proj_params.inclination_angle = x; % in degrees  
proj_params.cone_angle = x; % in degrees