MRI RF Design (sigpy.mri.rf)

This MRI submodule contains functions and classes for MRI pulse design.

It contains functions to design a variety of RF pulses for MRI, such as SLR, adiabatic, parallel transmit, multibanded, and others. The submodule also includes other functions to assist with pulse design, such as I/O functions, trajectory/gradient designers, and Bloch simulators.

Explore RF design tutorials at sigpy-rf-tutorials. These are primarily Jupyter Notebooks, and provide more detailed instruction on pulse design workflow and function use.

See in-progress features at sigpy-rf.

Adiabatic Pulse Design Functions

sigpy.mri.rf.adiabatic.bir4 Design a BIR-4 adiabatic pulse.
sigpy.mri.rf.adiabatic.hypsec Design a hyperbolic secant adiabatic pulse.
sigpy.mri.rf.adiabatic.wurst Design a WURST (wideband, uniform rate, smooth truncation) adiabatic
sigpy.mri.rf.adiabatic.goia_wurst Design a GOIA (gradient offset independent adiabaticity) WURST
sigpy.mri.rf.adiabatic.bloch_siegert_fm U-shaped FM waveform for adiabatic Bloch-Siegert \(B_1^{+}\) mapping and spatial encoding.

B1-Selective Pulse Design Functions

sigpy.mri.rf.b1sel.dz_b1_rf Design a \(B_1^{+}\)-selective excitation pulse following Grissom JMR 2014
sigpy.mri.rf.b1sel.dz_b1_gslider_rf Design a \(B_1^{+}\)-selective excitation gSlider pulse following
sigpy.mri.rf.b1sel.dz_b1_hadamard_rf Design a \(B_1^{+}\)-selective Hadamard-encoded pulse following Grissom JMR 2014.

RF Linear Operators

sigpy.mri.rf.linop.PtxSpatialExplicit Explicit spatial-domain pulse design linear operator.

Pulse Multibanding Functions

sigpy.mri.rf.multiband.mb_rf Multiband an input RF pulse.
sigpy.mri.rf.multiband.dz_pins PINS multiband pulse design.

Optimal Control Design Functions

sigpy.mri.rf.optcont.blochsim 1D RF pulse simulation, with simultaneous RF + gradient rotations.
sigpy.mri.rf.optcont.deriv 1D RF pulse simulation, with simultaneous RF + gradient rotations.

Parallel Transmit Pulse Designers

sigpy.mri.rf.ptx.stspa Small tip spatial domain method for multicoil parallel excitation.
sigpy.mri.rf.ptx.stspk Small tip spokes parallel transmit pulse designer.

RF Shimming Functions

sigpy.mri.rf.shim.calc_shims RF shim designer.
sigpy.mri.rf.shim.init_optimal_spectral Function to return initial shim weights based on an optimal spectral method, an eigenvector-based method.
sigpy.mri.rf.shim.init_circ_polar Function to return circularly polarized initial shim weights.

RF Pulse Simulation

sigpy.mri.rf.sim.abrm 1D RF pulse simulation, with simultaneous RF + gradient rotations.
sigpy.mri.rf.sim.abrm_nd N-dim RF pulse simulation
sigpy.mri.rf.sim.abrm_hp 1D RF pulse simulation, with non-simultaneous RF + gradient rotations.
sigpy.mri.rf.sim.abrm_ptx N-dim RF pulse simulation

SLR Pulse Design Functions

sigpy.mri.rf.slr.dzrf Primary function for design of pulses using the SLR algorithm.
sigpy.mri.rf.slr.root_flip Exhaustive root-flip pattern search for min-peak b1
sigpy.mri.rf.slr.dz_gslider_rf Design a g-slider pulse rf
sigpy.mri.rf.slr.dz_gslider_b Design a g-slider pulse b
sigpy.mri.rf.slr.dz_hadamard_b Design a pulse with hadamard encoding
sigpy.mri.rf.slr.dz_recursive_rf Recursive SLR pulse design.

Trajectory and Gradient Design Functions

sigpy.mri.rf.trajgrad.min_trap_grad Minimal duration trapezoidal gradient designer.
sigpy.mri.rf.trajgrad.trap_grad General trapezoidal gradient designer for total target area (for rewinders)
sigpy.mri.rf.trajgrad.spiral_varden Variable density spiral designer.
sigpy.mri.rf.trajgrad.spiral_arch Analytic Archimedean spiral designer.
sigpy.mri.rf.trajgrad.epi Basic EPI single-shot trajectory designer.
sigpy.mri.rf.trajgrad.rosette Basic rosette trajectory designer.
sigpy.mri.rf.trajgrad.stack_of Function for creating a 3D stack of ____ trajectory from a 2D [Nt 2] trajectory.
sigpy.mri.rf.trajgrad.spokes_grad Spokes gradient designer.
sigpy.mri.rf.traj_complex_to_array Function to convert complex convention trajectory to [Nt 2] trajectory
sigpy.mri.rf.traj_array_to_complex Function to convert [Nt 2] convention traj to complex convention
sigpy.mri.rf.min_time_gradient Given a k-space trajectory c(n), gradient and slew constraints.

RF Utility

sigpy.mri.rf.util.dinf Calculate D infinity for a linear phase filter.

I/O Write a .pta text file for Siemens PulseTool. Write a binary waveform in the GE format. Calculate RF pulse parameters for deployment on a GE scanner. Calculate RF pulse parameters for deployment on a Philips scanner.