Skip to content

Commit

Permalink
Merge branch 'sirt_memory_efficiency' of github.com:paskino/CIL into …
Browse files Browse the repository at this point in the history
…sirt_memory_efficiency_changes
  • Loading branch information
gfardell committed Jul 18, 2023
2 parents 5f72f6c + f06f0df commit b0ac972
Show file tree
Hide file tree
Showing 187 changed files with 2,897 additions and 1,742 deletions.
19 changes: 19 additions & 0 deletions .github/workflows/conda_and_docs_build.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2021 United Kingdom Research and Innovation
# Copyright 2021 The University of Manchester

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

name: conda_and_docs_build

on:
Expand Down
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
* x.x.x
- Refactor SIRT algorithm to make it more computationally and memory efficient

* 23.0.1
- Fix bug with NikonReader requiring ROI to be set in constructor.

* 23.0.0
- 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.

* 22.2.0
- BlockGeometry is iterable
Expand Down
19 changes: 19 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# Copyright 2020 United Kingdom Research and Innovation
# Copyright 2020 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt
# Richard Brown (University College London)

if(APPLE)
cmake_minimum_required(VERSION 3.16)
else()
Expand Down
74 changes: 54 additions & 20 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -1,28 +1,62 @@
CCPi Core Imaging Library (CIL).
Copyright 2017-2022 United Kingdom Research and Innovation
Copyright 2017-2022 University of Manchester
Copyright 2017 United Kingdom Research and Innovation
Copyright 2017 The University of Manchester

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


This software product is developed for the Collaborative Computational
Project in Tomographic Imaging CCPi (http://www.ccpi.ac.uk/) with
substantial contributions by UKRI-STFC and The University of Manchester.
and other contributing institutions.

Main contributors in alphabetical order:
Evelina Ametova (UoM)
Gemma Fardell (STFC)
Jakob Jorgensen (DTU)
Laura Murgatroyd (STFC)
Evangelos Papoutsellis (STFC)
Edoardo Pasca (STFC)
Kyle Pidgeon (STFC)

Other contributors:
Claire Delplancke (UoB)
Daniil Kazantsev (Diamond Light Source)
Tomas Kulhanek (STFC)
Srikanth Nagella (STFC)
Andrew Sharits (UES Inc.)
Kris Thielemans (UCL)
Sam Tygier (STFC)
Ryan Warr (UoM)
Institutions Key:
1 - United Kingdom Research and Innovation - Science & Technology Facilities Council (UKRI-STFC)
2 - Technical University of Denmark (DTU)
3 - The University of Manchester
4 - Finden
5 - University College London (UCL)
6 - Karlsruhe Institute of Technology (KIT)
7 - University of Bath
8 - UES Inc.
9 - Swansea University
10 - University of Warwick

CIL Developers in date order:
Edoardo Pasca (2017 – present) - 1
Jakob Sauer Jørgensen (2017 - present) - 2, 3
Evangelos Papoutsellis (2018 – 2020) - 3, (2020-2022) - 1, (2022-present) - 4
Gemma Fardell (2019 - present) - 1
Kris Thielemans (2020 - present) - 5
Laura Murgatroyd (2021 - present) - 1
Evelina Ametova (2018-2020) - 3, (2020-2021) - 6

CIL Contributors:
Srikanth Nagella (2017-2018) - 1
Daniil Kazantsev (2018) - 3
Ryan Warr (2019) - 3
Tomas Kulhanek (2019) - 1
Claire Delplancke (2019 - 2022) - 7
Matthias Ehrhardt (2019 - 2023) - 7
Richard Brown (2020-2021) - 5
Sam Tygier (2022) - 1
Andrew Sharits (2022) - 8
Kyle Pidgeon (2023) - 1

CIL Advisory Board:
Llion Evans - 9
William Lionheart - 3
Kris Thielemans - 5
Martin Turner - 3
Jay Warnett - 10
Philip Withers - 3
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,14 @@ The documentation for CIL can be accessed [here](https://tomographicimaging.gith
Binary installation of CIL can be done with `conda`. Install a new environment using:

```bash
conda create --name cil -c conda-forge -c intel -c ccpi cil=22.2.0
conda create --name cil -c conda-forge -c intel -c ccpi cil=23.0.1
```

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:

```bash
conda create --name cil -c conda-forge -c intel -c astra-toolbox -c ccpi cil=22.2.0 astra-toolbox tigre ccpi-regulariser tomophantom "ipywidgets<8"
conda create --name cil -c conda-forge -c intel -c ccpi cil=23.0.1 astra-toolbox tigre ccpi-regulariser tomophantom "ipywidgets<8"
```

where,

```astra-toolbox``` will allow you to use CIL with the [ASTRA toolbox](http://www.astra-toolbox.com/) projectors (GPLv3 license).
Expand All @@ -38,7 +37,7 @@ where,

```tomophantom``` [Tomophantom](https://github.com/dkazanc/TomoPhantom) will allow you to generate phantoms to use as test data.

```cudatoolkit``` If you have GPU drivers compatible with more recent CUDA versions you can modify this package selector (installing tigre via conda requires 9.2).
```cudatoolkit``` If you have GPU drivers compatible with more recent CUDA versions you can modify this package selector (installing tigre via conda requires 10.2).


## Dependency
Expand Down
19 changes: 19 additions & 0 deletions Wrappers/Python/CMake/parse_git_describe.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2022 United Kingdom Research and Innovation
# Copyright 2022 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

import re, subprocess, sys, os

git_executable = os.path.abspath(sys.argv[1])
Expand Down
32 changes: 17 additions & 15 deletions Wrappers/Python/CMake/setup.py.in
Original file line number Diff line number Diff line change
@@ -1,19 +1,21 @@
# -*- coding: utf-8 -*-
# This work is part of the Core Imaging Library (CIL) developed by CCPi
# (Collaborative Computational Project in Tomographic Imaging), with
# substantial contributions by UKRI-STFC and University of Manchester.

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Copyright 2018 United Kingdom Research and Innovation
# Copyright 2018 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

from setuptools import setup
import os
Expand Down
19 changes: 19 additions & 0 deletions Wrappers/Python/CMake/sp_dir.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,21 @@
# -*- coding: utf-8 -*-
# Copyright 2020 United Kingdom Research and Innovation
# Copyright 2020 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

import os
print (os.path.dirname(os.__file__))
19 changes: 19 additions & 0 deletions Wrappers/Python/CMake/version.py.in
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2021 United Kingdom Research and Innovation
# Copyright 2021 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

version = '@CIL_VERSION_MAJOR@.@CIL_VERSION_MINOR@.@CIL_VERSION_PATCH@'
major = '@CIL_VERSION_MAJOR@'
minor = '@CIL_VERSION_MINOR@'
Expand Down
19 changes: 19 additions & 0 deletions Wrappers/Python/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
# -*- coding: utf-8 -*-
# Copyright 2019 United Kingdom Research and Innovation
# Copyright 2019 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

option (BUILD_PYTHON_WRAPPER "Build Python Wrapper" ON)

if (BUILD_PYTHON_WRAPPER)
Expand Down
32 changes: 17 additions & 15 deletions Wrappers/Python/cil/__init__.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
# -*- coding: utf-8 -*-
# This work is part of the Core Imaging Library (CIL) developed by CCPi
# (Collaborative Computational Project in Tomographic Imaging), with
# substantial contributions by UKRI-STFC and University of Manchester.

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Copyright 2018 United Kingdom Research and Innovation
# Copyright 2018 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

from .version import version as __version__
31 changes: 17 additions & 14 deletions Wrappers/Python/cil/framework/BlockDataContainer.py
Original file line number Diff line number Diff line change
@@ -1,19 +1,22 @@
# -*- coding: utf-8 -*-
# This work is part of the Core Imaging Library (CIL) developed by CCPi
# (Collaborative Computational Project in Tomographic Imaging), with
# substantial contributions by UKRI-STFC and University of Manchester.
# Copyright 2019 United Kingdom Research and Innovation
# Copyright 2019 The University of Manchester
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# CIL Developers, listed at: https://github.com/TomographicImaging/CIL/blob/master/NOTICE.txt

# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at

# http://www.apache.org/licenses/LICENSE-2.0

# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import numpy
from numbers import Number
import functools
Expand Down
Loading

0 comments on commit b0ac972

Please sign in to comment.