Supplementary Material: Use of fast realistic simulations on GPU to extract CAD models from microtomographic data in the presence of strong CT artefacts

Published: 9 November 2021| Version 1 | DOI: 10.17632/r8b5mcrj6j.1
Contributors:
,
,

Description

Supporting material for our paper published by Elsevier in Precision Engineering, see https://doi.org/10.1016/j.precisioneng.2021.10.014 for the paper To run our code, you must install: 1. Python 2. A C++ compiler with CMake 3. gVirtualXRay (code provided) Python dependencies: 1. numpy 2. pandas 3. imageio 4. scikit-image 5. sklearn 6. scipy 7. SimpleITK 8. OpenCV 9. cma 10. tifffile import 11. tigre/tomopy (optional) Contents 1. code: - gVirtualXRay-1.1.5-Source.zip: Source code of gVirtualXRay - tutorial.py: the Python code of the registration pipeline in 2D - lsf.py: Detector response - utils.py: needed by pseudo3d.py - pseudo3d.py: Pseudo 3D registration 2. data: contains the input sinograms - proj-33keV.tif: projections after flatfield correction. Projections are of 1024 pixels. Pixel spacing: 1.9um. 900 angles over 180 degrees. Primary energy : 33 keV. Source-object distance: 145m. Object-detector distance: 80mm. - proj-0000-80keV.tif: projections of the first slice after flatfield correction. Projections are of 2702 pixels. Pixel spacing: 1.22um. 1750 angles over 360 degrees. Primary energy: 80 keV. Source-object distance: 92m. Object-detector distance: 270mm. - proj-1023-80keV.tif: projections of the last slice after flatfield correction. 3. Jupyter_Notebooks: contains our tutorial and some videos - From_CT_acquisition_to_CAD_models.ipynb: Jupyter Notebook in Python - From_CT_acquisition_to_CAD_models.pdf: Jupyter Notebook as a PDF file - cube_registration.mp4: successive best results during the optimisation of the matrix properties - fibre1_registration.mp4: successive best results during the optimisation of the fibre and core radii (before recentring) - fibre3_registration.mp4: successive best results during the optimisation of the fibre and core radii (after recentring) - spectrum_registration.mp4: successive best results during the optimisation of the beam spectrum - laplacian1_registration.mp4: successive best results during the optimisation of the phase contrast and of the fibre and core radii - laplacian2_registration.mp4: successive best results during the optimisation of the phase contrast and the response of the detector 4. results: registered images - output33keV: 2D registration - output80keV: pseudo-3D registration 5. user_study: - online-form.pdf: the online form - responses.csv: answers from volunteers 6. visualisations: contains our interactive parallel coordinate plots and a video showing how to use them - how_to_use_visualisations.mp4: video showing how we used it to analyse the data - parallel_coordinates_all_data.html: interactive parallel coordinate plots of the fibre and core raii, and the linear attenuation coefficients of the cores, fibres and matrix - parallel_coordinates-ZNCC.htmll: interactive parallel coordinate plots of the successive ZNCC values during a registration

Files

Steps to reproduce

1. Install a C++ compiler 2. Install CMake 3. Install Python 3 and LibPython 4. Compile gVirtualXRay and install the Python wrapper 5. Install Python dependencies The 2D registration: Run the Jupyter notebook (From_CT_acquisition_to_CAD_models.ipynb) or run the Python script as follows: $ mkdir output33keV $ python3 code/registration2d.py --input data/proj-33keV.tif --output output33keV --metrics RMSE --normalisation --sinogram > output33keV/run.out 2> output33keV/run.err The pseudo-3D registration: $ mkdir output80keV $ python3 ./registration3d.py --input_sinogram_dir data/ --input_recons_dir output80keV/ref_recons3d --output_sinogram_dir output80keV/test_sinogram --output_recons_dir output80keV/test_recons3d --output_params_dir output80keV/params --increment 1023 --metrics RMSE --normalisation --sinogram > output80keV/run.out 2> output80keV/run.err

Institutions

Bangor University, Centre de Recherche en Acquisition et Traitement de l'Image pour la Sante

Categories

Computer-Aided Design, Derivative-Free Optimization, Computed Tomography, X-Ray Imaging, Computer Simulation

Licence