Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into safir_updates
Browse files Browse the repository at this point in the history
  • Loading branch information
SomayehSaghamanesh committed Sep 4, 2024
2 parents 46e1b98 + 5d12267 commit b98ce8a
Show file tree
Hide file tree
Showing 10,159 changed files with 1,425,988 additions and 2,229 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ version: '{build}'
os:
- Visual Studio 2022
- Visual Studio 2019
- Visual Studio 2015

platform:
- x64
Expand Down
8 changes: 8 additions & 0 deletions .git-blame-ignore-revs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# change to Apache 2.0 license
47d1aa5f302c5b6b579de176535e01aa97d1ff27
# run clang-tidy --modernize-use-override
8af125617a113724f52d26e991bfc6c36abb952f
# manual fixes in stir_experimental and clang-tidy modernize-use-override
c5a1c6bc29d3f24d8fdb5c198946ec9580947257
# stir_maintenance run pre-commit
88f4ce70929a41c745fc39030e90c87bfaf046b7
132 changes: 85 additions & 47 deletions .github/workflows/build-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ jobs:
compiler: gcc
compiler_version: 12
cuda_version: "0"
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=14"
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=20"
BUILD_TYPE: "RelWithDebInfo"
parallelproj: "ON"
ROOT: "OFF"
Expand All @@ -79,14 +79,14 @@ jobs:
compiler: gcc
compiler_version: 12
cuda_version: "12.1.0"
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=14"
BUILD_FLAGS: "-DSTIR_OPENMP=ON -DCMAKE_CXX_STANDARD=17"
BUILD_TYPE: "Release"
parallelproj: "ON"
ROOT: "OFF"
ITK: "ON"
- os: macOS-latest
compiler: gcc
compiler_version: 11
# compiler_version: 11
cuda_version: "0"
BUILD_FLAGS: "-DSTIR_OPENMP=OFF"
parallelproj: "OFF"
Expand Down Expand Up @@ -162,9 +162,6 @@ jobs:
CXX=${CXX}-${{ matrix.compiler_version }}
fi
if test 'XX${{ matrix.os }}' = 'XXmacOS-latest'; then
# need to force XCode version for the moment due to a linker bug
# see https://github.com/UCL/STIR/issues/1103
echo DEVELOPER_DIR="/Applications/Xcode_14.1.app/Contents/Developer" >> $GITHUB_ENV
if test 'XX${{ matrix.compiler }}' = 'XXclang'; then
brew install llvm@${{ matrix.compiler_version }}
if test XX${HOMEBREW_PREFIX} = XX; then
Expand Down Expand Up @@ -211,7 +208,7 @@ jobs:
sudo apt install libinsighttoolkit5-dev
fi
# free up some disk space
sudo apt clean
apt autoremove --purge && sudo apt clean
PYTHON_EXECUTABLE=$(which python3)
;;
(macOS*)
Expand Down Expand Up @@ -255,12 +252,15 @@ jobs:
cmake .. -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} ${extra_args}
cmake --build . --target install --config Release
cd ../..
rm -rf parallelproj
fi
# Install ROOT (warning: currently only valid on Ubuntu)
if test "${{matrix.ROOT}}XX" == "ONXX"; then
wget https://root.cern/download/root_v6.24.02.Linux-ubuntu20-x86_64-gcc9.3.tar.gz
tar -xzvf root_v6.24.02.Linux-ubuntu20-x86_64-gcc9.3.tar.gz
ROOT_file=root_v6.28.12.Linux-ubuntu20-x86_64-gcc9.4.tar.gz
wget https://root.cern/download/"$ROOT_file"
tar -xzvf "$ROOT_file"
rm "$ROOT_file"
source root/bin/thisroot.sh
fi
Expand Down Expand Up @@ -330,6 +330,12 @@ jobs:
source ${GITHUB_WORKSPACE}/my-env/bin/activate
cmake --build . -j 2 --config ${BUILD_TYPE}} --target install
# Enable tmate debugging of manually-triggered workflows if the input option was provided
- name: Setup tmate session if triggered
uses: mxschmitt/action-tmate@v3
timeout-minutes: 15
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled == 'true' }}

- name: ctest
shell: bash
env:
Expand All @@ -344,7 +350,10 @@ jobs:
fi
# don't run all of them in Debug mode as it takes too long
if test ${BUILD_TYPE} = Debug; then
EXCLUDE_Debug="test_data_processor_projectors|test_export_array|test_ArcCorrection"
# Also excluding test_PoissonLogLikelihoodWithLinearModelForMeanAndListModeDataWithProjMatrixByBin
# as it is a bit slow. Moreover it fails on MacOS (Debug)
# https://github.com/UCL/STIR/pull/1418#issuecomment-2109518132
EXCLUDE_Debug="test_data_processor_projectors|test_export_array|test_ArcCorrection|test_PoissonLogLikelihoodWithLinearModelForMeanAndListModeWithProjMatrixByBin"
EXCLUDE="${EXCLUDE_Debug}${EXCLUDE:+"|"}${EXCLUDE}"
fi
# prepend -E
Expand All @@ -354,47 +363,20 @@ jobs:
# execute tests
ctest --output-on-failure -C ${BUILD_TYPE} ${EXCLUDE}
- name: recon_test_pack
shell: bash
env:
BUILD_FLAGS: ${{ matrix.BUILD_FLAGS }}
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
run: |
set -ex;
PATH=${CMAKE_INSTALL_PREFIX}/bin:$PATH
cd ${GITHUB_WORKSPACE}/recon_test_pack
./run_tests.sh --nointbp
# don't run all of them in Debug mode as it takes too long
if test ${BUILD_TYPE} != Debug; then
./run_test_simulate_and_recon.sh
./run_test_listmode_recon.sh
./run_test_simulate_and_recon_with_motion.sh
./run_scatter_tests.sh
./run_test_zoom_image.sh
./run_ML_norm_tests.sh
if test "${{matrix.ROOT}}XX" == "ONXX"; then ./run_root_GATE.sh; fi
./run_tests_modelling.sh
cd ${GITHUB_WORKSPACE}/recon_test_pack/SPECT
./run_SPECT_tests.sh
fi
- name: Upload log files for debugging
uses: actions/upload-artifact@v3
- name: Upload ctest log files for debugging
uses: actions/upload-artifact@v4
if: failure()
with:
name: recon_test_pack_log_files-${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.compiler_version }}-cuda${{ matrix.cuda_version }}-${{ matrix.BUILD_TYPE }}-pp=${{ matrix.parallelproj }}-ROOT=${{ matrix.ROOT }}
path: ${{ github.workspace }}/recon_test_pack/**/*.log
${{ github.workspace }}/recon_test_pack/**/my_*v
${{ github.workspace }}/recon_test_pack/**/my_*s
name: ctest_log_files-${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.compiler_version }}-cuda${{ matrix.cuda_version }}-${{ matrix.BUILD_TYPE }}-pp=${{ matrix.parallelproj }}-ROOT=${{ matrix.ROOT }}
path: |
${{ github.workspace }}/build/**/*.log
${{ github.workspace }}/build/**/*.hv
${{ github.workspace }}/build/**/*.v
${{ github.workspace }}/build/**/*.hs
${{ github.workspace }}/build/**/*.s
retention-days: 7

# Enable tmate debugging of manually-triggered workflows if the input option was provided
- name: Setup tmate session if triggered
uses: mxschmitt/action-tmate@v3
timeout-minutes: 15
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled == 'true' }}

- name: examples
- name: C++ examples with STIR_LOCAL
shell: bash
run: |
set -ex;
Expand All @@ -416,14 +398,70 @@ jobs:
${EXE_LOC}/demo4_obj_fun demo4_obj_fun.par
${EXE_LOC}/demo5_line_search demo5_line_search.par
- name: remove build
shell: bash
# remove to create some disk space
run: |
set -x
cd ${GITHUB_WORKSPACE}
df -h .
rm -rf ./build
df -h .
- name: C++ examples with installed STIR
shell: bash
run: |
set -ex;
# build and run C++/using_installed_STIR
PATH=${CMAKE_INSTALL_PREFIX}/bin:$PATH
cd ${GITHUB_WORKSPACE}/examples/C++/using_installed_STIR
cmake -S . -B build/ -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
cmake --build build/ --config Release --target install
# run demo
demo_create_image
# just check if its output makes sense
list_image_info test.hv
rm -rf build
- name: recon_test_pack
shell: bash
env:
BUILD_FLAGS: ${{ matrix.BUILD_FLAGS }}
BUILD_TYPE: ${{ matrix.BUILD_TYPE }}
run: |
set -ex;
PATH=${CMAKE_INSTALL_PREFIX}/bin:$PATH
cd ${GITHUB_WORKSPACE}/recon_test_pack
./run_tests.sh --nointbp
# don't run all of them in Debug mode as it takes too long
if test ${BUILD_TYPE} != Debug; then
./run_test_simulate_and_recon.sh
./run_test_listmode_recon.sh
./run_test_simulate_and_recon_with_motion.sh
./run_scatter_tests.sh
./run_test_zoom_image.sh
./run_ML_norm_tests.sh
if test "${{matrix.ROOT}}XX" == "ONXX"; then ./run_root_GATE.sh; fi
./run_tests_modelling.sh
cd ${GITHUB_WORKSPACE}/recon_test_pack/SPECT
./run_SPECT_tests.sh
fi
- name: Upload recon_test_pack log files for debugging
uses: actions/upload-artifact@v4
if: failure()
with:
name: recon_test_pack_log_files-${{ matrix.os }}-${{ matrix.compiler }}${{ matrix.compiler_version }}-cuda${{ matrix.cuda_version }}-${{ matrix.BUILD_TYPE }}-pp=${{ matrix.parallelproj }}-ROOT=${{ matrix.ROOT }}
path: |
${{ github.workspace }}/recon_test_pack/**/*.log
${{ github.workspace }}/recon_test_pack/**/my_*v
${{ github.workspace }}/recon_test_pack/**/my_*s
retention-days: 7

- name: remove recon_test_pack
shell: bash
run: |
rm -rf ${GITHUB_WORKSPACE}/recon_test_pack
- name: Python
shell: bash
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/pre-commit-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ jobs:
name: pre-commit
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- run: sudo apt-get install -yqq clang-format
- uses: conda-incubator/setup-miniconda@v3
with:
activate-environment: pre-commit-env
environment-file: pre-commit-environment.yml
auto-activate-base: false
- uses: pre-commit/action@v3.0.0
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ install_manifest.txt
~$*
*~
*.bak
\#*#

# Ignore Visual Studio User-specific files
*.suo
Expand Down
3 changes: 3 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ Matthias Ehrhardt <m.ehrhardt@bath.ac.uk> <m.ehrhardt@bath.ac.uk>
Matthias Ehrhardt <m.ehrhardt@bath.ac.uk> <m.j.ehrhardt@damtp.cam.ac.uk>
Nikos Efthimiou <nikos.efthimiou@gmail.com> <nikos.efthimiou@gmail.com>
Nikos Efthimiou <nikos.efthimiou@gmail.com> <NikEfth@users.noreply.github.com>
Nikos Efthimiou <nikos.efthimiou@gmail.com> <n.efthymiou@hull.ac.uk>
Ottavia Bertolli <ottavia.bertolli.13@ucl.ac.uk>
Palak Wadhwa <pwadhwa351@gmail.com> <38861704+pwadhwa351@users.noreply.github.com>
Palak Wadhwa <pwadhwa351@gmail.com> <medpwad@leeds.ac.uk>
Expand Down Expand Up @@ -67,3 +68,5 @@ Sam D Porter <92305641+samdporter@users.noreply.github.com>
Sam D Porter <92305641+samdporter@users.noreply.github.com> <porter.samd@gmail.com>
Matthew Strugari <matthew.strugari@dal.ca>
Matthew Strugari <matthew.strugari@dal.ca> <56315593+mastergari@users.noreply.github.com>
Imraj Singh <imraj.singh.20@ucl.ac.uk>
Imraj Singh <imraj.singh.20@ucl.ac.uk> <72553490+Imraj-Singh@users.noreply.github.com>
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ repos:
rev: '62302476'
hooks:
- id: clang-format
files: \.(c|cc|cxx|cpp|h|hpp|hxx|inl|txx)$
files: \.(c|cc|cxx|cpp|cu|h|hpp|hxx|inl|txx)$
46 changes: 27 additions & 19 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -32,31 +32,31 @@ authors:
- family-names: Jehl
given-names: Markus
affiliation: Positrigo
- family-names: Borgeaud
given-names: Tim
affiliation: Hammersmith Imanet Ltd
- family-names: Strugari
given-names: Matthew
affiliation: Dalhousie University (Canada)
- family-names: Khateri
given-names: Parisa
affiliation: ETH Zuerich
- family-names: Beisel
given-names: Tobias
- family-names: Wadhwa
given-names: Palak
affiliation: University of Leeds (UK)
- family-names: Borgeaud
given-names: Tim
affiliation: Hammersmith Imanet Ltd
- family-names: Beisel
given-names: Tobias
- family-names: Emond
given-names: Elise
affiliation: University College London
- family-names: Jacobson
given-names: Matthew
- family-names: Gillman
given-names: Ashley
orcid: 'https://orcid.org/0000-0001-9130-1092'
affiliation: >-
Commonwealth Scientific and Industrial Research
Organisation, and University of Queensland
- family-names: Jacobson
given-names: Matthew
- family-names: Zverovich
given-names: Alexey
affiliation: Brunel University (UK)
Expand All @@ -81,23 +81,21 @@ authors:
- family-names: Brusaferri
given-names: Ludovica
affiliation: University College London
- family-names: Pasca
given-names: Edoardo
affiliation: UK Research & Innovation
orcid: 'https://orcid.org/0000-0001-6957-2160'
- family-names: Thomas
given-names: Benjamin
orcid: 'https://orcid.org/0000-0002-9784-1177'
affiliation: University College London
- family-names: Pasca
given-names: Edoardo
affiliation: UK Research & Innovation
orcid: 'https://orcid.org/0000-0001-6957-2160'
- family-names: Aguiar
given-names: Pablo
- family-names: Niknejad
given-names: Tahereh
- family-names: Sadki
given-names: Mustapha
affiliation: Brunel University (UK)
- family-names: Schmidtlein
given-names: C Ross
- family-names: Kerrouche
given-names: Nacer
affiliation: Hammersmith Imanet Ltd
Expand All @@ -110,13 +108,22 @@ authors:
- family-names: Ehrhardt
given-names: Matthias J.
orcid: 'https://orcid.org/0000-0001-8523-353X'
- family-names: Valente
given-names: Patrick
affiliation: Brunel University (UK)
- family-names: Singh
given-names: Imraj
orcid: 'https://orcid.org/0000-0003-2186-0977'
affiliation: University College London (UK)
- family-names: Schmidtlein
given-names: C Ross
- family-names: Ovtchinnikov
given-names: Evgueni
orcid: 'https://orcid.org/0000-0002-9359-6514'
affiliation: UK Research & Innovation
- family-names: Valente
given-names: Patrick
affiliation: Brunel University (UK)
- family-names: Jurjew
given-names: Nicole
affiliation: University College London
- family-names: Schramm
given-names: Georg
affiliation: Katholieke Universiteit Leuven (Belgium)
Expand All @@ -127,9 +134,6 @@ authors:
- family-names: Belluzzo
given-names: Damiano
affiliation: Hospedale San Raffaele Milano (Italy)
- family-names: Jurjew
given-names: Nicole
affiliation: University College London
- family-names: Ching
given-names: Daniel
- family-names: Hague
Expand Down Expand Up @@ -178,10 +182,14 @@ authors:
identifiers:
- type: doi
value: 10.1088/0031-9155/57/4/867
- type: doi
value: 10.3389/fnume.2023.1134774
- type: doi
value: 10.1186/s40658-019-0248-9
- type: doi
value: 10.3390/jimaging8060172
- type: doi
value: 10.1088/1361-6560/aaf9b9
- type: doi
value: 10.1109/NSSMIC.2018.8824341
- type: doi
Expand Down
Loading

0 comments on commit b98ce8a

Please sign in to comment.