Core Imaging Library

Core Imaging Library (CIL) is an open-source Python framework for tomographic imaging with particular emphasis on reconstruction of challenging datasets. It provides state-of-the-art iterative algorithms and regularisers for tomographic inverse problems, and can use projectors from the ASTRA-Toolbox and TIGRE.

Publications and examples

  1. Jørgensen JS et al. 2021 Core Imaging Library Part I: a versatile python framework for tomographic imaging. Phil. Trans. R. Soc. A 20200192.
    Code at https://github.com/TomographicImaging/Paper-2021-RSTA-CIL-Part-I
  2. Papoutsellis E et al. 2021 Core Imaging Library - Part II: multichannel reconstruction for dynamic and spectral
    tomography
    . Phil. Trans. R. Soc. A 20200193.
    Code at https://github.com/TomographicImaging/Paper-2021-RSTA-CIL-Part-II

Jupyter Notebooks usage examples without any local installation are provided in Binder. Please click the launch binder icon below. For more information, go to CIL-Demos and https://mybinder.org.

Installing CIL

CIL source code is available on GitHub and binary distribution is with anaconda packages.

Anaconda package

Once you have miniconda installed on your system, you can install CIL in a new environment with one simple line.

conda create --name cil -c conda-forge -c ccpi cil

CIL can be enhanced by using plugins: currently only the ASTRA-toolbox and CCPi-Regularisation-Toolkit are available.

If you want to install these plugins you can use the following commands. ASTRA toolbox will use the GPU accelerator on your system and it is currently limited to a linux platform. Conda sometimes fails to find an appropriate version of CUDA for your runtime. You should help conda find its way by passing the version of your runtime, below x.y:

conda install ccpi-regulariser -c conda-forge -c ccpi
conda install cil-astra -c conda-forge -c ccpi -c astra-toolbox/label/dev cudatoolkit=x.y


Manual build and install

Should you wish to install it manually, CIL comes as a CMake project. Please refer to the GitHub repository for more information.

About CIL

CIL (Core Imaging Library) aims to combine the best of the two worlds, the emergence of new standard and challenging tomography problems with novel optimisation software, all within a single easy-to-use, highly modular and configurable Python library.

Users can apply common reconstruction methods, or prototype their own, to now deal with noisy, incomplete, non-standard and multi-channel tomographic data sets. This provides alternative solutions when conventional FBP (Filtered Backprojection) type methods and proprietary software fail to produce satisfactory results. Particular emphasis is on enabling a variety of regularised reconstruction methods within a “plug and play” structure in which different data fidelities, regularisers, constraints and algorithms can be easily selected and combined. In addition to reconstruction, CIL supplies tools for loading, preprocessing, visualising and exporting data for subsequent analysis and visual exploration.

CIL is open-source software released under the Apache v2.0 license, while individual plugins may have a different license, for example ccpi.plugins.astra is GPLv3.

Documentation and examples

Please refer to the following 2 papers:

  1. Jørgensen JS et al. 2021 Core Imaging Library Part I: a versatile python framework for tomographic imaging. Phil. Trans. R. Soc. A 20200192. Code at https://github.com/TomographicImaging/Paper-2021-RSTA-CIL-Part-I
  2. Papoutsellis E et al. 2021 Core Imaging Library - Part II: multichannel reconstruction for dynamic and spectral
    tomography
    . Phil. Trans. R. Soc. A 20200193. Code at https://github.com/TomographicImaging/Paper-2021-RSTA-CIL-Part-II

CIL comes with documentation and a number of example codes to help the user get started and contribute.

Jupyter Notebooks usage examples without any local installation are provided in Binder. Please click the launch binder icon below. For more information, go to CIL-Demos and https://mybinder.org.

Join the developer's list, for support and to be kept informed of future software development.

To refence your use of this software please refer to www.ccpi.ac.uk/cil webpage in your publications