API References#

Base#

Base classes and routines for MR simulator implementation.

torchsim.base.AbstractModel

Abstract base class for MRI simulation models with automated parameter handling.

torchsim.base.autocast

Force all inputs to be torch tensors of the same size on the same device.

Parameter configuration#

torchsim.base.prepare_environmental_parameters

Prepare environmental parameters for simulations.

torchsim.base.prepare_single_pool

Prepare simulation parameters for a single pool system.

torchsim.base.prepare_two_pool_bm

Prepare simulation parameters for a two-pool Bloch-McConnell model.

torchsim.base.prepare_two_pool_mt

Prepare simulation parameters for a two-pool Magnetization Transfer model.

torchsim.base.prepare_three_pool

Prepare simulation parameters for a three-pool Bloch-McConnell + Magnetization Transfer model.

Extended Phase Graphs#

Subroutines for Extended Phase Graphs based simulators.

torchsim.epg.states_matrix

Generate EPG states matrix.

torchsim.epg.get_signal

Get signal from EPG matrix.

torchsim.epg.get_demodulated_signal

Get signal from EPG matrix.

RF Pulses#

torchsim.epg.rf_pulse_op

Build RF rotation matrix.

torchsim.epg.phased_rf_pulse_op

Build RF rotation matrix along arbitrary axis.

torchsim.epg.multidrive_rf_pulse_op

Build RF rotation matrix for a multichannel RF pulse.

torchsim.epg.phased_multidrive_rf_pulse_op

Build RF rotation matrix for a multichannel RF pulse along arbitrary axis.

torchsim.epg.rf_pulse

Apply RF rotation, mixing EPG states.

torchsim.epg.initialize_mt_sat

Calculate RF energy deposition.

torchsim.epg.mt_sat_op

Calculate RF saturation operator.

torchsim.epg.multidrive_mt_sat_op

Build RF saturation matrix for a multuchannel pulse.

torchsim.epg.mt_sat

Apply RF saturation.

Relaxation and Exchange#

torchsim.epg.longitudinal_relaxation_op

Prepare longitudinal relaxation and recovery operators.

torchsim.epg.longitudinal_relaxation

Apply longitudinal relaxation and recovery.

torchsim.epg.longitudinal_relaxation_exchange_op

Prepare longitudinal relaxation and recovery operators in presence of exchange.

torchsim.epg.longitudinal_relaxation_exchange

Apply longitudinal relaxation and recovery in presence of exchange.

torchsim.epg.transverse_relaxation_op

Prepare transverse relaxation operator.

torchsim.epg.transverse_relaxation

Apply transverse relaxation.

torchsim.epg.transverse_relaxation_exchange_op

Prepare transverse relaxation operator in presence of exchange.

torchsim.epg.transverse_relaxation_exchange

Apply transverse relaxation in presence of exchange.

Gradient Dephasing#

torchsim.epg.shift

Shift transverse EPG states due to gradient dephasing.

torchsim.epg.spoil

Null transverse magnetization

Magnetization Prep#

torchsim.epg.adiabatic_inversion

Apply adiabatic inversion to EPG states.

Flow and Diffusion#

torchsim.epg.diffusion_op

Prepare longitudinal and transverse diffusion damping operators.

torchsim.epg.diffusion

Apply diffusion damping.

torchsim.epg.flow_op

Prepare longitudinal and transverse flow dephasing operators.

torchsim.epg.flow

Apply flow dephasing.

Signal Models#

Pre-defined signal models.

Analytical#

torchsim.models.bSSFPModel

bSSFPModel transverse signal at time TE after excitation.

torchsim.models.SPGRModel

SPGR transverse signal at time TE after excitation.

Iterative#

torchsim.models.FSEModel

Fast Spin Echo (FSE) Model.

torchsim.models.MPRAGEModel

Magnetization Prepared RApid Gradient Echo (MPnRAGE) Model.

torchsim.models.MP2RAGEModel

Magnetization Prepared (2) RApid Gradient Echo (MPnRAGE) Model.

torchsim.models.MPnRAGEModel

Magnetization Prepared (n) RApid Gradient Echo (MPnRAGE) Model.

torchsim.models.MRFModel

SSFP Magnetic Resonance Fingerprinting (MRF) Model.

Functional#

Functional wrappers for signal models.

Analytical#

torchsim.bssfp_sim

SPoiled Gradient Recalled echo simulator wrapper.

torchsim.spgr_sim

SPoiled Gradient Recalled echo simulator wrapper.

Iterative#

torchsim.fse_sim(flip, ESP, T1, T2[, ...])

Fast Spin Echo simulator wrapper.

torchsim.mprage_sim(TI, flip, TRspgr, nshots, T1)

MPRAGE simulator wrapper.

torchsim.mp2rage_sim(TI, flip, TRspgr, ...)

MP2RAGE simulator wrapper.

torchsim.mpnrage_sim(nshots, flip, TR, T1[, ...])

MPnRAGE simulator wrapper.

torchsim.mrf_sim(flip, TR, T1, T2[, diff, ...])

SSFP MR Fingerprinting simulator wrapper.

Miscellaneous#

Other simulation utilities.

torchsim.utils.b1rms

Compute root-mean-squared B1 for a given RF pulse.

torchsim.utils.slice_prof

Calculate slice profile using Fourier approximation.