# Software

Most of our shared code resides on my Bitbucket or Github accounts. Specific links are given below.

You will need Jeff Fessler's Medical Image Reconstruction Toolbox in your path, in order to run a lot of this software. This can be obtained from his website. Pulse design codes may require John Pauly's RF design tools.

## RF Pulse Design and Image Reconstruction

• Tailored Spiral In-Out Spectral-Spatial Water Suppression for MRSI: MATLAB scripts to design tailored RF pulses for improved WET/CHESS water suppression in MRSI. From this paper.

• Array-Compressed Parallel Transmit Pulse Design: MATLAB Scripts to jointly optimize RF pulses and transmit array compression weights. From this paper.

• Trajectory Auto-Corrected Reconstruction (TrACR) and EPI-TrACR: MATLAB scripts to jointly estimate images and k-space trajectory errors, with an in vivo golden angle radial and EPI examples. Algorithm described in this paper.

• Blipped LTA RF Pulse Design: MATLAB scripts to jointly design large-tip-angle parallel RF pulses and blipped gradient trajectories. Algorithm described in this paper.

• Root-flipped multiband refocusing pulses: MATLAB scripts to design low-peak-power/short duration multiband refocusing pulses, and matched-phase excitation pulses. Algorithm described in this paper.

• b1plusslr.zip: MATLAB scripts to design $$|B_1^+|$$-selective excitation pulses using the Shinnar-Le Roux algorithm. From this paper.

• Optimized Bloch-Siegert Encoding Pulse Library: From this paper. These pulses are a dramatic improvement over conventional pulses (e.g. Fermi) used in Bloch-Siegert $$|B_1^+|$$ mapping, due to their short duration (so you get a shorter TE and lower SAR for the same sensitivity), and have a much wider operating bandwidth. Two .zip files are in the linked directory, containing pulses sampled on 6.4us and 10us grids. We've also included phase difference-to-$$|B_1^+|$$ lookup tables and example MATLAB scripts and data to do the lookup.

• nuslr.zip: Nonuniform and multidimensional Shinnar-Le Roux RF pulse design, from this paper. Two examples are included: a spiral in-out refocusing pulse and a fat-suppressing spectral-spatial refocusing pulse for 3T. MATLAB's Parallel Computing Toolbox is used to implement two CUDA kernels, so you need that toolbox and a CUDA-enabled NVIDIA GPU to use the software.

• optimalcontrol.zip: Spin-domain optimal control RF pulse design code. Based on the hard pulse approximation. Included are multithreaded (pthreads) mex functions for bloch simulations and derivative calculations.

• blochsim_cuda.zip: Crude mex+CUDA implementation of a multidimensional Bloch equation simulator for RF excitation. Hopefully some will find this useful as a starting point for a more robust MATLAB-callable CUDA-based Bloch simulator.

• maxphase_spsp_test.tar.gz: Example of maximum linear-phase spectral-spatial RF pulse design, developed to suppress fat in a long-TE/short-TR GRE sequence for thermometry. From this paper.

• ptx_test.tar.gz: MATLAB objects and examples of fast small- and large-tip-angle RF pulse design (parallel and single-channel). From this paper and this paper.