Skip to content

Releases: TomographicImaging/CIL

Version 24.1.0

16 Jul 14:59
3a164f1
Compare
Choose a tag to compare

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

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

25 Apr 09:17
ae94a9c
Compare
Choose a tag to compare

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:

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

02 Oct 08:17
fb95d17
Compare
Choose a tag to compare

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

31 Mar 15:23
bc5608d
Compare
Choose a tag to compare

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

17 Mar 13:56
e37dd95
Compare
Choose a tag to compare

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

22 Feb 13:25
096401c
Compare
Choose a tag to compare

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 to AcquisitionData to partition the data with 3 methods: sequential, staggered and random_permutation
  • Added convenience centre of rotation methods to AcquisitionGeometry class.
    • get_centre_of_rotation() calculates the centre of rotation of the system
    • set_centre_of_rotation() sets the system centre of rotation with an offset and angle
    • set_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 support BlockGeometry as acquisition_geometry parameter, returning a BlockOperator

Functions

  • Extended IndicatorBox to behave as IndicatorBoxPixelwise by passing masks in lower and upper bounds

Version 22.1.0

23 Jan 08:18
Compare
Choose a tag to compare

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

01 Aug 15:12
b70febf
Compare
Choose a tag to compare

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 parameter backend
  • Added ISTA algorithm. Improve inheritance of proximal gradient algorithms
  • Updated interface to plugins.tigre/plugins.astra FBP and ProjectionOperator classes
  • Update NikonDataReader to parse and set up geometry with: ObjectTilt CentreOfRotationTop and CentreOfRotationBottom
  • Cleaned up unit test structure and output
  • Removal of deprecated code:
    • AcquisitionGeometry __init__ no longer returns a configured geometry, use factory create methods instead
    • subset method removed, use get_slice or reorder methods
    • NikonDataReader normalize kwarg removed, use normalise
    • Algorithms initialisation x_init kwarg removed, use initial
    • Removed deprecated numpy calls
  • 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

08 Jun 06:59
3edaafa
Compare
Choose a tag to compare

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

Version 21.4.0

28 Apr 15:40
f42d88d
Compare
Choose a tag to compare

Install using files from https://anaconda.org/ccpi/cil/files?version=21.4.0

Main changes for 21.4.0:

  • PEP 440 compliant version
  • CMake fix due to use of pip install.
  • Recon.FBP allows 'astra' backend
  • Fixed PowerMethod for square/non-square, complex/float matrices with stopping criterion.
  • CofR image_sharpness improved for large datasets
  • Geometry alignmentment fix for 2D datasets
  • CGLS update for sapyb to enable complex data, bugfix in use of initial
  • added sapyb and deprecated axpby. All algorithm updated to use sapyb.
  • Allow use of square brackets in file paths to TIFF and Nikon datasets