Computational Collaborative Projects
• CCPs bring together leading UK expertise in key fields of computational research to tackle large-scale scientific software development, maintenance and distribution.
• The aim is to capitalise on investment by encouraging widespread and long term use of the software, and by fostering new initiatives such as High End Computing consortia.
http://www.ccp.ac.uk/
CCP in Synergistic PET-MR Reconstruction
• 5 year funding (April 2015 – March 2020)
• Budget for networking activities
• Core support via STFC• Scientific programmers: 1 FTE (for 5 years)• Administration: 0.16 FTE (for 5 years)
• David AtkinsonJulian MatthewsClaudia PietroAndrew ReaderKris Thielemans
Aims• Network formation: bringing together expertise in each
modality• advancing understanding of PET-MR
• enhancing understanding of the algorithms used for each modality
• Developing software infrastructure• creating an Open Source software platform for integrated PET-MR
image reconstruction
• standardisation of data formats
• database with test cases
Past Networking Activities Mailing lists and website
Workshops/courses (co-organisers) 2nd International Training School on PET-MRI Engineering, Leeds, 2015
IEEE MIC 2015 Workshop: Open Source Software for Image Reconstruction
IEEE MIC 2015 Short Course: PET/SPECT/CT image reconstruction
IEEE MIC 2015: STIR User's Meeting
BC ISMRM Leeds 2016: half day Educational Workshop on PET-MRI Image reconstruction
UCL PET/MR Symposium 2016
IEEE MIC 2016: STIR User's Meeting
Software Framework Meetings ~6 weekly
10 meetings so far, with average ~15 attendants (local and remote)
Software• Framework for 3D and 4D reconstruction of PET-MR data
• Simple enough for education and teaching
• Powerful enough for processing of real data in a research context
• Easy installation (e.g. installation script, precompiled, virtual machine, Docker)
• Open Source
WHY OPEN SOURCE?
• Common platform for research
• Common platform for development
• Interaction with other packages
• Rigorous validation & testing by the community
• Speeds up scientific discoveries & technological evolution
• Great examples with demonstrated impact
GATE
Architecture overview
POSSUM
Standard file format
for (almost) ‘raw’ data(PET and MR)
PET package 1
PET package 2
MR package 1
MR package 2
Framework
Optimisation Code 1
File format translators supplied by/developed with manufacturers
Images(DICOM,
Nifti,…)
simulators
Framework
• “Glue” between different packages
•Provides consistent interface to user• It should not matter which package you are using for e.g.
the PET part
• Language interfaces• MATLAB
• Python
Software Status• Underlying packages:
• Functionality• Basic data manipulation
• Acquisition modelling• PET: geometric, but randoms/scatter/etc in progress
• MR: fully and under-sampled Cartesian
• Access to some reconstruction algorithms• PET: OSEM, OSL, OSSPS
• MR: GRAPPA, SENSE
• Processing of scanner data • Siemens mMR: MR OK, PET OK but not user-friendly
• GE Signa PET/MR: initial code for PET
Example
image = stir.Image() # STiR image
image.initialise((111, 111, 31), (3, 3, 3.375))
image.fill(1.0)
obj_fun = stir.PoissonLogLh_LinModMean_AcqModData()
grad = obj_fun.gradient(image, 0) # STiR image
i = image.as_array() # Python array (numpy ndarray)
g = grad.as_array() # Python array (numpy ndarray)
f = lambda t: -obj_fun.value(image.fill(i + t*g))
t = scipy.optimize.fminbound(f, 0, tmax)
i = i + t*g
image.fill(i)
Software distribution
• https://github.com/CCPPETMR• All source code (Apache 2.0 license)
• Installation instructions
• Virtual Machine (VirtualBox)http://www.ccppetmr.ac.uk/downloads• Preinstalled STIR, Gadgetron
• Preinstalled CCP-PETMR software for Python
• Easy update mechanism (choice between stable and experimental)
http://www.ccppetmr.ac.uk