deepmr.bloch.bssfpmrf#
- deepmr.bloch.bssfpmrf(flip, TR, T1, T2, sliceprof=False, DE=False, diff=None, device='cpu', TI=None, **kwargs)[source]#
Simulate an inversion-prepared bSSFP sequence with variable flip angles.
- Parameters:
flip (float | np.ndarray | torch.Tensor) – Flip angle in
[deg]of shape(npulses,)or(npulses, nmodes).TR (float) – Repetition time in [ms].
T1 (float | np.ndarray | torch.Tensor) – Longitudinal relaxation time for main pool in
[ms].T2 (float | np.ndarray | torch.Tensor) – Transverse relaxation time for main pool in
[ms].sliceprof (float | np.ndarray | torch.Tensor) – Excitation slice profile (i.e., flip angle scaling across slice). If
False, pulse are non selective. IfTrue, pulses are selective but ideal profile is assumed. If array, flip angle scaling along slice is simulated. Defaults toFalse.DE (bool, optional) – If True, simulation is repeated two times to mimick Driven Equilibrium acquisition. Defaults to
False.diff (str | tuple[str], optional) – String or tuple of strings, saying which arguments to get the signal derivative with respect to. Defaults to
None(no differentation).device (str) – Computational device (e.g.,
cpuorcuda:n, withn=0,1,2...). Defaults tocpu.TI (float) – Inversion time in
[ms]. Defaults toNone(no preparation).nstates (int, optional) – Maximum number of EPG states to be retained during simulation. High numbers improve accuracy but decrease performance. Defaults to
10.max_chunk_size (int, optional) – Maximum number of atoms to be simulated in parallel. High numbers increase speed and memory footprint. Defaults to
natoms.verbose (bool, optional) – If
True, prints execution time for signal (and gradient) calculations. Defaults toFalse.TE (float, optional) – Echo time in
[ms]. Defaults to0.0.B1sqrdTau (float, optional) – Pulse energies in
[uT**2 * ms]whenflip = 1.0 [deg].global_inversion (bool, optional) – Assume nonselective (
True) or selective (False) inversion. Defaults toTrue.inv_B1sqrdTau (float, optional) – Inversion pulse energy in
[uT**2 * ms]whenflip = 1.0 [deg].B1 (float | np.ndarray | torch.Tensor , optional) – Flip angle scaling factor (
1.0 := nominal flip angle). Defaults toNone.B0 (float | np.ndarray | torch.Tensor , optional) – Bulk off-resonance in [Hz]. Defaults to
NoneB1Tx2 (float | np.ndarray | torch.Tensor) – Flip angle scaling factor for secondary RF mode (
1.0 := nominal flip angle). Defaults toNone.B1phase (float | np.ndarray | torch.Tensor) – B1 relative phase in
[deg]. (0.0 := nominal rf phase). Defaults toNone.chemshift (float | np.ndarray | torch.Tensor) – Chemical shift for main pool in
[Hz]. Defaults toNone.T1bm (float | np.ndarray | torch.Tensor) – Longitudinal relaxation time for secondary pool in
[ms]. Defaults toNone.T2bm (float | np.ndarray | torch.Tensor) – Transverse relaxation time for main secondary in
[ms]. Defaults toNone.kbm (float | np.ndarray | torch.Tensor) – Nondirectional exchange between main and secondary pool in
[Hz]. Defaults toNone.weight_bm (float | np.ndarray | torch.Tensor) – Relative secondary pool fraction. Defaults to
None.chemshift_bm (float | np.ndarray | torch.Tensor) – Chemical shift for secondary pool in
[Hz]. Defaults toNone.kmt (float | np.ndarray | torch.Tensor) – Nondirectional exchange between free and bound pool in
[Hz]. If secondary pool is defined, exchange is between secondary and bound pools (i.e., myelin water and macromolecular), otherwise exchange is between main and bound pools. Defaults toNone.weight_mt (float | np.ndarray | torch.Tensor) – Relative bound pool fraction. Defaults to
None.