Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

MCIR

The code in this folder was used for the publication on using SIRF for PET/MR MCIR (DOI TBC):

Motion estimation and correction for simultaneous PET/MR using SIRF
Richard Brown, Christoph Kolbitsch, Claire Delplancke, Evangelos Papoutsellis, Johannes Mayer, Evgueni Ovtchinnikov, Edoardo Pasca, Radhouene Neji, Casper da Costa-Luis, Ashley G. Gillman, Matthias J. Ehrhardt, Jamie McClelland, Bjoern Eiben, and Kris Thielemans
Special issue on Synergistic Image Reconstruction (Part 2), Philosophical Transactions of the Royal Society A

It contains two main scripts, detailed below, for the MR and PET MCIR reconstructions, respectively.

MR MCIR

The script is located here: MR_recon_file.py

  • The results of this script are given in Section 3a of the publication.

PET MCIR

The script is located here: PET_recon_file.py

  • PET MCIR using PDHG and SPDHG algorithms. For SPDHG, the subsetting takes place over the motion gates, although an untested implementation of subsetting over the views is also included. The results of this script is given in Section 3b of the publication.

Code dependencies

At the time of writing, these scripts used some features that were not quite in a finalised state such that they could be incorporated into the main branches of the SIRF and CIL repositories. We hope that over time, these will be merged in, simplifying the following steps somewhat.

The best bet is to checkout a commit of the SIRF-SuperBuild that was used at the time of writing, as this will install as many dependencies as possible with matching versions that were used. This can be done with:

git checkout https://github.com/SyneRBI/SIRF-SuperBuild.git
cd SIRF-SuperBuild
git checkout 0365a51041f885e652d560ad7d4848555ad19fe0
mkdir ~/devel/build
cd ~/devel/build
cmake ../SIRF-SuperBuild
make

As per the rest of SIRF, this code should work all versions of python3.x, which has CI/CD for various python versions.

N.B.: Unfortunately, there is no guarantee that this will work, as we cannot guarantee that old versions of SIRF's dependencies will successfully build on newer versions of operating systems.

PET dependencies

  • SIRF branch pet_am_subset – adds functionality for projecting a subset of views. This functionality is not currently used in the MCIR process, so perhaps the current master branch would work.
  • CIL tag 20.11.1
  • SIRF-SuperBuild branch update_cil_2011: Gadgetron is not built.

MR dependencies

With the SuperBuild successfully installed, the MR code requires the current branches to be checked out:

  • SIRF branch rpe-encoding: enables handling of non-Cartesian k-space data.
  • CIL tag 20.04