Releases: TomographicImaging/CIL
v24.2.0
v24.2.0
https://anaconda.org/ccpi/cil and https://tomography.stfc.ac.uk/conda
Dependencies
This version supports:
Python 3.10 - 3.12
Numpy 1.23 - 1.26
With the optional CIL plugins versions:
TIGRE v2.6
ASTRA-TOOLBOX v2.1.0
CCPI-Regularisation-Toolkit v24.0.1
Contributors
Thank you to all our CIL contributors
Especially
- @RasmiaKulan for their first contribution to CIL as part of a successful graduate project rotation
- @epapoutsellis and @KrisThielemans for their contributions to the stochastic framework included in #1624 and #1625 and to @gschramm, @BillyTang, @Imraj-Singh @zeljkozeljko (and many more) for all their discussions on this ongoing project
- @epapoutsellis for contributing the new algorithm PD3O in #1834
- @manchester-jhellier and @RedProkofiev for their help refactoring CIL framework classes #1692.
And the rest of the CIL developers:
@DanicaSTFC, @MargaretDuff, @casperdcl , @gfardell, @hrobarts, @jakobsj, @lauramurgatroyd, @paskino, @effepivi
What's Changed
Changelog: https://github.com/TomographicImaging/CIL/blob/v24.2.0/CHANGELOG.md
Code comparison: v24.1.0...v24.2.0
Version 24.1.0
v24.1.0
Install the tested binaries from https://anaconda.org/ccpi/cil/files?version=24.1.0
Dependencies
This version supports:
Python 3.10 - 3.12
Numpy 1.23 - 1.26
With the optional CIL plugins versions:
TIGRE v2.6
ASTRA-TOOLBOX v2.1.0
CCPI-Regularisation-Toolkit v24.0.1
Contributors
Thank you to all our CIL contributors
Especially
- @tommheik for his first contribution to CIL in #1615 adding
WaveletOperator
andWavletNorm
- @epapoutsellis and @KrisThielemans for their contributions to the stochastic framework included in #1768
And the rest of the CIL developers:
@DanicaSTFC, @MargaretDuff, @casperdcl , @gfardell, @hrobarts, @jakobsj, @lauramurgatroyd, @paskino
What's Changed
Changelog: https://github.com/TomographicImaging/CIL/blob/v24.1.0/CHANGELOG.md
Code comparison: v24.0.0...v24.1.0
Version 24.0.0
v24.0.0
Install the tested binaries from https://anaconda.org/ccpi/cil/files?version=24.0.0
Dependencies
This version supports:
- Python 3.10 - 3.12
- Numpy 1.23 - 1.26
With the optional CIL plugins updated to:
Contributors
Thank you to all our CIL contributors
Especially:
-
@ashgillman @epapoutsellis @evgueni-ovtchinnikov @gschramm @KrisThielemans @zeljkozeljko for their contribution in
ApproximateGradientSumFunction class and example SGFunction for Stochastic Gradient Descent -
@hrobarts made their first contribution in Data container reductions
-
And the @TomographicImaging/cil-developers including: @casperdcl, @DanicaSTFC, @gfardell, @hrobarts, @lauramurgatroyd, @MargaretDuff, @paskino
What's Changed
Changelog: https://github.com/TomographicImaging/CIL/blob/v24.0.0/CHANGELOG.md
Code comparison: v23.1.0...v24.0.0
Version 23.1.0
Install using files from https://anaconda.org/ccpi/cil/files?version=23.1.0
v23.1.0
The full changelog can be found here.
This version extends the TotalVariation class to store its state via a warm_start
flag and changes the default behaviour to use this.
This means that calls to TotalVariation::proximal()
are initiated by the final value from the previous iteration which allows the max_iteration
value to be reduced significantly. When used within an algorithm such as PDHG the total memory use will increase by the number of dimensions times the image size, however the TotalVariation
step will need only 5-10 iterations, significantly decreasing overall compute time until convergence. The previous behaviour can be recreated by setting warm_start=False
.
Version 23.0.1
Install using files from https://anaconda.org/ccpi/cil/files?version=23.0.1
v23.0.1
Fix bug with NikonReader requiring ROI to be set in constructor.
Version 23.0.0
Install using files from https://anaconda.org/ccpi/cil/files?version=23.0.0
v23.0.0
This is mostly a release cleaning up deprecated code and improving documentation of readers.
- Partitioner is now able to create batches even if angle is not the outer dimension
- Renamed max_iteration_stop_cryterion method in the Algorithm class to max_iteration_stop_criterion
- Removed (previously deprecated) very_verbose parameter in Algorithm's run method.
- Removed (previously deprecated) axpby method in DataContainer.
- Deprecate use of integer compression in NEXUSDataWriter.
- Improved and tidied up documentation for all readers and writers, including hiding special members.
- Use arguments instead of kwargs in all readers and writers with multiple kwargs, making documentation easier.
- Update Apache2 License Headers.
Version 22.2.0
Install using files from https://anaconda.org/ccpi/cil/files?version=22.2.0
v22.2.0 main changes
see CHANGELOG.md for full release notes
Recon class FBP/FDK
- Added pre-set filters: ram-lak, hamming, hann, cosine, shepp-logan.
IO
- Added RAWFileWriter to export data containers to raw files
- Add compression to 8bit and 16bit to TIFFWriter
Visualisation
- iSlicer enhanced with ROI selection, and play widget
- Added show1D display utility for line profiles
AcquisitionGeometry class methods
- Added
partition
toAcquisitionData
to partition the data with 3 methods:sequential
,staggered
andrandom_permutation
- Added convenience centre of rotation methods to
AcquisitionGeometry
class.get_centre_of_rotation()
calculates the centre of rotation of the systemset_centre_of_rotation()
sets the system centre of rotation with an offset and angleset_centre_of_rotation_by_slice()
sets the system centre of rotation with offsets from two slices
- Added
ImageData.apply_circular_mask
method to mask out detector edge artefacts on reconstructed volumes
Processors
- Binner processor speed increase available via a C++ backend
- Binner, Slicer, Padder correctly return offset panels with asymmetric inputs
Operators
- TIGRE and ASTRA
ProjectionOperator
now supportBlockGeometry
asacquisition_geometry
parameter, returning aBlockOperator
Functions
- Extended
IndicatorBox
to behave asIndicatorBoxPixelwise
by passing masks in lower and upper bounds
Version 22.1.0
Main changes:
- use assert_allclose in test_DataContainer
- added multiple colormaps to show2D
- Fix segfault in GradientOperator due to parameter overflows on windows systems
- Fix angle display precision and matplotlib warning for sinograms with show2D
Version 22.0.0
Install using files from https://anaconda.org/ccpi/cil/files?version=22.0.0&channel=main
This is a major release and there may be some backward incompatibilities. See the full list of changes for details.
Significantly the CIL-ASTRA repository and package has now been deprecated. All relevant code has been relicensed and absorbed in to the CIL package. There is no change in functionality.
V22.0.0 change log:
- Strongly convex functionality in TotalVariation and FGP_TV Functions
- Refactored KullbackLeibler function class. Fix bug on gradient method for SIRF objects
- Numba added as a CIL requirement
- Simplify initialisation of
CentreOfRotation.ImageSharpness
with new parameterbackend
- Added ISTA algorithm. Improve inheritance of proximal gradient algorithms
- Updated interface to
plugins.tigre
/plugins.astra
FBP
andProjectionOperator
classes - Update NikonDataReader to parse and set up geometry with:
ObjectTilt
CentreOfRotationTop
andCentreOfRotationBottom
- Cleaned up unit test structure and output
- Removal of deprecated code:
- AcquisitionGeometry
__init__
no longer returns a configured geometry, use factorycreate
methods instead subset
method removed, useget_slice
orreorder
methods- NikonDataReader
normalize
kwarg removed, usenormalise
- Algorithms initialisation
x_init
kwarg removed, useinitial
- Removed deprecated numpy calls
- AcquisitionGeometry
- DataProcessors use weak-reference to input data
- Merged CIL-ASTRA code in to CIL repository simplifying test, build and install procedures
- Modules not moved should be considered deprecated
- CIL remains licensed as APACHE-2.0
- Minor bug fixes to the CPU 2D Parallel-beam FBP
- Add ndim property for DataContainer class
- Fixes show_geometry compatibility issue with matplotlib 3.5
- Added ZEISSDataReader with cone/parallel beam, slicing, TXM Functionality
- Raise exception if filename or data haven't been set in NexusDataWriter
- Fixes error when update_objective_interval is set to 0 in an algorithm run
- Deprecated:
- TXRMDataReader is deprecated in favour of ZEISSDataReader
- GitHub Actions:
- Update to version 0.1.1 of lauramurgatroyd/build-sphinx-action for building the documentation - ensures docs are always built from cil master
Version 21.4.1
Install using files from https://anaconda.org/ccpi/cil/files?version=21.4.1&channel=main
Minor release
- Removed prints from unittests and cleanup of unittest code.
- CMake: install script re-allows selection of non default install directory (#1246)
- TIFF writer uses logging
- Added unittests for TIFF functionality