diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 156dd2f..912d3a6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,14 +49,16 @@ jobs: conda env remove -n "${{ steps.reqs.outputs.envname }}" test: defaults: {run: {shell: 'bash -el {0}'}} - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: matrix: + python-version: ['3.10', 3.11] + numpy-version: [1.23, 1.26] + os: [ubuntu-latest, windows-latest] include: - - python-version: '3.10' # min supported - numpy-version: 1.23 - - python-version: 3.12 # max supported + - python-version: 3.12 # needs numpy>=1.26 numpy-version: 1.26 + os: ubuntu-latest steps: - uses: actions/checkout@v4 with: {fetch-depth: 0, submodules: recursive} diff --git a/Readme.md b/Readme.md index 9b11801..a5a4af3 100644 --- a/Readme.md +++ b/Readme.md @@ -6,9 +6,7 @@ Iterative image reconstruction (IIR) methods frequently require regularisation to ensure convergence and make inverse problem well-posed. The CCPi-Regularisation Toolkit (CCPi-RGL) toolkit provides a set of 2D/3D regularisation strategies to guarantee a better performance of IIR methods (higher SNR and resolution). The regularisation modules for scalar and vectorial datasets are based on the [proximal operator](https://en.wikipedia.org/wiki/Proximal_operator) framework and can be used with [proximal splitting algorithms](https://en.wikipedia.org/wiki/Proximal_gradient_method), such as PDHG, Douglas-Rachford, ADMM, FISTA and [others](https://arxiv.org/abs/0912.3522). While the main target for CCPi-RGL is [tomographic image reconstruction](https://github.com/dkazanc/ToMoBAR), the toolkit can be used for image denoising problems. The core modules are written in C-OMP and CUDA languages and wrappers for Matlab and Python are provided. With [CuPy](https://docs.cupy.dev/en/stable/index.html) dependency installed for Python, one can use regularisers directly without the need for explicit compilation. We recommend this option as the simplest to start with if you've got a GPU. This software can also be used by running in parallel across multiple GPU devices on a PC or a cluster compute node. -
-
-
+
## Prerequisites