Releases: LLNL/LEAP
Releases · LLNL/LEAP
v1.26
Version 1.26 release notes
- Can now apply BH and BHC to 2D arrays, e.g., for analyzing radiographs
- Fix some geometry bugs.
- Many improvements to parameter_sweep and automatic determination of centerCol, tau, and detector tilt
- Bug fixes and feature improvements to ball phantom calibration
- Bug fixes to scatter correction, up_sample, and down_sample functions
- Enabled iterative guided filtering
- Speed improvements to 2D TV functions
- Bug fixes for reading tif stacks
- Bug fixes in some preprocessing algorithms
v1.25
Version 1.25 release notes
- Bug fixes and added features to find_centerCol
- Added find_tau algorithm
- Added voxelize function
- Added tiltAngle parameter to cone-beam geometry
v1.24
Version 1.24 release notes
This release contains some major low-level modifications.
- Major rewrites to forward and backprojectors and FBP algorithms so that these algorithms use less GPU memory.
- Accuracy improvements to modular-beam projectors and backprojectors.
- Speed improvements to some backprojectors.
- Added documentation, including more formulas that describe algorithms.
- Enabled offset scan reconstruction for modular-beam geometries.
- Bug fixes.
- Added Python functions where one can perform the pre and post ramp filter weighting FBP steps.
- Added script that performs unit tests.
- Fixed some errors in some demo scripts.
v1.23
Version 1.23 release notes
- Speed and image quality improvements to ringRemoval_fast.
- Speed and image quality improvements to ringRemoval.
- Improvements to ball_phantom_calibration.
- All denoising algorithms can now be applied to 2D arrays (before only 3D arrays were accepted).
- Added allocate_projections and allocate_volume functions to C++ API to assist those who use this API.
- Intermediate calculations of GPU-based ray tracing routines through geometric solids (e.g., the rayTrace command) now use doubles which resolves errors witnessed for some cases.
- Added new API calls to assist in GUI development.
v1.22
Version 1.22 release notes
- Added ball phantom calibration algorithm to leap_preprocessing_algorithms.py and added script d36_ball_phantom_calibration.py that provides a demo of this new function.
- Added detector shifts to parameter_sweep function to accommodate modular-beam geometries.
- Added torch tensor contiguous check to the verify_inputs function.
- Added C++ based tiff readers and writers that are faster than Python functions in the case where one needs to read only a subset of each tiff file in a sequence. This is useful when processing large files in smaller chunks. These tiff writers also store the slope and offset values in the header of the file when the data is saved as uint8 or uint16. The tiff readers also read in these slope and offset values (for when the data is saved as uint8 or uint16), so they can be retrieved later and the correct image scaling achieved.
- Minor bug fixes.
v1.21
v1.20
Version 1.20 release notes
- Speed improvements (about 2X faster) to TV functions.
- Added FBP_slice function which reconstruct a single slice.
- Added gain_correction preprocessing algorithm.
- Added transmission_shift preprocessing algorithm.
- Bug fix to default number of z-slice in helical CT.
- Other minor bug fixes.
v1.19
Version 1.19 release notes
- 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.
- Added the ability to save tiff stacks as uint8 or uint16 files which save on disk space. See the set_fileIO_parameters function description.
- Added HighPassFilter2D function.
- Added TV_denoise function which is similar to the Diffuse function, but incorporates an L2 loss term between the denoised and original input.
- Bug fix to convert_to_modularbeam when tau is not equal to zero.
- Minor speed improvements to some preprocessing algorithms.
v1.18
Version 1.18 release notes
- Bug fixes to rebin_parallel.
- Added GPU-based ray-tracing through geometric solids (used to simulate data) which significantly improves the computational performance.
- Added badPixelCorrection function which is similar to outlierCorrection, except the user provides a binary map specifying which pixels they want corrected.
- 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.
- 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.
- Modified volume masking feature, so that the input volume is NOT altered during a forward projection operation.
- Fixed bug in histogram sparsity regularization
v1.17
Version 1.17 release notes
- 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.
- Added rebin_parallel which rebins fan-beam to parallel-beam and cone-beam to cone-parallel.
- Fixed helical FBP scaling issue for curved detectors.
- Added set_FBPlowpass function which enables arbitrary smoothing of the ramp filter.
- Fixed bugs in preprocessing demo script.
- Added low signal correction preprocessing algorithm.
- Fixed bug related to forward projecting "small" voxels in parallel-beam coordinates.