deepmr.bloch.EPGstates

Contents

deepmr.bloch.EPGstates#

deepmr.bloch.EPGstates(device, batch_size, nstates, nlocs, npulses, npools=1, weight=None, model='single', moving=False)[source]#

EPG states matrix.

Stores dephasing states for transverse and longitudinal magnetization.

Parameters:
  • device (str) – Computational device (e.g., cpu or cuda:n, with n=0,1,2...).

  • batch_size (int) – Number of different atoms (e.g., voxels) to be simultaneously simulated.

  • nstates (int) – Maximum number of dephasing states.

  • nlocs (int) – Number of spatial locations contributing to each atom states (e.g., slice points).

  • npulses (int) – Number of RF pulses applied during the sequence.

  • npools (int) – Number of pools contributing to signal (e.g., Free Water / Myelin Water).

  • weight (torch.Tensor[float], optional) – Relative fraction for each pool. For single pool, this is the initial magnetization. The default is None (i.e., M0 = [0, 0, 1]).

  • model (str, optional) – Type of signal model. If “mt” is in the model name, include pure longitudinal states (bound pool). The default is single (single pool model).

  • moving (bool, optional) – Flag for moving spins. If True include a fresh magnetization pool to replace states with v != 0. The default is False.

Returns:

out – Dictionary with states (e.g., F, Z) and signal buffer.

Return type:

dict