Teaching - Lectures and Tutorials

Oxford Nottingham Biomedical Imaging Centre for Doctoral Training


A lecture on the relationship between MR imaging and the Fourier Transform, multi-coil arrays and parallel imaging.

FSL Course


Lectures given on MRI physics as part of the annual FSL Course, focusing on MRI basics and image formation, and diffusion imaging. These are based on original lectures by Karla Miller.

FMRIB Graduate Course


The physics module of the FMRIB Graduate Course is an 8-week course for incoming students and junior researchers that spans a wide range of topics, designed to be a broad overview of MRI principles in the context of neuroimaging. Weekly podcast-style lectures and tutorials cover:

  1. Image Formation
  2. Signal and SNR
  3. Contrast Manipulation
  4. Fast Imaging: Artefacts and Distortion
  5. Functional MRI
  6. Diffusion MRI

An introductory week lecture giving a brief overview of the role of magnetic field gradients and how they relate to Fourier Transforms in MR imaging:

A more advanced lecture giving a more concrete derivation of the role of magnetic field gradients and how they relate to Fourier Transforms in MR imaging:

A lecture on the nature of spatial resolution in MRI, and examples of ultra-high spatial resolution fMRI:

Conference Educational Lectures


Low Rank & Structured Low Rank Reconstruction Approaches

This talk provides some intuition behind low-rank methods and an overview of the mechanics involved in low-rank image reconstruction. It first presents some background on low-rank matrices, then covers general low-rank methods, and finally briefly discusses structured low-rank methods. This talk was presented during the weekend educational course on “Image Reconstruction” at ISMRM 2021.

Measuring Connectivity with Resting State fMRI

A talk on different approaches to measuring brain connectivity using resting state fMRI, in the weekend educational course “Connectivity: Structure & Function” at ISMRM 2017.

Compressed Sensing

A brief overview of compressed sensing and applications to fMRI in the teaching session on “Highly Accelerated fMRI” at ESMRMB 2013.

Lecture Notes


ESPIRiT Coil Sensitivity Estimation

Notes from a lecture on how the ESPIRiT method works for coil-sensitivity estimation. It walks through the algorithm, provides some intuition on the underlying k-space convolutions and the subspace/null-spaces associated with the Hankel matrix construction, contrast independence, and makes some connections to other methods like GRAPPA.

Basic Image Reconstruction Tutorials


Partial Fourier Reconstruction Tutorial

A MATLAB tutorial going over various methods for reconstruction of Partial Fourier MRI data. It covers zero-filling, conjugate synthesis, the Homodyne/Margosian method, the iterative POCS method, and a general least squares approach using the phase-constrained virutal coil method.

SENSE Parallel Imaging Tutorial

This MATLAB tutorial gives an introduction to SENSE parallel imaging in MRI. It walks through the estimation of coil sensitivities, combining images from multiple coils, and reconstruction of under-sampled data using the SENSE algorithm.

Non-Cartesian Image Reconstruction Tutorial

This is a MATLAB-based tutorial on iterative, non-Cartesian image reconstruction applied to a Compressed Sensing problem, all done in plain MATLAB with no external dependencies. The purpose of this worked example is to clearly demonstrate the steps involved in defining the linear transforms associated with non-Cartesian Fourier sampling and finite differences for TV-regularisation, and optimising cost functions by computing gradients. The tutorial can be accessed from the link above, or downloaded directly below as a MATLAB live script or plain script.

GRAPPA Parallel Imaging Tutorial

This is a MATLAB-based practical guide to implementing the GRAPPA parallel imaging reconstruction algorithm (written as part of the Advanced Imaging module of the FMRIB Graduate Course). This practical focuses on the nuts and bolts of how you formulate the GRAPPA problem, and go about solving it. This includes defining what GRAPPA kernels are, how you deal with boundary conditions, generating calibration matrices, and the fitting and application of kernel weights. Access the tutorial from the link above, or download it directly below.