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
orcuda:n
, withn=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 withv != 0
. The default isFalse
.
- Returns:
out – Dictionary with states (e.g.,
F
,Z
) and signal buffer.- Return type: