From 7b5e56ffb9078d0c3ccbdbb5bdb89db3a2bf9307 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Wed, 15 Mar 2023 08:18:12 +0000 Subject: [PATCH 01/28] Update TomoPhantom and CCPi regularisation tags closes #812 --- version_config.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version_config.cmake b/version_config.cmake index 0c6dd3b5..a93e3a63 100644 --- a/version_config.cmake +++ b/version_config.cmake @@ -132,7 +132,7 @@ set(DEFAULT_astra-toolbox_TAG origin/master) ## TomoPhantom set(DEFAULT_TomoPhantom_URL https://github.com/dkazanc/TomoPhantom ) -set(DEFAULT_TomoPhantom_TAG v1.4) +set(DEFAULT_TomoPhantom_TAG v2.0.0) ## NiftyPET set(DEFAULT_NiftyPET_URL https://github.com/pjmark/NIPET ) @@ -159,7 +159,7 @@ set(DEFAULT_CIL_URL https://github.com/TomographicImaging/CIL.git) set(DEFAULT_CIL_TAG a6062410028c9872c5b355be40b96ed1497fed2a) set(DEFAULT_CCPi-Regularisation-Toolkit_URL https://github.com/vais-ral/CCPi-Regularisation-Toolkit.git) -set(DEFAULT_CCPi-Regularisation-Toolkit_TAG "v21.0.0") +set(DEFAULT_CCPi-Regularisation-Toolkit_TAG "v22.0.0") # CERN ROOT set(DEFAULT_ROOT_URL https://github.com/root-project/root) From dbca2368bc3c5dc6a42a5cc5fd3c7acb019596cd Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 20 Jul 2023 14:57:44 +0100 Subject: [PATCH 02/28] disable GPU tests --- SuperBuild/External_CCPi-Regularisation-Toolkit.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SuperBuild/External_CCPi-Regularisation-Toolkit.cmake b/SuperBuild/External_CCPi-Regularisation-Toolkit.cmake index d3643c5b..2124a360 100644 --- a/SuperBuild/External_CCPi-Regularisation-Toolkit.cmake +++ b/SuperBuild/External_CCPi-Regularisation-Toolkit.cmake @@ -98,8 +98,8 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr set(${proj}_ROOT ${${proj}_SOURCE_DIR}) set(${proj}_INCLUDE_DIR ${${proj}_SOURCE_DIR}) - add_test(NAME CIL_REGULARISATION_TEST_1 - COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -s test -p test_*.py + add_test(NAME CIL_REGULARISATION_TEST_CPU + COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -s test -p test_CPU_*.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}) else() From 21ce6de18f2c175f85644d2889f8cc67fed94f8b Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Wed, 21 Jun 2023 11:51:41 +0100 Subject: [PATCH 03/28] [docker] remove obsolete copying of gadgetron.xml Fixes #815 --- CHANGES.md | 1 + docker/service.sh | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 6ffa497b..5827bc1a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ most build files will be removed in the docker image. - introduce `RUN_CTESTS` variable. If set to 1 (which is the default), the CTests will be run while building the image. + - remove obsolete copying of gadgetron.xml - Build Gadgetron master. Requires new Ubuntu packages: libdcmtk-dev, libpugixml-dev, libgflags-dev, libssl-dev, libcurl4-openssl-dev, pkg-config, golang, libboost-coroutine-dev, libboost-context-dev, libboost-random-dev. - Added SuperBuild project dependency: range-v3, RocksDB, Date, mrd-storage-server diff --git a/docker/service.sh b/docker/service.sh index 28560d60..a7917f9b 100755 --- a/docker/service.sh +++ b/docker/service.sh @@ -31,8 +31,6 @@ stop_service() pushd $SIRF_PATH/../.. echo "start gadgetron" -GCONFIG=./INSTALL/share/gadgetron/config/gadgetron.xml -[ -f "$GCONFIG" ] || cp "$GCONFIG".example "$GCONFIG" [ -f ./INSTALL/bin/gadgetron ] \ && ./INSTALL/bin/gadgetron >& ~/gadgetron.log& From 7e285c303647b680db92555509b9f41c93338bb3 Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Wed, 21 Jun 2023 17:51:35 +0100 Subject: [PATCH 04/28] [GHA] clean-up some disk space first --- .github/workflows/GHA_increase_disk_space.sh | 23 +++++++++++++++ .github/workflows/c-cpp.yml | 13 ++++++++ .github/workflows/docker_build.yml | 31 ++++++++++++-------- 3 files changed, 54 insertions(+), 13 deletions(-) create mode 100755 .github/workflows/GHA_increase_disk_space.sh diff --git a/.github/workflows/GHA_increase_disk_space.sh b/.github/workflows/GHA_increase_disk_space.sh new file mode 100755 index 00000000..292a4cf4 --- /dev/null +++ b/.github/workflows/GHA_increase_disk_space.sh @@ -0,0 +1,23 @@ +#!/bin/bash +df -h +# locations from the internet, e.g. https://github.com/easimon/maximize-build-space +# saves about 2GB +if [ -d /usr/share/dotnet ]; then + echo removing dotnet + sudo rm -rf /usr/share/dotnet +fi +# saves about 10 GB +if [ -d "$AGENT_TOOLSDIRECTORY" ]; then + echo removing agent_tools + sudo rm -rf "$AGENT_TOOLSDIRECTORY" +fi +# saves about 10 GB +if [ -d /usr/local/lib/android ]; then + echo removing android files + sudo rm -rf /usr/local/lib/android +fi +if [ -d /opt/ghc ]; then + echo removing android files + sudo rm -rf /opt/ghc +fi +df -h diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 7d3bdb73..ffb2eee6 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -72,6 +72,19 @@ jobs: steps: - uses: actions/checkout@v3 + + - name: disk space + shell: bash + run: | + case ${{matrix.os}} in + (ubuntu* | macOS*) + sudo .github/workflows/GHA_increase_disk_space.sh + ;; + (windows*) + # no idea what to do here + ;; + esac + - name: install_dependencies run: cd docker; diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index c604d524..46965f20 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -24,11 +24,11 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Install docker and pre-reqs + - name: Install docker and pre-reqs and clean some disk-space shell: bash -l {0} run: | - # make the file runnable - sudo bash .github/workflows/install_docker.sh + sudo .github/workflows/install_docker.sh + sudo .github/workflows/GHA_increase_disk_space.sh - name: Build docker core image # Builds docker image from Docker file. @@ -56,10 +56,11 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - name: Install docker and pre-reqs + - name: Install docker and pre-reqs and clean some disk-space shell: bash -l {0} run: | - .github/workflows/install_docker.sh + sudo .github/workflows/install_docker.sh + sudo .github/workflows/GHA_increase_disk_space.sh - name: Build docker core-gpu image # Builds docker image from Docker file. @@ -89,10 +90,11 @@ jobs: tag: ['latest', 'devel'] steps: - uses: actions/checkout@v3 - - name: Install docker and pre-reqs + - name: Install docker and pre-reqs and clean some disk-space shell: bash -l {0} run: | - .github/workflows/install_docker.sh + sudo .github/workflows/install_docker.sh + sudo .github/workflows/GHA_increase_disk_space.sh - name: Download artifact of core image uses: actions/download-artifact@v3 @@ -136,10 +138,11 @@ jobs: needs: build-core-gpu steps: - uses: actions/checkout@v3 - - name: Install docker and pre-reqs + - name: Install docker and pre-reqs and clean some disk-space shell: bash -l {0} run: | - .github/workflows/install_docker.sh + sudo .github/workflows/install_docker.sh + sudo .github/workflows/GHA_increase_disk_space.sh - name: Download artifact of core image uses: actions/download-artifact@v3 @@ -189,10 +192,11 @@ jobs: tag: ['service', 'devel-service'] steps: - uses: actions/checkout@v3 - - name: Install docker and pre-reqs + - name: Install docker and pre-reqs and clean some disk-space shell: bash -l {0} run: | - .github/workflows/install_docker.sh + sudo .github/workflows/install_docker.sh + sudo .github/workflows/GHA_increase_disk_space.sh - name: setup variables shell: bash -l {0} @@ -256,10 +260,11 @@ jobs: # tag: ['core', 'latest', 'devel', 'service', 'devel-service', 'core-gpu', 'service-gpu'] # steps: # - uses: actions/checkout@v3 - # - name: Install docker and pre-reqs + # - name: Install docker and pre-reqs and clean some disk-space # shell: bash -l {0} # run: | - # .github/workflows/install_docker.sh + # sudo .github/workflows/install_docker.sh + # sudo .github/workflows/GHA_increase_disk_space.sh # - name: Download artifact of image # uses: actions/download-artifact@v3 From a9e5d55c287ae0348cc33d22a99efa180a3d22bb Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Thu, 22 Jun 2023 08:16:56 +0100 Subject: [PATCH 05/28] [GHA] clear more docker images before saving --- .github/workflows/docker_build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/docker_build.yml b/.github/workflows/docker_build.yml index 46965f20..dc525771 100644 --- a/.github/workflows/docker_build.yml +++ b/.github/workflows/docker_build.yml @@ -240,7 +240,8 @@ jobs: run: | # first we must delete image that is no longer needed, to save space: docker rmi synerbi/sirf:${{ env.prereq_image_name }} - yes | docker system prune + # get rid of everything over 2 days old + docker system prune -a --filter "until=2d" docker image ls docker save synerbi/sirf:service | gzip > ${{ matrix.tag }}.tar.gz From d46a29620fdd4fb294ff447c21e6da0dde9f74f1 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Tue, 11 Jul 2023 17:33:42 +0100 Subject: [PATCH 06/28] use environment.yml from SIRF-Exercise Uses environment.yml from SIRF-Exercises if using conda, and it is found. Defaults to requirements.txt if not found or not using conda. --- docker/user_service-ubuntu.sh | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/docker/user_service-ubuntu.sh b/docker/user_service-ubuntu.sh index c490c619..3f5f2952 100755 --- a/docker/user_service-ubuntu.sh +++ b/docker/user_service-ubuntu.sh @@ -28,17 +28,27 @@ fi #install SIRF-Exercises requirements cd $INSTALL_DIR/SIRF-Exercises -if [ -f requirements.txt ]; then - cat requirements.txt - if [ "$PYTHON" = "miniconda" ]; then - # installing the requirements.txt with mamba requires some cleaning of the requirements.txt - # Also the requirements.txt contains some packages that are not found on conda-forge, i.e. brainweb - # Therefore, these need to be installed by pip. - # This is handled by the install-sirf-exercises-dep.py script - python ~/install-sirf-exercises-dep.py requirements.txt +if [ "$PYTHON" = "miniconda" ]; then + if [ -f environment.yml ]; then + mamba env update --file environment.yml else - # Otherwise, just install the requirements.txt with pip + if [ -f requirements.txt ]; then + cat requirements.txt + # installing the requirements.txt with mamba requires some cleaning of the requirements.txt + # Also the requirements.txt contains some packages that are not found on conda-forge, i.e. brainweb + # Therefore, these need to be installed by pip. + # This is handled by the install-sirf-exercises-dep.py script + python ~/install-sirf-exercises-dep.py requirements.txt + else + echo "SIRF-Exercises requirements: did not find requirements.txt nor environment.yml. Skipping" + fi + fi +else + if [ -f requirements.txt ]; then + # just install the requirements.txt with pip ${PYTHON} -m pip install -U -r requirements.txt + else + echo "SIRF-Exercises requirements: did not find requirements.txt. Skipping" fi fi From 2e295c7fe881f3c354fcca05896e7ee096688ef7 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Wed, 12 Jul 2023 09:20:25 +0100 Subject: [PATCH 07/28] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 5827bc1a..ef9c8d48 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -7,6 +7,7 @@ - introduce `RUN_CTESTS` variable. If set to 1 (which is the default), the CTests will be run while building the image. - remove obsolete copying of gadgetron.xml + - Installing requirements for SIRF-Exercises uses its environment.yml or requirements.txt depending on settings. - Build Gadgetron master. Requires new Ubuntu packages: libdcmtk-dev, libpugixml-dev, libgflags-dev, libssl-dev, libcurl4-openssl-dev, pkg-config, golang, libboost-coroutine-dev, libboost-context-dev, libboost-random-dev. - Added SuperBuild project dependency: range-v3, RocksDB, Date, mrd-storage-server From 42e57717083b32f2f3a4e13ec779a272e09913fd Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Fri, 14 Jul 2023 23:14:13 +0100 Subject: [PATCH 08/28] Use value of BUILD_TESTING_Gadgetron we forced BUILD_TESTING=ON for some reason. Now we use the value of our own CMake variable Fixes #824 --- SuperBuild/External_Gadgetron.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SuperBuild/External_Gadgetron.cmake b/SuperBuild/External_Gadgetron.cmake index 816af779..8bb69a3f 100644 --- a/SuperBuild/External_Gadgetron.cmake +++ b/SuperBuild/External_Gadgetron.cmake @@ -47,7 +47,7 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr # Gadgetron only adds tests if (GTEST_FOUND AND ARMADILLO_FOUND) # but that's currently always the case. - # Default to on, as we cannot disable it, and they're quite fast + # Default to on, as they're quite fast option(BUILD_TESTING_${proj} "Build tests for ${proj}" ON) #message(STATUS "HDF5_ROOT in External_SIRF: " ${HDF5_ROOT}) @@ -135,7 +135,7 @@ endif() -DUSE_MKL:BOOL=${${proj}_USE_MKL} -DUSE_CUDA:BOOL=${${proj}_USE_CUDA} -DUSE_OPENMP:BOOL=${${proj}_ENABLE_OPENMP} - -DBUILD_TESTING:BOOL=ON + -DBUILD_TESTING:BOOL=${BUILD_TESTING_${proj}} ) From 523d2b6571b49a568f5ac7f496f53c93006f0a38 Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Fri, 14 Jul 2023 23:15:21 +0100 Subject: [PATCH 09/28] remove python requirement for patching Gadgetron we're no longer patching it --- SuperBuild/External_Gadgetron.cmake | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/SuperBuild/External_Gadgetron.cmake b/SuperBuild/External_Gadgetron.cmake index 8bb69a3f..a9a49403 100644 --- a/SuperBuild/External_Gadgetron.cmake +++ b/SuperBuild/External_Gadgetron.cmake @@ -107,16 +107,6 @@ endif() set(${proj}_ENABLE_OPENMP OFF) endif() - # require to have access to Python for patching - if (NOT PYTHON_EXECUTABLE) - if (${CMAKE_VERSION} VERSION_LESS "3.12") - find_package(PythonInterp REQUIRED) - else() - find_package(Python COMPONENTS Interpreter REQUIRED) - set (PYTHON_EXECUTABLE ${Python_EXECUTABLE}) - endif() - endif() - # Sets ${proj}_URL_MODIFIED and ${proj}_TAG_MODIFIED SetGitTagAndRepo("${proj}") set (${proj}_CMAKE_ARGS From 053bdae2a2fff75d11c82d9bd0ea8f85d3697a57 Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Fri, 14 Jul 2023 23:17:55 +0100 Subject: [PATCH 10/28] remove CMAKE_INCLUDE/LIBRARY_PATH in Gadgetron should never have been here. The CMAKE_INCLUDE_PATH should not point to CMAKE_INSTALL_PREFIX/include, as it should be used for CMake files --- SuperBuild/External_Gadgetron.cmake | 6 ------ 1 file changed, 6 deletions(-) diff --git a/SuperBuild/External_Gadgetron.cmake b/SuperBuild/External_Gadgetron.cmake index a9a49403..0f7ba7e4 100644 --- a/SuperBuild/External_Gadgetron.cmake +++ b/SuperBuild/External_Gadgetron.cmake @@ -50,10 +50,6 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr # Default to on, as they're quite fast option(BUILD_TESTING_${proj} "Build tests for ${proj}" ON) - #message(STATUS "HDF5_ROOT in External_SIRF: " ${HDF5_ROOT}) - set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SUPERBUILD_INSTALL_DIR}) - set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} ${SUPERBUILD_INSTALL_DIR}) - # BLAS find_package(BLAS) @@ -113,8 +109,6 @@ endif() -DBUILD_PYTHON_SUPPORT:BOOL=${${proj}_BUILD_PYTHON_SUPPORT} -DBUILD_MATLAB_SUPPORT:BOOL=${${proj}_BUILD_MATLAB_SUPPORT} -DCMAKE_PREFIX_PATH:PATH=${SUPERBUILD_INSTALL_DIR} - -DCMAKE_LIBRARY_PATH:PATH=${SUPERBUILD_INSTALL_DIR}/lib - -DCMAKE_INCLUDE_PATH:PATH=${SUPERBUILD_INSTALL_DIR}/include -DCMAKE_INSTALL_PREFIX:PATH=${${proj}_INSTALL_DIR} ${Boost_CMAKE_ARGS} ${PYTHONLIBS_CMAKE_ARGS} From 59c9f4bbdc0a4edbac00aabd7b3cb602a3fb2ff7 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 9 Aug 2023 20:04:31 +0100 Subject: [PATCH 11/28] fix mamba install - fixes #826 --- docker/user_python-ubuntu.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docker/user_python-ubuntu.sh b/docker/user_python-ubuntu.sh index 1fb8463d..248c5613 100755 --- a/docker/user_python-ubuntu.sh +++ b/docker/user_python-ubuntu.sh @@ -26,16 +26,16 @@ fi # Python case "$PYTHON" in miniconda) - # miniconda - curl https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh > miniconda.sh + #curl -L https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh > miniconda.sh + curl -L https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh > miniconda.sh echo -e "\nyes\n${INSTALL_DIR}\nno" | bash miniconda.sh rm miniconda.sh source "$INSTALL_DIR"/bin/activate - conda config --add channels conda-forge + #conda config --add channels conda-forge # https://github.com/conda/conda/issues/6030 #conda update -c conda-forge -y conda - conda install -c conda-forge -y mamba - mamba update -c conda-forge -y setuptools pip + # https://github.com/SyneRBI/SIRF-SuperBuild/issues/826 + #conda install -c conda-forge -c defaults -y mamba ;; *python*) # virtualenv From 500448893e0c20d697921a57e8111517c5e5a831 Mon Sep 17 00:00:00 2001 From: Casper da Costa-Luis Date: Wed, 9 Aug 2023 20:55:07 +0100 Subject: [PATCH 12/28] suppress pip warning --- docker/requirements.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/requirements.yml b/docker/requirements.yml index 7ffa8204..141f8471 100644 --- a/docker/requirements.yml +++ b/docker/requirements.yml @@ -31,6 +31,7 @@ dependencies: - ipp-devel - ipp-include - tigre + - pip - pip: - git+https://github.com/data-exchange/dxchange.git # CIL - git+https://github.com/ismrmrd/ismrmrd-python-tools.git@master#egg=ismrmrd-python-tools From cfc92dd8fea2831402f3866faa633da118968601 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 20 Jul 2023 10:05:06 +0100 Subject: [PATCH 13/28] Update version_config.cmake --- version_config.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version_config.cmake b/version_config.cmake index 697a00b0..8a65f2d6 100644 --- a/version_config.cmake +++ b/version_config.cmake @@ -219,7 +219,7 @@ if (DEVEL_BUILD) else() - set(DEFAULT_SIRF_TAG v3.4.0) + set(DEFAULT_SIRF_TAG v3.5.0) ## STIR set(DEFAULT_STIR_URL https://github.com/UCL/STIR ) From 92e0da624122d49aaa5e62dec530b9c021e79e7c Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 20 Jul 2023 10:06:39 +0100 Subject: [PATCH 14/28] Update CHANGES.md --- CHANGES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGES.md b/CHANGES.md index ef9c8d48..c98229ab 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,6 @@ # ChangeLog -## vx.x.x +## v3.5.0 - docker image updates - introduce `REMOVE_BUILD_FILES` variable. If set to 1 (which is the default), most build files will be removed in the docker image. @@ -17,6 +17,7 @@ - range-v3: 0.12.0 - siemens_to_ismrmrd: 8bb8b08f53ce73c2de9ba5f47f1532f96292d92b - ISMRMRD: v1.13.2 + - SIRF: v3.5.0 ## v3.4.0 - Removed CIL-ASTRA as it has been merged into CIL code base. From 998e31be472da59fd8b206c9980d20f40d100349 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 20 Jul 2023 10:07:14 +0100 Subject: [PATCH 15/28] Update VM_version.txt --- VirtualBox/VM_version.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VirtualBox/VM_version.txt b/VirtualBox/VM_version.txt index 18091983..1545d966 100644 --- a/VirtualBox/VM_version.txt +++ b/VirtualBox/VM_version.txt @@ -1 +1 @@ -3.4.0 +3.5.0 From fef68c6144043f3d599023c8400ce6012db27adf Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 20 Jul 2023 10:07:59 +0100 Subject: [PATCH 16/28] Update Vagrantfile --- VirtualBox/vagrant/Vagrantfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VirtualBox/vagrant/Vagrantfile b/VirtualBox/vagrant/Vagrantfile index 7a3e4c6f..8d70ba52 100644 --- a/VirtualBox/vagrant/Vagrantfile +++ b/VirtualBox/vagrant/Vagrantfile @@ -74,7 +74,7 @@ Vagrant.configure("2") do |config| "--medium", "emptydrive" ] - vb.name = ENV["VB_NAME"] || "SIRF 3.4.0" + vb.name = ENV["VB_NAME"] || "SIRF 3.5.0" vb.customize ["modifyvm", :id, "--clipboard", "bidirectional", '--graphicscontroller', 'vmsvga', From 84798be7e43db897935f6b44954ed4f23fda04f6 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 10 Aug 2023 08:46:27 +0100 Subject: [PATCH 17/28] disable CCPi regularisation unittests of CIL --- SuperBuild/External_CIL.cmake | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SuperBuild/External_CIL.cmake b/SuperBuild/External_CIL.cmake index 74fa0a8d..472e5dab 100644 --- a/SuperBuild/External_CIL.cmake +++ b/SuperBuild/External_CIL.cmake @@ -116,9 +116,10 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr add_test(NAME CIL_FRAMEWORK_TESTS_9 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_Operator.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) - add_test(NAME CIL_FRAMEWORK_TESTS_10 - COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_PluginsRegularisation.py - WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) + # temporarily disable regularisation toolkit tests due to #832 + # add_test(NAME CIL_FRAMEWORK_TESTS_10 + # COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_PluginsRegularisation.py + # WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) add_test(NAME CIL_FRAMEWORK_TESTS_11 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_quality_measures.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) From 2c1f7f8fe26588bf79e1e8040ff7bc57f189f41f Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 10 Aug 2023 08:47:41 +0100 Subject: [PATCH 18/28] disable build of CCPi Regularisation with CIL by default --- SuperBuild.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SuperBuild.cmake b/SuperBuild.cmake index 96a93a7e..981c9670 100644 --- a/SuperBuild.cmake +++ b/SuperBuild.cmake @@ -317,7 +317,7 @@ if ("${PYTHON_STRATEGY}" STREQUAL "CONDA") set (BUILD_CIL OFF) endif() if (BUILD_CIL) - list(APPEND ${PRIMARY_PROJECT_NAME}_DEPENDENCIES CIL CCPi-Regularisation-Toolkit TomoPhantom) + list(APPEND ${PRIMARY_PROJECT_NAME}_DEPENDENCIES CIL TomoPhantom) endif() if (BUILD_ASTRA) list(APPEND ${PRIMARY_PROJECT_NAME}_DEPENDENCIES astra-python-wrapper) From cdce88184d522b13171b2aec26c4e34640ee4ad2 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 10 Aug 2023 08:50:30 +0100 Subject: [PATCH 19/28] [ci skip] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index c98229ab..f8fed16b 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,7 @@ # ChangeLog ## v3.5.0 +- Temporarily disable CCPi-Regularisation due to #832 - docker image updates - introduce `REMOVE_BUILD_FILES` variable. If set to 1 (which is the default), most build files will be removed in the docker image. From 893a6557cf4c50065c903f35b59242c71561236b Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 10 Aug 2023 09:40:17 +0100 Subject: [PATCH 20/28] remove comments --- SuperBuild/External_CIL.cmake | 4 ---- 1 file changed, 4 deletions(-) diff --git a/SuperBuild/External_CIL.cmake b/SuperBuild/External_CIL.cmake index 472e5dab..0a9aaf2a 100644 --- a/SuperBuild/External_CIL.cmake +++ b/SuperBuild/External_CIL.cmake @@ -116,10 +116,6 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr add_test(NAME CIL_FRAMEWORK_TESTS_9 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_Operator.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) - # temporarily disable regularisation toolkit tests due to #832 - # add_test(NAME CIL_FRAMEWORK_TESTS_10 - # COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_PluginsRegularisation.py - # WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) add_test(NAME CIL_FRAMEWORK_TESTS_11 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_quality_measures.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) From 3fc68fac8110ff1205c420abc0788fd9e1b8412a Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Fri, 21 Jul 2023 09:30:56 +0100 Subject: [PATCH 21/28] [CMAKE] default DISABLE_MATLAB to ON SIRF Matlab support is out-of-date and could generate conflicts with Python shared libraries. --- CHANGES.md | 5 ++++- SuperBuild.cmake | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index f8fed16b..21507512 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -2,6 +2,9 @@ ## v3.5.0 - Temporarily disable CCPi-Regularisation due to #832 +- CMake/building: + - default `DISABLE_MATLAB` to `ON` as SIRF Matlab support is out-of-date and enabling it could + generate conflicts with Python shared libraries. - docker image updates - introduce `REMOVE_BUILD_FILES` variable. If set to 1 (which is the default), most build files will be removed in the docker image. @@ -11,7 +14,7 @@ - Installing requirements for SIRF-Exercises uses its environment.yml or requirements.txt depending on settings. - Build Gadgetron master. Requires new Ubuntu packages: libdcmtk-dev, libpugixml-dev, libgflags-dev, libssl-dev, libcurl4-openssl-dev, pkg-config, golang, libboost-coroutine-dev, libboost-context-dev, libboost-random-dev. -- Added SuperBuild project dependency: range-v3, RocksDB, Date, mrd-storage-server +- Added SuperBuild project dependencies for Gadgetron: range-v3, RocksDB, Date, mrd-storage-server - updated versions: - Gadgetron: 42f11bf14b77b16f1ca5bcfbfa435d5ee8cb22a6 (master) - RocksDB: 6.26.0 diff --git a/SuperBuild.cmake b/SuperBuild.cmake index 981c9670..8354c71f 100644 --- a/SuperBuild.cmake +++ b/SuperBuild.cmake @@ -147,7 +147,7 @@ else() endif() #### MATLAB support -option(DISABLE_Matlab "Disable building MATLAB support" OFF) +option(DISABLE_Matlab "Disable building MATLAB support" ON) if (DISABLE_Matlab) message(STATUS "Matlab support disabled") else() From 160a02ef0e6e0fbe3f533878a7bc5d8833ce843d Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Tue, 15 Aug 2023 14:38:54 +0100 Subject: [PATCH 22/28] remove obsolete version restriction for SciPy --- docker/requirements.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/requirements.yml b/docker/requirements.yml index 141f8471..9f0d69c5 100644 --- a/docker/requirements.yml +++ b/docker/requirements.yml @@ -11,7 +11,7 @@ dependencies: - pytest - pytest-cov - numpy # CIL - - scipy=1.7.3 # CIL prevents `GLIBCXX_3.4.30' not found + - scipy - docopt - matplotlib - Cython # CIL From cfa66b46b61b314d825d4fbcf9908c2bcc15e3fc Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 7 Sep 2023 10:38:23 +0100 Subject: [PATCH 23/28] Add SIRF/CIL integration tests --- SuperBuild/External_CIL.cmake | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SuperBuild/External_CIL.cmake b/SuperBuild/External_CIL.cmake index 0a9aaf2a..7fb5d092 100644 --- a/SuperBuild/External_CIL.cmake +++ b/SuperBuild/External_CIL.cmake @@ -95,9 +95,9 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr add_test(NAME CIL_FRAMEWORK_TESTS_3 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_run_*.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) - # add_test(NAME CIL_SIRF_TESTS - # COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_SIRF*.py - # WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) + add_test(NAME CIL_SIRF_TESTS + COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_SIRF*.py + WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) add_test(NAME CIL_FRAMEWORK_TESTS_4 COMMAND ${PYTHON_EXECUTABLE} -m unittest discover -p test_Block_*.py WORKING_DIRECTORY ${${proj}_SOURCE_DIR}/Wrappers/Python/test) From e04bd69bb8773deac13d860e7264c73813c594a2 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 7 Sep 2023 12:13:20 +0100 Subject: [PATCH 24/28] Update CIL version --- version_config.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version_config.cmake b/version_config.cmake index 8a65f2d6..0bcefb6d 100644 --- a/version_config.cmake +++ b/version_config.cmake @@ -148,7 +148,7 @@ set(DEFAULT_JSON_TAG v3.10.4) # CCPi CIL # minimum supported version of CIL supported is > 22.1.0 or from commit a6062410028c9872c5b355be40b96ed1497fed2a set(DEFAULT_CIL_URL https://github.com/TomographicImaging/CIL.git) -set(DEFAULT_CIL_TAG a6062410028c9872c5b355be40b96ed1497fed2a) +set(DEFAULT_CIL_TAG e7e137b97d403576502ffc768e596ec1f66e038a) set(DEFAULT_CCPi-Regularisation-Toolkit_URL https://github.com/vais-ral/CCPi-Regularisation-Toolkit.git) set(DEFAULT_CCPi-Regularisation-Toolkit_TAG "v22.0.0") From 408a142023af4e0eb09e17e92c7a8758a3756383 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 7 Sep 2023 12:14:06 +0100 Subject: [PATCH 25/28] [ci skip] Update CHANGES.md --- CHANGES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGES.md b/CHANGES.md index 21507512..fd92ffe1 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -22,6 +22,7 @@ - siemens_to_ismrmrd: 8bb8b08f53ce73c2de9ba5f47f1532f96292d92b - ISMRMRD: v1.13.2 - SIRF: v3.5.0 + - CIL: e7e137b97d403576502ffc768e596ec1f66e038a ## v3.4.0 - Removed CIL-ASTRA as it has been merged into CIL code base. From 4090d0471dd6b1597947078cd35dab1e2e5bce7d Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Thu, 7 Sep 2023 13:05:54 +0100 Subject: [PATCH 26/28] Update version_config.cmake --- version_config.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version_config.cmake b/version_config.cmake index 0bcefb6d..f44a270b 100644 --- a/version_config.cmake +++ b/version_config.cmake @@ -148,7 +148,7 @@ set(DEFAULT_JSON_TAG v3.10.4) # CCPi CIL # minimum supported version of CIL supported is > 22.1.0 or from commit a6062410028c9872c5b355be40b96ed1497fed2a set(DEFAULT_CIL_URL https://github.com/TomographicImaging/CIL.git) -set(DEFAULT_CIL_TAG e7e137b97d403576502ffc768e596ec1f66e038a) +set(DEFAULT_CIL_TAG test_SIRF_fix) set(DEFAULT_CCPi-Regularisation-Toolkit_URL https://github.com/vais-ral/CCPi-Regularisation-Toolkit.git) set(DEFAULT_CCPi-Regularisation-Toolkit_TAG "v22.0.0") From 68f5cecff70fc6d2b3aa9008f29898c4a68ffd96 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Fri, 8 Sep 2023 08:19:38 +0100 Subject: [PATCH 27/28] use new CIL hash --- CHANGES.md | 2 +- version_config.cmake | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index fd92ffe1..bb8829c9 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -22,7 +22,7 @@ - siemens_to_ismrmrd: 8bb8b08f53ce73c2de9ba5f47f1532f96292d92b - ISMRMRD: v1.13.2 - SIRF: v3.5.0 - - CIL: e7e137b97d403576502ffc768e596ec1f66e038a + - CIL: 0ba2f8e2935db66ec3dfe8c88e407e8d0eb5609f ## v3.4.0 - Removed CIL-ASTRA as it has been merged into CIL code base. diff --git a/version_config.cmake b/version_config.cmake index f44a270b..7c98925a 100644 --- a/version_config.cmake +++ b/version_config.cmake @@ -148,7 +148,7 @@ set(DEFAULT_JSON_TAG v3.10.4) # CCPi CIL # minimum supported version of CIL supported is > 22.1.0 or from commit a6062410028c9872c5b355be40b96ed1497fed2a set(DEFAULT_CIL_URL https://github.com/TomographicImaging/CIL.git) -set(DEFAULT_CIL_TAG test_SIRF_fix) +set(DEFAULT_CIL_TAG 0ba2f8e2935db66ec3dfe8c88e407e8d0eb5609f) set(DEFAULT_CCPi-Regularisation-Toolkit_URL https://github.com/vais-ral/CCPi-Regularisation-Toolkit.git) set(DEFAULT_CCPi-Regularisation-Toolkit_TAG "v22.0.0") From d0ed5b6a2388392663cb1e51c5c387089d389d80 Mon Sep 17 00:00:00 2001 From: Edoardo Pasca Date: Tue, 12 Sep 2023 09:22:20 +0100 Subject: [PATCH 28/28] update changelog [ci skip] --- CHANGES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index bb8829c9..d7064056 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -23,6 +23,8 @@ - ISMRMRD: v1.13.2 - SIRF: v3.5.0 - CIL: 0ba2f8e2935db66ec3dfe8c88e407e8d0eb5609f + - CCPi-Regularisation: v22.0.0 + - TomoPhantom: v2.0.0 ## v3.4.0 - Removed CIL-ASTRA as it has been merged into CIL code base.