Multi-coil B0 shimming
This page contains resources related to multi-coil B0 shimming research being conducted in the Wald lab. The particular approach taken by our group is to integrate RF receive coils and B0 shim coils into the same conducting loops patterned on a close-fitting former. This brings RF and shim coils as close to the body as possible, where both systems function with greatest efficiency. Moreover, both RF reception and multi-coil B0 shimming benefit from using many degrees of freedom, i.e., large arrays of coils. We hypothesize that using the same conducting loops on a close-fitting former allows efficient high-order, dynamic B0 shimming with only marginal impact on RF signal-to-noise ratio and virtually no impact on parallel imaging performance.
However, our initial helmet designs were optimized for RF performance rather than B0 shim performance, and we do not take them to represent an optimized design for B0 shimming. They are merely a starting point for exploring the potentially large space of integrated RF-shim coil designs, We are now exploring "hybrid" approaches in which integrated RF-shim loops are combined with strategically-placed shim-only loops to improve shim performance. Our initial emphasis has been on brain shimming, but the approach may be useful for other body areas as well.
Our multi-coil B0 shimming Matlab scripts are available for download on this Wiki. The aim is to help enable reproducible multi-coil shimming research across different sites. The download package includes wire patterns for the example multi-coil shim arrays that appear in our publications. Matlab tools available for download include:
(1.) Simulations of the static magnetic field (B0) generated by wire loops arrayed in various geometries on helmets and other structures. These fields are useful for simulating and comparison multi-coil B0 shim performance.
(2.) Calculation of optimal shim currents for a given shim coil geometry and one or more brain B0 field maps. The optimization uses Matlab function fmincon to incorporate constraints on the loop shim currents.
(3.) Method for choosing the optimal subarray of M coils from a multi-coil B0 shim array having N coils, M < N. The method uses a genetic algorithm (Matlab script ga) to try to find the subarray that minimizes the standard deviation of the shimmed B0 field maps across all slices and subjects. Results described in Ref  below suggest that up to half of the coils in a helmet-style shim array can be excluded with only modest impact on global B0 shim performance.
---> 'Click here to download the Matlab scripts. <---
After unzipping the downloaded file, please consult the README text file for details on running the scripts.
NOTE: The shimming optimization requires fmincon from the Optimization Toolbox and ga from the Global Optimization Toolbox. In order to use the script for brain masking and phase unwrapping, FSL must be installed on the system. To the best of our knowledge, FSL only runs on Max and LINUX.
- Version 1.0 (July, 2016): Fields and wire patterns for several example coil helmet geometries as well as constrained optimization software for finding optimal currents in loops to shim a user-provided B0 off-resonance map.
- Jason P. Stockmann, Thomas Witzel, Boris Keil, Jonathan R Polimeni, Azma Mareyam, Cristen LaPierre, Kawin Setsompop, Lawrence L Wald. A 32-channel combined RF and B0 shim array for 3T brain imaging. Magn. Reson. Med. 77(1);2016:441-451. Journal link. Open PMC version
- Jason P. Stockmann, Bastien Guerin, Lawrence Wald (2016). Improving the efficiency of integrated RF-shim arrays using hybrid coil designs and channel placement and compression via a genetic algorithm. Proc. Int. Soc. Magn. Reson. Med. (2016), p. 1153. HTML version of abstract