SyneRBI / SIRF

Main repository for the CCP SynerBI software
http://www.ccpsynerbi.ac.uk
Other
58 stars 29 forks source link

add support for the new STIR parallelproj projector #875

Closed KrisThielemans closed 3 years ago

KrisThielemans commented 3 years ago

https://github.com/UCL/STIR/pull/817 adds @gschramm's https://github.com/gschramm/parallelproj

This should be an almost verbatim copy of what @rijobro did for NiftyPET, except that we don't want to compare with Python parallelproj directly (therefore is simpler). STIR will have STIR_WITH_Parallelproj_PROJECTOR CMake and C++ preprocessor variables (note the capital P).

Note that this will work with and without GPU (SIRF doesn't need to know), as STIR will fall back to the OpenMP version if CUDA isn't found.

I've created https://github.com/SyneRBI/SIRF-SuperBuild/pull/495 already.

KrisThielemans commented 3 years ago

Note that the SIR PR will be merged to master, but as long as SIRF uses the above variables, it should compile for STIR's release_4 branch.

evgueni-ovtchinnikov commented 3 years ago

Added PETAcquisitionModelUsingParallelproj to SIRF, but SuperBuild apparently could not find parallelproj:

CMake Warning at CMakeLists.txt:177 (find_package): By not providing "Findparallelproj.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "parallelproj", but CMake did not find one.

Could not find a package configuration file provided by "parallelproj" with any of the following names:

parallelprojConfig.cmake
parallelproj-config.cmake

Add the installation prefix of "parallelproj" to CMAKE_PREFIX_PATH or set "parallelproj_DIR" to a directory containing one of the above files. If "parallelproj" provides a separate development package or SDK, be sure it has been installed.

KrisThielemans commented 3 years ago
PATH=/usr/local/cuda/bin:$PATH
cmake ...
make ...
KrisThielemans commented 3 years ago

also, you need https://github.com/SyneRBI/SIRF-SuperBuild/pull/495. hopefully merged in ~20 mins