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¶
sigpy.mri.rf.io.siemens_rf |
Write a .pta text file for Siemens PulseTool. |
sigpy.mri.rf.io.signa |
Write a binary waveform in the GE format. |
sigpy.mri.rf.io.ge_rf_params |
Calculate RF pulse parameters for deployment on a GE scanner. |
sigpy.mri.rf.io.philips_rf_params |
Calculate RF pulse parameters for deployment on a Philips scanner. |