From 9f6d4a8ccd90de4f497cb3e459dd67f070fe5618 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Tue, 8 Jul 2025 12:17:13 +0100 Subject: [PATCH 01/14] added Table of dependencies versions Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 75e80d2e23..034a505294 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,21 @@ CIL's [optimised FDK/FBP](https://github.com/TomographicImaging/CIL/discussions/ 1. the Intel [Integrated Performance Primitives](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) Library ([license](https://www.intel.com/content/dam/develop/external/us/en/documents/pdf/intel-simplified-software-license-version-august-2021.pdf)) which can be installed via conda from the `https://software.repos.intel.com/python/conda` channel. 2. [TIGRE](https://github.com/CERN/TIGRE), which can be installed via conda from the `ccpi` channel. +#### Binary packages and dependencies + +While building the CIL package we test with specific versions of dependencies. These are listed in the [build.yml](https://github.com/TomographicImaging/CIL/blob/master/.github/workflows/build.yml) GitHub workflow and [environment-test.yml](https://github.com/TomographicImaging/CIL/blob/master/scripts/requirements-test.yml). The following table tries to resume the tested versions of CIL and its dependencies. + +| Package | Tested Version | Recommended conda channel | Compatible Version | +|----------|----------|----------|----| +| Python | 3.10, 3.11, 3.12 | conda-forge | [PSLF](https://docs.python.org/3/license.html) | +| Numpy | >1.23 and <2.0.0 | conda-forge | [BSD](https://numpy.org/doc/stable/license.html)| +| Optional | | | | +| IPP | 2021.12 | https://software.repos.intel.com/python/conda| [Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +| ASTRA | 2.1 | astra-toolbox | [GPLv3](https://github.com/astra-toolbox/astra-toolbox?tab=GPL-3.0-1-ov-file#readme) | +| TIGRE | 2.6 | ccpi | [BSD](https://github.com/CERN/TIGRE?tab=BSD-3-Clause-1-ov-file#readme) | +| CCPi-Regularisation | 24.0.1 | ccpi | [Apache v2](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit?tab=Apache-2.0-1-ov-file#readme) | +| TomoPhantom | 22.0.0 | ccpi | [Apache v2](https://github.com/dkazanc/TomoPhantom?tab=Apache-2.0-1-ov-file#readme) | + ### Docker Finally, CIL can be run via a Jupyter Notebook enabled Docker container: From fdd6143fa664ba39488c0307dd8c05ef3e942720 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:00:14 +0200 Subject: [PATCH 02/14] Update to matrix: added optional changes Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 034a505294..9f49655609 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,13 @@ CIL's [optimised FDK/FBP](https://github.com/TomographicImaging/CIL/discussions/ #### Binary packages and dependencies -While building the CIL package we test with specific versions of dependencies. These are listed in the [build.yml](https://github.com/TomographicImaging/CIL/blob/master/.github/workflows/build.yml) GitHub workflow and [environment-test.yml](https://github.com/TomographicImaging/CIL/blob/master/scripts/requirements-test.yml). The following table tries to resume the tested versions of CIL and its dependencies. +While building the CIL package we test with specific versions of dependencies. These are listed in the [build.yml](https://github.com/TomographicImaging/CIL/blob/master/.github/workflows/build.yml) GitHub workflow and [environment-test.yml](https://github.com/TomographicImaging/CIL/blob/master/scripts/requirements-test.yml). The following table tries to resume the tested versions of CIL and its required and optional dependencies. -| Package | Tested Version | Recommended conda channel | Compatible Version | +| Package | Tested Version | Recommended conda channel | License | |----------|----------|----------|----| | Python | 3.10, 3.11, 3.12 | conda-forge | [PSLF](https://docs.python.org/3/license.html) | -| Numpy | >1.23 and <2.0.0 | conda-forge | [BSD](https://numpy.org/doc/stable/license.html)| -| Optional | | | | +| Numpy | >=1.23 and <2.0.0 | conda-forge | [BSD](https://numpy.org/doc/stable/license.html)| +| **Optional dependencies** ||| | IPP | 2021.12 | https://software.repos.intel.com/python/conda| [Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | | ASTRA | 2.1 | astra-toolbox | [GPLv3](https://github.com/astra-toolbox/astra-toolbox?tab=GPL-3.0-1-ov-file#readme) | | TIGRE | 2.6 | ccpi | [BSD](https://github.com/CERN/TIGRE?tab=BSD-3-Clause-1-ov-file#readme) | From d5c98bf0b6092b55afa637f325f21dd738dd8a58 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:01:29 +0200 Subject: [PATCH 03/14] modified conda install command Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9f49655609..14b8861c36 100644 --- a/README.md +++ b/README.md @@ -21,13 +21,13 @@ We recommend using either [`miniconda`](https://docs.conda.io/projects/miniconda Install a new environment using: ```sh -conda create --name cil -c conda-forge -c https://software.repos.intel.com/python/conda -c ccpi cil=24.3.0 ipp=2021.12 +conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_env.yml ``` To install CIL and the additional packages and plugins needed to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) install the environment with: ```sh -conda create --name cil -c conda-forge -c https://software.repos.intel.com/python/conda -c ccpi cil=24.3.0 ipp=2021.12 astra-toolbox=*=cuda* tigre ccpi-regulariser tomophantom ipykernel ipywidgets scikit-image +conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_demos_env.yml ``` where: From fcbaf5f8fb5122f147b40dae0ea395252cfa9cad Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Wed, 30 Jul 2025 15:18:21 +0200 Subject: [PATCH 04/14] Update install commands Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 14b8861c36..9d25727ac7 100644 --- a/README.md +++ b/README.md @@ -18,16 +18,16 @@ Binary installation of CIL can be achieved with `conda`. We recommend using either [`miniconda`](https://docs.conda.io/projects/miniconda/en/latest) or [`miniforge`](https://github.com/conda-forge/miniforge), which are both minimal installers for `conda`. We also recommend a `conda` version of at least `23.10` for quicker installation. -Install a new environment using: +Install a new minimal environment with CIL using: ```sh -conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_env.yml +conda create --name cil -c conda-forge -c ccpi cil=24.3.0 ``` -To install CIL and the additional packages and plugins needed to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) install the environment with: +To install CIL and the additional packages and plugins needed to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) and do X-Ray CT reconstructions, install the environment with: ```sh -conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_demos_env.yml +conda create --name cil -c conda-forge -c https://software.repos.intel.com/python/conda -c ccpi cil=24.3.0 ipp=2021.12 astra-toolbox=*=cuda* tigre ccpi-regulariser tomophantom ipykernel ipywidgets scikit-image ``` where: @@ -40,6 +40,14 @@ where: - `ipykernel` provides the IPython kernel for Jupyter (allowing jupyter notebooks to be run) - `ipywidgets` enables visulisation tools within jupyter noteboooks +Users may chose to omit any of the optional dependencies in the above command. + +We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies, see table below: + +```sh +conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_demos_env.yml +``` + ### Dependencies CIL's [optimised FDK/FBP](https://github.com/TomographicImaging/CIL/discussions/1070) `recon` module requires: From ba7734e01936d989ed2c90104f363beabe495de4 Mon Sep 17 00:00:00 2001 From: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> Date: Tue, 5 Aug 2025 11:00:33 +0100 Subject: [PATCH 05/14] Update README.md Co-authored-by: Casper da Costa-Luis Signed-off-by: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d25727ac7..0abccda20f 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Users may chose to omit any of the optional dependencies in the above command. We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies, see table below: ```sh -conda env create -f https://raw.githubusercontent.com/TomographicImaging/Build-scripts/refs/heads/main/env_files/cil_demos_env.yml +conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos.yml ``` ### Dependencies From c82e7294dac37621741b6bcfbce8500522bd7bfb Mon Sep 17 00:00:00 2001 From: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> Date: Tue, 5 Aug 2025 17:28:28 +0100 Subject: [PATCH 06/14] Move package descriptions into dependency table Signed-off-by: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> --- README.md | 60 ++++++++++++++++++------------------------------------- 1 file changed, 19 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 0abccda20f..2b8779b3bb 100644 --- a/README.md +++ b/README.md @@ -21,55 +21,33 @@ We recommend using either [`miniconda`](https://docs.conda.io/projects/miniconda Install a new minimal environment with CIL using: ```sh -conda create --name cil -c conda-forge -c ccpi cil=24.3.0 +conda create --name cil - c https://software.repos.intel.com/python/conda -c conda-forge -c ccpi cil=24.3.0 ``` +A number of additional dependencies are required for specific functionality in CIL, these should be added to your environment as necessary. See the dependency table below for details. -To install CIL and the additional packages and plugins needed to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) and do X-Ray CT reconstructions, install the environment with: -```sh -conda create --name cil -c conda-forge -c https://software.repos.intel.com/python/conda -c ccpi cil=24.3.0 ipp=2021.12 astra-toolbox=*=cuda* tigre ccpi-regulariser tomophantom ipykernel ipywidgets scikit-image -``` - -where: - -- `astra-toolbox=*=py*` enables CIL support for [ASTRA toolbox](http://www.astra-toolbox.com) CPU projector (2D Parallel beam only) (GPLv3 license) -- `astra-toolbox=*=cuda*` (requires an NVIDIA GPU) enables CIL support for [ASTRA toolbox](http://www.astra-toolbox.com) GPU projectors (GPLv3 license) -- `tigre` (requires an NVIDIA GPU) enables support for [TIGRE](https://github.com/CERN/TIGRE) toolbox projectors (BSD license) -- `ccpi-regulariser` is the [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) -- `tomophantom` can generate phantoms to use as test data [Tomophantom](https://github.com/dkazanc/TomoPhantom) -- `ipykernel` provides the IPython kernel for Jupyter (allowing jupyter notebooks to be run) -- `ipywidgets` enables visulisation tools within jupyter noteboooks - -Users may chose to omit any of the optional dependencies in the above command. - -We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies, see table below: +#### Binary packages and dependencies +While building the CIL package we test with specific versions of dependencies. These are listed in the [build.yml](https://github.com/TomographicImaging/CIL/blob/master/.github/workflows/build.yml) GitHub workflow and [environment-test.yml](https://github.com/TomographicImaging/CIL/blob/master/scripts/requirements-test.yml). The following table tries to resume the tested versions of CIL and its required and optional dependencies. If you use these packages as a backend please remember to cite them in addition to CIL. + +| Package | Tested Version | Conda install command | Description | License | +|----|----|--------|--------|----| +| [Python](https://www.python.org/) | >=3.10,<=3.12 | `conda-forge::python>=3.10,<=3.12` | | [PSLF](https://docs.python.org/3/license.html) | +| [Numpy](https://github.com/numpy/numpy) | >=1.23,<2.0.0 | `conda-forge::numpy>=1.23,<2.0.0` | | [BSD](https://numpy.org/doc/stable/license.html)| +| **Optional dependencies** |||| +| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `conda install -c https://software.repos.intel.com/python/conda ipp=2021.12`| The Intel Integrated Performance Primitives Library (required for the CIL recon class) |[Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +| [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. |[GPLv3](https://github.com/astra-toolbox/astra-toolbox?tab=GPL-3.0-1-ov-file#readme) | +| [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. |[BSD](https://github.com/CERN/TIGRE?tab=BSD-3-Clause-1-ov-file#readme) | +| [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. |[Apache v2](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit?tab=Apache-2.0-1-ov-file#readme) | +| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22.0.0 | `ccpi::tomophantom=22.0.0` | Generates phantoms to use as test data. |[Apache v2](https://github.com/dkazanc/TomoPhantom?tab=Apache-2.0-1-ov-file#readme) | +| [ipykernel](https://github.com/ipython/ipykernel) | | `conda-forge::ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD](https://github.com/ipython/ipykernel?tab=BSD-3-Clause-1-ov-file) | +| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | | `conda-forge::ipywidgets` | Enables visulisation tools within jupyter noteboooks | [BSD](https://github.com/jupyter-widgets/ipywidgets?tab=BSD-3-Clause-1-ov-file) | + +We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies that are outlined in the table above: ```sh conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos.yml ``` -### Dependencies - -CIL's [optimised FDK/FBP](https://github.com/TomographicImaging/CIL/discussions/1070) `recon` module requires: - -1. the Intel [Integrated Performance Primitives](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) Library ([license](https://www.intel.com/content/dam/develop/external/us/en/documents/pdf/intel-simplified-software-license-version-august-2021.pdf)) which can be installed via conda from the `https://software.repos.intel.com/python/conda` channel. -2. [TIGRE](https://github.com/CERN/TIGRE), which can be installed via conda from the `ccpi` channel. - -#### Binary packages and dependencies - -While building the CIL package we test with specific versions of dependencies. These are listed in the [build.yml](https://github.com/TomographicImaging/CIL/blob/master/.github/workflows/build.yml) GitHub workflow and [environment-test.yml](https://github.com/TomographicImaging/CIL/blob/master/scripts/requirements-test.yml). The following table tries to resume the tested versions of CIL and its required and optional dependencies. - -| Package | Tested Version | Recommended conda channel | License | -|----------|----------|----------|----| -| Python | 3.10, 3.11, 3.12 | conda-forge | [PSLF](https://docs.python.org/3/license.html) | -| Numpy | >=1.23 and <2.0.0 | conda-forge | [BSD](https://numpy.org/doc/stable/license.html)| -| **Optional dependencies** ||| -| IPP | 2021.12 | https://software.repos.intel.com/python/conda| [Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | -| ASTRA | 2.1 | astra-toolbox | [GPLv3](https://github.com/astra-toolbox/astra-toolbox?tab=GPL-3.0-1-ov-file#readme) | -| TIGRE | 2.6 | ccpi | [BSD](https://github.com/CERN/TIGRE?tab=BSD-3-Clause-1-ov-file#readme) | -| CCPi-Regularisation | 24.0.1 | ccpi | [Apache v2](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit?tab=Apache-2.0-1-ov-file#readme) | -| TomoPhantom | 22.0.0 | ccpi | [Apache v2](https://github.com/dkazanc/TomoPhantom?tab=Apache-2.0-1-ov-file#readme) | - ### Docker Finally, CIL can be run via a Jupyter Notebook enabled Docker container: From deddd3ad2df9d5f67a434ede01943360b1ed2135 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Tue, 5 Aug 2025 23:51:47 +0100 Subject: [PATCH 07/14] tidy table Signed-off-by: Casper da Costa-Luis --- README.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 2b8779b3bb..692dc2f329 100644 --- a/README.md +++ b/README.md @@ -31,16 +31,16 @@ While building the CIL package we test with specific versions of dependencies. T | Package | Tested Version | Conda install command | Description | License | |----|----|--------|--------|----| -| [Python](https://www.python.org/) | >=3.10,<=3.12 | `conda-forge::python>=3.10,<=3.12` | | [PSLF](https://docs.python.org/3/license.html) | -| [Numpy](https://github.com/numpy/numpy) | >=1.23,<2.0.0 | `conda-forge::numpy>=1.23,<2.0.0` | | [BSD](https://numpy.org/doc/stable/license.html)| -| **Optional dependencies** |||| -| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `conda install -c https://software.repos.intel.com/python/conda ipp=2021.12`| The Intel Integrated Performance Primitives Library (required for the CIL recon class) |[Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | -| [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. |[GPLv3](https://github.com/astra-toolbox/astra-toolbox?tab=GPL-3.0-1-ov-file#readme) | -| [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. |[BSD](https://github.com/CERN/TIGRE?tab=BSD-3-Clause-1-ov-file#readme) | -| [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. |[Apache v2](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit?tab=Apache-2.0-1-ov-file#readme) | -| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22.0.0 | `ccpi::tomophantom=22.0.0` | Generates phantoms to use as test data. |[Apache v2](https://github.com/dkazanc/TomoPhantom?tab=Apache-2.0-1-ov-file#readme) | -| [ipykernel](https://github.com/ipython/ipykernel) | | `conda-forge::ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD](https://github.com/ipython/ipykernel?tab=BSD-3-Clause-1-ov-file) | -| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) | | `conda-forge::ipywidgets` | Enables visulisation tools within jupyter noteboooks | [BSD](https://github.com/jupyter-widgets/ipywidgets?tab=BSD-3-Clause-1-ov-file) | +| [Python](https://www.python.org/) | 3.10 - 3.12 | `"python>=3.10,<=3.12"` || [PSLF](https://docs.python.org/3/license.html) | +| [Numpy](https://github.com/numpy/numpy) | 1.23 - 1.26 | `"numpy>=1.23,<2"` || [BSD](https://numpy.org/doc/stable/license.html) | +| **Optional dependencies** |||| +| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class) | [Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +| [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPLv3](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | +| [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | +| [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | +| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22 | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache v2](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | +| [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD](https://github.com/ipython/ipykernel/blob/main/LICENSE) | +| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks | [BSD](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies that are outlined in the table above: From 572c0d863ad716bcb677bf525db1b6c119dce0d6 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 6 Aug 2025 00:03:29 +0100 Subject: [PATCH 08/14] normalise licences Signed-off-by: Casper da Costa-Luis --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 692dc2f329..23e53d0e9f 100644 --- a/README.md +++ b/README.md @@ -31,16 +31,16 @@ While building the CIL package we test with specific versions of dependencies. T | Package | Tested Version | Conda install command | Description | License | |----|----|--------|--------|----| -| [Python](https://www.python.org/) | 3.10 - 3.12 | `"python>=3.10,<=3.12"` || [PSLF](https://docs.python.org/3/license.html) | -| [Numpy](https://github.com/numpy/numpy) | 1.23 - 1.26 | `"numpy>=1.23,<2"` || [BSD](https://numpy.org/doc/stable/license.html) | +| [Python](https://www.python.org/) | 3.10 - 3.12 | `"python>=3.10,<=3.12"` || [PSF-2.0](https://docs.python.org/3/license.html) | +| [Numpy](https://github.com/numpy/numpy) | 1.23 - 1.26 | `"numpy>=1.23,<2"` || [BSD-3-Clause](https://numpy.org/doc/stable/license.html) | | **Optional dependencies** |||| -| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class) | [Intel Simplified Software License](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | -| [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPLv3](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | -| [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | +| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class) | [ISSL](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +| [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPL-3.0](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | +| [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD-3-Clause](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | | [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | -| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22 | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache v2](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | -| [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD](https://github.com/ipython/ipykernel/blob/main/LICENSE) | -| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks | [BSD](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | +| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22 | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | +| [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD-3-Clause](https://github.com/ipython/ipykernel/blob/main/LICENSE) | +| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks | [BSD-3-Clause](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies that are outlined in the table above: From e267ddc10c57106c7f3fdf2c464d1141f80afbbc Mon Sep 17 00:00:00 2001 From: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> Date: Thu, 7 Aug 2025 08:30:25 +0100 Subject: [PATCH 09/14] Apply suggestions from code review Co-authored-by: Casper da Costa-Luis Signed-off-by: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 23e53d0e9f..c4ee418caf 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ We recommend using either [`miniconda`](https://docs.conda.io/projects/miniconda Install a new minimal environment with CIL using: ```sh -conda create --name cil - c https://software.repos.intel.com/python/conda -c conda-forge -c ccpi cil=24.3.0 +conda create --name cil -c https://software.repos.intel.com/python/conda -c conda-forge -c ccpi cil=24.3.0 ``` A number of additional dependencies are required for specific functionality in CIL, these should be added to your environment as necessary. See the dependency table below for details. @@ -33,14 +33,14 @@ While building the CIL package we test with specific versions of dependencies. T |----|----|--------|--------|----| | [Python](https://www.python.org/) | 3.10 - 3.12 | `"python>=3.10,<=3.12"` || [PSF-2.0](https://docs.python.org/3/license.html) | | [Numpy](https://github.com/numpy/numpy) | 1.23 - 1.26 | `"numpy>=1.23,<2"` || [BSD-3-Clause](https://numpy.org/doc/stable/license.html) | -| **Optional dependencies** |||| -| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class) | [ISSL](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +|--|--| **Optional dependencies** |--|--| +| [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class). | [ISSL](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | | [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPL-3.0](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | | [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD-3-Clause](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | | [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | | [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22 | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | -| [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks | [BSD-3-Clause](https://github.com/ipython/ipykernel/blob/main/LICENSE) | -| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks | [BSD-3-Clause](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | +| [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks. | [BSD-3-Clause](https://github.com/ipython/ipykernel/blob/main/LICENSE) | +| [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks. | [BSD-3-Clause](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | We maintain an environment file with the required packages to run the [CIL demos](https://github.com/TomographicImaging/CIL-Demos) which you can use to create a new environment. This will have specific and tested versions of all dependencies that are outlined in the table above: From b50e56e3f44492876eb9b61ae41a76c835f64e7c Mon Sep 17 00:00:00 2001 From: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> Date: Mon, 11 Aug 2025 13:45:37 +0100 Subject: [PATCH 10/14] Add instructions for cpu env Signed-off-by: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 82d3b952f0..95c9194ce8 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,10 @@ We maintain an environment file with the required packages to run the [CIL demos ```sh conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos.yml + +Or for a CPU-only environment which will work for a limited number of [CIL demos](https://github.com/TomographicImaging/CIL-Demos) +```sh +conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos_cpu.yml ``` ### Docker From 5fce886ef39b4a3c64ce0ede4024768285b11590 Mon Sep 17 00:00:00 2001 From: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> Date: Mon, 11 Aug 2025 13:47:20 +0100 Subject: [PATCH 11/14] Update README.md Signed-off-by: Hannah Robarts <77114597+hrobarts@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 95c9194ce8..bed04ed5e5 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ We maintain an environment file with the required packages to run the [CIL demos ```sh conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos.yml - +``` Or for a CPU-only environment which will work for a limited number of [CIL demos](https://github.com/TomographicImaging/CIL-Demos) ```sh conda env create -f https://tomographicimaging.github.io/scripts/env/cil_demos_cpu.yml From 384fff4f45b3c04574b55ac3dd1cbc61fe7060ed Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:12:23 +0200 Subject: [PATCH 12/14] move IPP to required packages Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bed04ed5e5..eabf1c7faa 100644 --- a/README.md +++ b/README.md @@ -33,8 +33,8 @@ While building the CIL package we test with specific versions of dependencies. T |----|----|--------|--------|----| | [Python](https://www.python.org/) | 3.10 - 3.12 | `"python>=3.10,<=3.12"` || [PSF-2.0](https://docs.python.org/3/license.html) | | [Numpy](https://github.com/numpy/numpy) | 1.23 - 1.26 | `"numpy>=1.23,<2"` || [BSD-3-Clause](https://numpy.org/doc/stable/license.html) | -|--|--| **Optional dependencies** |--|--| | [IPP](https://www.intel.com/content/www/us/en/developer/tools/oneapi/ipp.html#gs.gxwq5p) | 2021.12 | `-c https://software.repos.intel.com/python/conda ipp=2021.12` | The Intel Integrated Performance Primitives Library (required for the CIL recon class). | [ISSL](http://www.intel.com/content/www/us/en/developer/articles/license/end-user-license-agreement.html) | +|--|--| **Optional dependencies** |--|--| | [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPL-3.0](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | | [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD-3-Clause](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | | [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | From 7093289cfd392f1afd4aa5a4e4288a0f81c84ce7 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:20:41 +0200 Subject: [PATCH 13/14] update the version of TomoPhantom Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eabf1c7faa..d8f8fb5483 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ While building the CIL package we test with specific versions of dependencies. T | [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPL-3.0](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | | [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD-3-Clause](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | | [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | -| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | 22 | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | +| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | [2.0.0](https://github.com/dkazanc/TomoPhantom/releases/tag/v2.0.0) | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | | [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks. | [BSD-3-Clause](https://github.com/ipython/ipykernel/blob/main/LICENSE) | | [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks. | [BSD-3-Clause](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) | From b96ac245e4c6a4f314d6727e956b8ae672245dc7 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca <14138589+paskino@users.noreply.github.com> Date: Tue, 12 Aug 2025 14:23:57 +0200 Subject: [PATCH 14/14] fix the tomophantom version Signed-off-by: Edoardo Pasca <14138589+paskino@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d8f8fb5483..38386ca373 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ While building the CIL package we test with specific versions of dependencies. T | [ASTRA toolbox](http://www.astra-toolbox.com) | 2.1 | CPU: `conda-forge::astra-toolbox=2.1=py*`
GPU: `conda-forge::astra-toolbox=2.1=cuda*` | CT projectors, FBP and FDK. | [GPL-3.0](https://github.com/astra-toolbox/astra-toolbox/blob/master/COPYING) | | [TIGRE](https://github.com/CERN/TIGRE) | 2.6 | `ccpi::tigre=2.6` | CT projectors, FBP and FDK. | [BSD-3-Clause](https://github.com/CERN/TIGRE/blob/master/LICENSE.txt) | | [CCPi Regularisation Toolkit](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit) | 24.0.1 | `ccpi::ccpi-regulariser=24.0.1` | Toolbox of regularisation methods. | [Apache-2.0](https://github.com/TomographicImaging/CCPi-Regularisation-Toolkit/blob/master/LICENSE) | -| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | [2.0.0](https://github.com/dkazanc/TomoPhantom/releases/tag/v2.0.0) | `ccpi::tomophantom=22` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | +| [TomoPhantom](https://github.com/dkazanc/TomoPhantom) | [2.0.0](https://github.com/dkazanc/TomoPhantom/releases/tag/v2.0.0) | `ccpi::tomophantom=2.0.0` | Generates phantoms to use as test data. | [Apache-2.0](https://github.com/dkazanc/TomoPhantom/blob/master/LICENSE) | | [ipykernel](https://github.com/ipython/ipykernel) || `ipykernel` | Provides the IPython kernel to run Jupyter notebooks. | [BSD-3-Clause](https://github.com/ipython/ipykernel/blob/main/LICENSE) | | [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) || `ipywidgets` | Enables visualisation tools within jupyter noteboooks. | [BSD-3-Clause](https://github.com/jupyter-widgets/ipywidgets/blob/main/LICENSE) |