Optimization of Quantitative MRI Sequences Using Automatic Differentiation of Bloch Simulations (adbs)

A python library for optimizing the Cramér-Rao Lower Bound (CRLB) of quantitative MRI sequences is available here.

Since the CRLB depends on the Jacobian of the signal with respect to the parameters of interest, we can use automatic differentiation (widely used in deep learning) and a simple Bloch simulation to efficiently compute the CRLB for any sequence that can be simulated. Furthermore, we can use automatic differentiation to compute the gradient of the CRLB objective with respect to sequence parameters (flip angle, TE, etc). This allows us to optimize sequences without an analytical expression for the magnetization.

This library provides implementations of the standard Bloch simulation operations (relaxation, RF, gradient spoiling) for use in automatic differentiation and examples of quantitative sequences that were optimized using this library.

For Magnetic Resonance Fingerprinting, automatic differentiation allows us to compute the CRLB objective and the gradient of the CRLB objective very efficiently. Our implementation converges roughly 30 times faster in terms of CPU hours and requires 10 times fewer lines of code (when compared to analytically calculating CRLB).

Lee PK, Watkins LE, Anderson TI, Buonincontri G, Hargreaves BA. “Flexible and Efficient Optimization of Quantitative Sequences using Automatic Differentiation of Bloch Simulations,” Magnetic Resonance in Medicine. May 2019. doi.org/10.1002/mrm.27832