Software

I am involved in a number of software projects, most of which are built on top of the R platform for statistical computing, which is a free and open source programming language and environment comparable to Matlab, but with particular emphasis on statistics. Further information on the uses of R in neuroimaging can be found in a recent paper.

Tractfinder

Tractfinder principle

Tractfinder is a new methodology and software tool for rapid and approachable white matter segmentation with diffusion MRI, which is freely available for noncommercial use. The core methodology and validation paper was published in Human Brain Mapping in 2024, and there is a dedicated web site with ongoing updates on the technology and its applications.

TractoR

TractoR logo

The TractoR (for Tractography with R) project provides an R-based platform for magnetic resonance image processing and analysis, with a particular focus on diffusion-weighted imaging. As well as providing tools and R libraries for reading, manipulating and processing magnetic resonance images, the package offers algorithms for automated white matter segmentation and group analysis, including reference implementations of neighbourhood tractography methods.

The package is aimed at academic researchers working with magnetic resonance data of any sort, and is freely available under the terms of the GNU Public Licence, version 2. It is stable, contains a set of self-tests, and is developed according to good software engineering practice. Development is open, with full source code available. Substantial documentation is also provided.

Further information and downloads can be found via the project’s own web site. There is also an open-access paper published in the Journal of Statistical Software, which gives some technical details of the package. If you use TractoR in your publications, we would appreciate it if you cite this paper.

Diffusion MRI processed example

Other R packages

I maintain several other R packages, which are available on the Comprehensive R Archive Network (CRAN), which is the biggest network for distribution of R packages. I also co-maintain the Medical Imaging task view, which brings together a wider range of R packages targeting this domain.

A brief summary of the packages I maintain is below, along with links to their CRAN pages for more information including API documentation.

Package License Purpose
arrg GPL2 Command-line argument parsing for R scripts
divest BSD Reading DICOM-format medical image files and converting them to NIfTI-1 format
imbibe BSD An image calculator based on R’s pipe syntax
imply BSD Efficient generalised image representations and parallelised operations
loder BSD Self-contained PNG image input and output
mmand GPL2 Mathematical morphology in any number of dimensions
mritc GPL2/GPL3 Tissue classification methods for MR images
ore BSD Onigmo-based regular expression library with convenience features
RcppArray GPL2 A simple shim interfacing between Rcpp and the C++11 array and tuple types
reportr GPL2 General message and error reporting, with some enhancements over base R
RNifti GPL2 Fast NIfTI-1 and NIfTI-2 file interoperability for R
RNiftyReg GPL2 2D and 3D image registration using the NiftyReg library
shades BSD Simple and seamless colour manipulation
soma GPL2 An R implementation of the Self-Organising Migrating Algorithm, a general-purpose, stochastic optimisation algorithm