Skip to content

Releases: LLNL/LEAP

v1.21

04 Sep 03:08
Compare
Choose a tag to compare

Version 1.21 release notes

Added features to enable the development of a GUI for LEAP!

v1.20

18 Aug 14:49
Compare
Choose a tag to compare

Version 1.20 release notes

  1. Speed improvements (about 2X faster) to TV functions.
  2. Added FBP_slice function which reconstruct a single slice.
  3. Added gain_correction preprocessing algorithm.
  4. Added transmission_shift preprocessing algorithm.
  5. Bug fix to default number of z-slice in helical CT.
  6. Other minor bug fixes.

v1.19

10 Aug 16:24
666141a
Compare
Choose a tag to compare

Version 1.19 release notes

  1. Added the capability to perform Voxel-Driven (VD) backprojection to all geometries which are less accurate than the (modified) Seprable-Footprint (SF) projectors, but in some cases are up to twice as fast. I added a discuss of the resolution and noise tradeoffs between the two methods here. To switch between VD and SF projectors use the set_projector function.
  2. Added the ability to save tiff stacks as uint8 or uint16 files which save on disk space. See the set_fileIO_parameters function description.
  3. Added HighPassFilter2D function.
  4. Added TV_denoise function which is similar to the Diffuse function, but incorporates an L2 loss term between the denoised and original input.
  5. Bug fix to convert_to_modularbeam when tau is not equal to zero.
  6. Minor speed improvements to some preprocessing algorithms.

v1.18

03 Aug 14:47
Compare
Choose a tag to compare

Version 1.18 release notes

  1. Bug fixes to rebin_parallel.
  2. Added GPU-based ray-tracing through geometric solids (used to simulate data) which significantly improves the computational performance.
  3. Added badPixelCorrection function which is similar to outlierCorrection, except the user provides a binary map specifying which pixels they want corrected.
  4. Added estimateTilt function which estimates the detector rotation angle around the optical axis. Updated d12_geometric_calibration.py to show how this function is used.
  5. Added conjugate_difference function which provides a method to estimate detector tilt and horizontal detector shifts. Updated d12_geometric_calibration.py to show how this function is used.
  6. Modified volume masking feature, so that the input volume is NOT altered during a forward projection operation.
  7. Fixed bug in histogram sparsity regularization

v1.17

25 Jul 14:11
Compare
Choose a tag to compare

Version 1.17 release notes

  1. Added projectors for a new geometry: cone-parallel. Cone-parallel coordinates are the standard for medical CT and are obtained by rebinning cone-beam data, so that each fan-beam is rebinned to parallel-beam. Note that the rays still diverge in the z-dimension and thus the name: cone-parallel. Cone-parallel is now fully supporting in LEAP, e.g., forward and back projection, FBP, helical, analytic ray tracing, iterative reconstruction, etc.
  2. Added rebin_parallel which rebins fan-beam to parallel-beam and cone-beam to cone-parallel.
  3. Fixed helical FBP scaling issue for curved detectors.
  4. Added set_FBPlowpass function which enables arbitrary smoothing of the ramp filter.
  5. Fixed bugs in preprocessing demo script.
  6. Added low signal correction preprocessing algorithm.
  7. Fixed bug related to forward projecting "small" voxels in parallel-beam coordinates.

v1.16

02 Jul 15:18
Compare
Choose a tag to compare

Version 1.16 release notes

  1. Improved the LEAP build scripts which relaxes constraints and should make it easier to compile. In the past I have said that Visual Studio 2022 was incompatible with CUDA but this may have changed and now LEAP may be able to be compiled with VS 2022. If one of our users could verify this for us, we'd really appreciate it! VS 2022 should be ready to be tested with the pip install and if you'd like to build it with cmake, use etc\win_build_vs_2022.bat.
  2. Added FBP_adjoint function which computes the adjoint operation of FBP.
  3. Made modifications to leaptorch.py to enable the FBP operator to be differentiable. See demo_leaptorch/test_recon_projections_NN.py for an example.
  4. Bug fix to cone-beam forward projector when projecting "small" voxels.
  5. Improved accuracy of scaling of helical FBP.
  6. Improved documentation.

v1.15

20 Jun 15:53
Compare
Choose a tag to compare

Version 1.15 release notes

  1. Added the capability to specify a user-specified mask on the reconstruction which can improve performance of iterative reconstruction algorithms. See demo script: d35_volume_masking.py
  2. Fixed minor bug in cone-beam sensitivity calculation
  3. Added space carving algorithm which provides a robust method to estimate the foreground of a reconstruction directly from the projection data which is used in the new demo script: d35_volume_masking.py
  4. Added error checking to all iterative reconstruction algorithms to make sure the provided projection and volume data are compatible with LEAP
  5. Enabled inconsistency reconstruction for helical
  6. Improvements to preprocessing algorithms including default arguments, documentation, and error checking
  7. Added function sliceRangeNeededForProjection which enables performing forward projection in chunks for situations where you don't have enough CPU memory
  8. Added demo script d34_iterative_reconstruction_long_object.py which shows you how to perform an iterative reconstruction where the object extends past the top and/or bottom of the detector. This script utilizes the so-called Ziegler method.
  9. Bug fix to medianFilter2D and BlurFilter2D for the case where you the algorithm had to perform in smaller chunks to fit into GPU memory.
  10. Improvements to documentation

v1.14

09 Jun 13:55
Compare
Choose a tag to compare

Version 1.14 release notes

  1. Fixed bugs in helical FBP that were causing some low frequency artifacts.
  2. Added mean and variance filters
  3. Fixed type in d12_geometricCalibration.py script
  4. Fixed bug in subsets partition that was causing the last subset to be missing a projection
  5. Added to documentation

v1.13

04 Jun 01:04
Compare
Choose a tag to compare

Version 1.13 release notes

  1. Fixed bug in axially-aligned modular-beam forward projector which was causing incorrect values when the detector had a significantly large rotation around the optical axis
  2. Improvements to parameter_sweep algorithm
  3. Added "consistency_cost" function to help with geometric calibration
  4. Added more examples to demo script: d12_geometric_calibration.py including examples of using items 2 and 3, above
  5. Added more features to logging utility to control the amount of screen output from none, to detailed debugging logs
  6. Added a new demo struct, d33_reducingConeBeamArtifacts.py
  7. Relaxed required cmake minimum version and made some changes to the build process
  8. Fixed bug in makeAttenuationRadiographs
  9. Added to documentation

v1.12

25 May 20:53
Compare
Choose a tag to compare

Version 1.12 release notes

  1. Bug fixes to FBP reconstruction, where occasionally ramp filter step was being skipped
  2. Added logging utility to control the amount of screen output from none, to detailed debugging logs
  3. Fixed bug in voxelizing phantom, where rotated objects were being clipped
  4. Added error catching to all CUDA operations
  5. Fixed bug where GPU was running out of memory because I forgot to reserve room for the texture memory
  6. Fixed bug where Parker weights were being applied even though angular converage was less than 180 degrees
  7. Added Lambda/Local Tomography (leapct.LT) reconstruction algorithm
  8. Fix bug in leapct.rotate_detector() function
  9. The leapct.rotate_detector() can now either take an angle (like before) or a 3D rotation matrix
  10. Improvements to the LEAP readthedocs webpage