Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cil #154

Merged
merged 144 commits into from
Oct 8, 2019
Merged

Add cil #154

merged 144 commits into from
Oct 8, 2019

Conversation

paskino
Copy link
Contributor

@paskino paskino commented Nov 16, 2018

Adds CIL optimisation and regularisation.

Adds new iterative reconstruction algorithms from CIL.
Currently tested with SPDHG.

Functionality requires:

else()
set(DEFAULT_SIRF_TAG v1.1.1)
set(DEFAULT_SIRF_TAG origin/spdhg_from_cil)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can't merge with this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clearly not. It needs merging of SyneRBI/SIRF#237 and SyneRBI/SIRF#238 and then it'll go away.

This PR required changes in more or less 3 different repos. I wanted to make a working PR for this one. Once we start merging the other PRs this will be cleaned.

set(PYTHON_DEST "${CMAKE_INSTALL_PREFIX}/python")
endif()
message(STATUS "Python libraries found")
message(STATUS "SIRF Python modules will be installed in " ${PYTHON_DEST})
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copy-paste mistake

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you refer to?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SIRF Python module -> CIL?

CMake/FindCython.cmake Show resolved Hide resolved
SuperBuild.cmake Show resolved Hide resolved
SuperBuild/External_CCPi-Framework.cmake Outdated Show resolved Hide resolved
# Author: Kris Thielemans
# Author: Edoardo Pasca
# Copyright 2017 University College London
# Copyright 2017 STFC
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and 2018

# Author: Kris Thielemans
# Author: Edoardo Pasca
# Copyright 2017 University College London
# Copyright 2017 STFC
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

and 2018

Copy link

@mehrhardt mehrhardt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think I can contribute to this piece of code. @KrisThielemans and @evgueni-ovtchinnikov should do this.

@KrisThielemans
Copy link
Member

a note on copyright dates and notices. If you copied code from somewhere, you need to preserve its copyright data/notice. At the same time, you need to make sure it's up to date with your changes.

Seems therefore that you either remove Ben and me, or you keep the original date. sorry

@casperdcl
Copy link
Member

interesting looks like travis has an old version of docker which is failing to build because of something like GoogleContainerTools/skaffold#2576 - or perhaps the cache was cleared in a previous build which failed.

@KrisThielemans
Copy link
Member

@casperdcl ready to merge?

@casperdcl
Copy link
Member

@KrisThielemans there's still https://github.com/CCPPETMR/SIRF-SuperBuild/pull/154/files#r330539512 I think needs to be addressed (or ignored - idk)

@casperdcl
Copy link
Member

apart from that there's all the hardcoded version/branch stuff which may have to change.

Copy link
Member

@KrisThielemans KrisThielemans left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more very small changes please.

version_config.cmake Show resolved Hide resolved
CMake/FindCython.cmake Show resolved Hide resolved
@@ -65,7 +65,8 @@ if(NOT ( DEFINED "USE_SYSTEM_${externalProjName}" AND "${USE_SYSTEM_${externalPr
-DCMAKE_INSTALL_PREFIX=${${proj}_Install_Dir}
-DUSE_THROW_EXCEP=ON
# fixes lib_reg_maths.a `GOMP_parallel' undefined reference linker errors
-DUSE_OPENMP:BOOL=OFF
-DUSE_OPENMP:BOOL=ON
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this will break Apple rather dramatically. @rijobro ?

In any case, we need ${proj}_ENABLE_OPENMP as in https://github.com/CCPPETMR/SIRF-SuperBuild/blob/7a479cfd0b936da129e638932ca8b039f714791e/SuperBuild/External_STIR.cmake#L55-L60. To clean that up, we could have a ENABLE_OPENMP option in SuperBuild.cmake, and use its value in the various projects. But feel free to do that with a latter PR (in which case you'd need to raise an issue).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opened #269

SuperBuild/External_TomoPhantom.cmake Outdated Show resolved Hide resolved
@@ -3,7 +3,7 @@
set -ev
INSTALL_DIR="${1:-/opt}"
# SIRF
git clone https://github.com/CCPPETMR/SIRF-SuperBuild --recursive -b master $INSTALL_DIR/SIRF-SuperBuild
git clone https://github.com/CCPPETMR/SIRF-SuperBuild --recursive -b add_cil $INSTALL_DIR/SIRF-SuperBuild
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't forget!

version_config.cmake Outdated Show resolved Hide resolved
@KrisThielemans
Copy link
Member

@paskino, @casperdcl please add some lines to CHANGES.md as well before the merge please

PYTHONPATH: prefix PYTHONPATH \n\
SETUP_PY: execute ${PYTHON_EXECUTABLE} setup.py install \n\
CONDA: do nothing")
set_property(CACHE PYTHON_STRATEGY PROPERTY STRINGS PYTHONPATH SETUP_PY CONDA)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems unneeded

Comment on lines +73 to +77
set(PYTHON_STRATEGY "PYTHONPATH" CACHE STRING "\
PYTHONPATH: prefix PYTHONPATH \n\
SETUP_PY: execute ${PYTHON_EXECUTABLE} setup.py install \n\
CONDA: do nothing")
set_property(CACHE PYTHON_STRATEGY PROPERTY STRINGS PYTHONPATH SETUP_PY CONDA)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems unneeded

@casperdcl casperdcl requested review from mehrhardt and removed request for mehrhardt October 8, 2019 07:39
@paskino paskino merged commit 4aa0d76 into master Oct 8, 2019
@casperdcl
Copy link
Member

@paskino looks like you squash-merged this which means no git history. @KrisThielemans would you mind if I force-push to master including the history?

Copy link
Member

@casperdcl casperdcl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

post-merge discussions

.travis.yml Show resolved Hide resolved
@@ -214,6 +216,25 @@ if (BUILD_petmr_rd_tools)
list(APPEND ${PRIMARY_PROJECT_NAME}_DEPENDENCIES petmr_rd_tools)
endif()

if ("${PYTHON_STRATEGY}" STREQUAL "CONDA")
set (BUILD_CIL OFF)
Copy link
Member

@casperdcl casperdcl Oct 8, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@paskino should also set(BUILD_CIL_LITE OFF)?

Comment on lines +170 to +171
option(BUILD_CIL "Build CCPi CIL Modules and ASTRA engine" OFF)
option(BUILD_CIL_LITE "Build CCPi CIL Modules" OFF)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to have BUILD_CIL and BUILD_ASTRA separately? Or BUILD_CIL_STRATEGY CACHE STRING "FULL NO_ASTRA"?

@KrisThielemans
Copy link
Member

KrisThielemans commented Oct 8, 2019 via email

@casperdcl
Copy link
Member

casperdcl commented Oct 8, 2019

@KrisThielemans there was a 15min gap between the merge and my force-push, and the code was in the same state so don't think it should be an issue (@paskino you may be the only one who has to git checkout master && git fetch origin && git reset --hard origin/master)

paskino added a commit to paskino/SIRF-SuperBuild that referenced this pull request Oct 25, 2021
* install linux kernel headers 

closes  SyneRBI#149

* move build-essential at linux-headers install time
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants