Streamlining the development of research software

Arterial spin labelling brain imageFunctional magnetic resonance imaging, or functional MRI (fMRI), uses MRI scans to measure brain activity by detecting changes in blood flow. One approach to fMRI is arterial spin labelling (ASL) which allows for measures of blood flow within the brain without the need for surgery. The Quantitative Biomedical Inference (QuBIc) research group at the University of Oxford and led by Michael Chappell, is a new research group within the Institute of Biomedical Engineering, and is resarching metabolism, blood delivery to tissue and haemodynamics using ASL and fMRI data. 

Michael has developed a method of processing fMRI data that can be used to recognise blood flow patterns in the brain given a series of 3D MRI brain scans arranged as a time series. This method is implemented as part of a C++ code, FABBER, which can be used stand-alone or via BASIL (Bayesian Inference for Arterial Spin Labelling MRI), a shell-script that provides a richer command-line interface than that offered by FABBER. Both FABBER and BASIL are distributed either direct to collaborators or, for more stable versions, as part of FSL, the FMRIB Software Library. FSL is produced by The Oxford Centre for Functional MRI of the Brain, Nuffield Department of Clinical Neurosciences, University of Oxford, John Radcliffe Hospital. 

Michael applied to us for assistance as part of our open call and we are working with him along a number of dimensions to streamline how FABBER and BASIL are developed by Michael and his fellow researchers. These include:

  • Redesigning FABBER to be both more modular and extensible, to allow the core FABBER algorithm to be distributed as a standalone library, which reseachers can then use as-is to develop analysis codes specific to their research.
  • Introducing automated testing for FABBER and BASIL. Testing, at present, is manual and involves visual inspection of MRI images.
  • Reviewing how FABBER and BASIL are integrated within FSL, to determine how FABBER and BASIL could be distributed stand-alone but while also continuing to be distributed as a part of FSL. 
  • Proposing alternatives to how the FABBER and BASIL source code is managed. At present, the source code is held within FSL's private repository to which Michael has access. Modifications and extensions to FABBER and BASIL made by researchers need to be added to the repository by Michael and researchers typically develop their extensions without using any form of revision control.