mrf_sim

Contents

mrf_sim#

torchsim.mrf_sim(flip, TR, T1, T2, diff=None, slice_prof=1.0, B1=1.0, inv_efficiency=1.0, M0=1.0, TI=0.0, nstates=10, nreps=1, chunk_size=None, device=None)[source]#

SSFP MR Fingerprinting simulator wrapper.

Parameters:
  • flip (float | npt.ArrayLike) – Flip angle train in degrees.

  • TR (float | npt.ArrayLike) – Repetition time in milliseconds.

  • T1 (float | npt.ArrayLike) – Longitudinal relaxation time in milliseconds.

  • T2 (float | npt.ArrayLike) – Transverse relaxation time in milliseconds.

  • diff (str | tuple[str], optional) – Arguments to get the signal derivative with respect to. The default is None (no differentation).

  • slice_prof (float | npt.ArrayLike, optional) – Flip angle scaling along slice profile. The default is 1.0.

  • B1 (float | npt.ArrayLike, optional) – Flip angle scaling map, default is 1.0.

  • inv_efficiency (float | npt.ArrayLike, optional) – Inversion efficiency map, default is 1.0.

  • M0 (float or array-like, optional) – Proton density scaling factor, default is 1.0.

  • TI (float | npt.ArrayLike, optional) – Inversion time in milliseconds. The default is 0.0.

  • nstates (int, optional) – Number of EPG states to be retained. The default is 10.

  • nreps (int, optional) – Number of simulation repetitions. The default is 1.

  • chunk_size (int, optional) – Number of atoms to be simulated in parallel. The default is None.

  • device (str | torch.device, optional) – Computational device for simulation. The default is None (infer from input).

Returns:

  • sig (npt.ArrayLike) – Signal evolution of shape (..., len(flip)).

  • jac (npt.ArrayLike) – Derivatives of signal wrt diff parameters, of shape (..., len(diff), len(flip)). Not returned if diff is None.