12th Software Framework meeting (16/01/17: 13:00-16:00)

Attendance (12 + 4 via Skype for Business) [16]

Held at the University of Manchester, ICAM building

Physically Present: Harry Tsoumpas (Leeds); Martin Turner (Manchester); David Atkinson (UCL); Daniel Deidda (Leeds); Kris Thielemans (UCL); Paul Booth (BEA); Evgueni Ovtchinnikov (STFC); William Hallett (Imanova); Ampere Kui (Leeds); Alaleh Rashidnasab (UCL); Ben Thomas (UCL); Julian Matthews (Manchester)

Remote: Ron Fowler (STFC), Claudia Prieto (KCL), Christoph Kolbitsch (PTB), Andrew Reader (KCL)

Software Status Update:

·  Software had not changed radically in functionality since the last sw meeting on github.

·  Current underlying package; PET, static but not analytic – MR analytic but not static (changes to interfaces regarding 'output' and manipulation.)

·  Some manipulation and some support is included outside of python and MATLAB

·  A lot of progress has been on documentation; within the code and in the class implementation

·  Some work on scripts to switch between PET and MR and then hooks for (as well as cmake build systems)

Four demos of software showing directly the Technical Presentations

1.EO: Demonstrated how to 'break the chain' to extract from the python / matlab array and modify a parameter in gadgetron – added a sigma (blurring function value).

Improved help system that adds text for all methods of every object.

2.CK: Demonstrated extra parts; fully_sampled_recon.py - to read in HDF5 and apply pre-processing; Fourier transform reconstruction and display for MRI. Pre-stage needed (ismrmrd converters) to allow a Siemens or a Philips file to be transferred to HDF5 format. This file can use a non-Gadgetron engine for a different MR code in one simple flag --engine.

acquisitions_handling.py - finds out information on the acquired data; quantitative values and flags connected (to dimensions etc)

it was agreed this new functionality is great and sufficient for now. Question – when will this move to MATLAB – (extraction and write-back): EO: soon. Future functionality for replacing with data of different dimensions is low priority.

Question – on inefficiencies in needing temporary files. Answer we will currently ignore this. However, some issues with writing permissions. Matlab has some automated functions to create temporary files. need to check equivalent ones in python (Action EO)

3.DA: Reconstructed undersampled data within gadgetron. grappa_detail.m Matlab function, was run that links to real data (on CCP website), [18 coils on 24 slices] also showing data part way through the process.

Question – on not using scripts; always use functions. KT suggests to have mixture of demos with some description of pros/cons.

4.KT: PET display_and_projection.py - showed the evolution of a script from the Leeds workshop (Sep 2016) with additional documentation and help(pet.image) etc files. osmaposl_reconstruction.py - alternative script that shows iteration by iteration so we can modify / display these intermediate solutions (e.g. filtering) [Spyder python 2.7].
Action: JM need to check if this satisfies needs for the example in the pseudo-code

Action all: – need to go through in detail for the new demos and inline help and suggest improvements.

Building SIRF

BT: described using the cmake structure and ran a SIRF command line build. Usage is via either command_line, text interface or a GUI (see cmake.org); includes download pull. Release due end of January 2017.

Additional Items for Release SIRF 1.0

The development (see point 2) is to be freezed end of the week Friday 20 January 2017:-

  1. Very minimal - adding basic maths to pet.image, AcquisitionData, … Comment: very low priority. s: do not add this at present.
  2. Further clean-up and create an easy build: for a SIRF combined repository (github)
  3. More unified naming - (PET and MR) [e.g. should have ImageData instead of Image; and AcquisitionData instead of Acquisition].
    - PET ObjectiveFunction needs better definitions.
  4. Further Documentation; user specification (to be looked at); inline items; demo files; user's guide (missing – needs installation document as well); wiki sites for user contributed detail (use the one within github)
  5. Continuous Integration Testing - need visibility on say CCPForge. Ron has not been able to move forward with this. Action: BT+KT spend a day to make a Travis and AppVeyor (for Windows) test
  6. PET Items: need GE PET file format; Siemens Interfile reader; non-TOF scatter code finalisation and interface to SIRT; and TOF acquisition model. Action PET team to focus for deadline end of January (focus at Friday 20 Jan t-conf meeting).
  7. Deployment; cmake can enable an easier build system; still need a virtual machine due to windows issues for Gadgetron. Action: EO+BT create a new VM (use vagrant to construct?) - test in Manchester.

Extra discussion points:

·  Documentation: to try doxygen within current comments (www.doxygen.org/)

·  Docker and precompiled binaries (eg from Cpack) to be considered in the future but low priority.

Other items

See the website for registrations of new members to the CCP PETMR list etc. https://www.ccppetmr.ac.uk/ and a twiki items for 6-month review http://tyne.dl.ac.uk/twiki/bin/view/Visualisation/CCPPETMR Events listing at: http://www.ccpi.ac.uk/node/events

Dates for future meetings

20 Jan 2017 - SIRF Release Candidate Teleconference 7, 2pm

27 Jan 2017 - SIRF Release Candidate Teleconference 8, 2pm

13th Software Framework Meeting – mid March 2017 Doodle poll to come.

Conferences:

PSMR 2017 http://ibeb.ciencias.ulisboa.pt/psmr2017-2/ 29-31 May 2017 ACTION Abstract due 20 February 2017.