CIL
CIL copied to clipboard
A versatile python framework for tomographic imaging
At the moment, there are two implementations of the gradient of the KullbackLeibler **Numba:** https://github.com/TomographicImaging/CIL/blob/701c4999c53e77c6ae3b587b1776f74accff2335/Wrappers/Python/cil/optimisation/functions/KullbackLeibler.py#L123-L130 and **Numpy** https://github.com/TomographicImaging/CIL/blob/701c4999c53e77c6ae3b587b1776f74accff2335/Wrappers/Python/cil/optimisation/functions/KullbackLeibler.py#L344-L353 The numpy implementation above is not correct, see #1269 and will be...
## Description This would be helpful as it allows you to adjust the windowing and ROI Currently if you run islicer with 2D data (i.e. a single reconstructed slice) you...
framework.py has 4.2k lines; it'll be much easier to refactor the class structure and improve documentation if it's split up into smaller parts.
## Description In SIRT the objective calculation is here: https://github.com/TomographicImaging/CIL/blob/9ba92fea1c0e1f17b3d46a5952185794a604d042/Wrappers/Python/cil/optimisation/algorithms/SIRT.py#L203-L209 But $r\neq Ax-b$ because it is modified by the preconditioner: https://github.com/TomographicImaging/CIL/blob/9ba92fea1c0e1f17b3d46a5952185794a604d042/Wrappers/Python/cil/optimisation/algorithms/SIRT.py#L193 Instead, we should have ```python def update_objective(self): r"""Returns the...
## Description Run the tomography reconstruction binder demo [TomographyReconstruction](https://github.com/TomographicImaging/CIL-Demos/blob/main/binder/TomographyReconstruction.ipynb) - using the `SIMPLE_PHANTOM_2D` dataset **not Tomophantom** - on jupyterlab with **cpu** ProjectionOperator ## Environment ```bash 23.1.0 g5e4938b5 3.9.19 (main, Mar...
Follow-up to #1633 - [x] https://github.com/stfc/cloud-docker-images/pull/29 - [ ] smaller CPU-only images - [ ] arm64 (macOS M1/M2) images - [x] run tests inside images #1661 - [x] use `scripts/*.sh`...
## Describe your changes `DataOrder` densely coupled to other entities in `framework.py` (in particular `DataContainer` which we seek to isolate in the grander scheme of this hackathon's refactoring). To alleviate...
## Description Updates the docstrings of SPDHG to render correctly ## Example Usage :heart: *Thanks for your contribution!* ## Changes ## Testing you performed > Please add any demo scripts...
The documentation does not render notes correctly:  Also `set_up` is not rendered correctly 
Because the `KullbackLeibler` class uses the factory method `__new__`, upon instantiation it returns an instance of another class. Then sphinx will not show the [appropriate documentation](https://tomographicimaging.github.io/CIL/nightly/optimisation.html#kullbackleibler). https://github.com/TomographicImaging/CIL/blob/d198bef918a44f88870899dcb90bfd1c0c235040/Wrappers/Python/cil/optimisation/functions/KullbackLeibler.py#L91-L105 In `GradientOperator` we...