Skip to content
/ LEAP Public

comprehensive library of 3D transmission Computed Tomography (CT) algorithms with Python and C++ APIs, a PyQt GUI, and fully integrated with PyTorch

License

Notifications You must be signed in to change notification settings

LLNL/LEAP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0c8846f · Dec 14, 2024
Dec 19, 2023
Nov 24, 2024
Jul 2, 2024
Nov 9, 2024
Sep 15, 2024
Jul 2, 2024
Sep 15, 2024
Dec 14, 2024
Nov 18, 2024
Nov 24, 2024
May 8, 2024
Feb 21, 2024
Feb 4, 2024
May 28, 2024
Oct 13, 2024
Feb 4, 2024
Sep 15, 2024
Jun 29, 2023
Jun 29, 2023
Oct 13, 2024
Jun 4, 2024
Sep 17, 2024
Apr 13, 2024
Dec 14, 2024
Dec 14, 2024
Dec 14, 2024
Jul 27, 2024

Repository files navigation

LivermorE AI Projector for Computed Tomography (LEAP)

This is a C++/CUDA library (Linux, Windows, and Mac*) of 3D tomographic algorithms (pre-processing algorithms, projectors, and analytic (FBP) and iterative reconstruction algorithms) with a Python interface. The projectors (forward and back projection) are implemented for both multi-GPU and multi-core CPU and we provide bindings to PyTorch to achieve differentiable forward and backward projectors for AI/ML-driven Computed Tomography (CT) applications.

There are a lot of CT reconstruction packages out there, so why choose LEAP? In short, LEAP has more accurate projectors and FBP algorithms, more features, and most algorithms run as fast or faster than other popular CT reconstruction packages, but here is a more detailed list.

The LEAP PyQt GUI can be found here.

Physics-based modeling and correction algorithms (e.g., scatter correction, beam hardening correction (BHC), dual energy decomposition, and SIRZ) can be applied when used with the XrayPhysics package.

*Mac version does not have GPU support and some featurings are missing.

Installation and Usage

Documentation is available here

Installation and usage information is posted on the wiki page

Demo scripts for most functionality in the demo_leapctype directory

Demo scripts for AI/ML/DL applications in the demo_leaptorch directory

Example Results

As a simple demonstration of the accuracy of our projectors we show below the results of FDK reconstructions using ASTRA and LEAP of the walnut CT data. The LEAP reconstruction has 1.7 times higher SNR than ASTRA. An explanation for this improvement in SNR can be found here.

Future Releases

For the next releases, we are working on the following:

  1. Fixes of bugs reported by our users
  2. AMD GPU Support
  3. multi-material beam hardening correction algorithms for more than two materials and that account for variable takeoff angle and graded collimator/ bowtie filter
  4. triple energy decomposition
  5. spectral calibration

If you are interested in requesting a new feature in LEAP, please make a post in the Feature Request discussion.

Authors

Kyle Champley (champley@gmail.com)

Hyojin Kim (hkim@llnl.gov)

License

LEAP is distributed under the terms of the MIT license. All new contributions must be made under this license. See LICENSE in this directory for the terms of the license. See LICENSE for more details.
SPDX-License-Identifier: MIT
LLNL-CODE-848657

Please cite our work by referencing this github page and citing our article:

Hyojin Kim and Kyle Champley, "Differentiable Forward Projector for X-ray Computed Tomography”, ICML, 2023

If you use RDLS, azimuthalFilter, or histogramSparsity, please cite the following paper:

Champley, Kyle M., Michael B. Zellner, Joseph W. Tringe, and Harry E. Martz Jr. "Methods for Few-View CT Image Reconstruction." arXiv preprint arXiv:2410.07552 (2024).