deepmr.bloch.FlowDephasing

deepmr.bloch.FlowDephasing#

class deepmr.bloch.FlowDephasing(device, time, v, nstates, total_dephasing=None, voxelsize=None, grad_amplitude=None, grad_direction=None, **kwargs)[source]#

Simulate state dependent phase accrual of the EPG coefficients due to flow.

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

  • time (torch.Tensor)) – Time step in [ms].

  • v (torch.Tensor) – Spin velocity of shape (3,) in [cm / s]. If scalar, assume same direction as unbalanced gradient.

  • nstates (int) – Number of EPG dephasing orders.

  • total_dephasing (float, optional) – Total dephasing due to unbalanced gradients in [rad].

  • voxelsize (float, optional) – Voxel thickness along unbalanced direction in [mm].

  • grad_amplitude (float, optional) – Gradient amplitude along unbalanced direction in [mT / m].

  • grad_direction (str | torch.Tensor) – Gradient orientation ("x", "y", "z" or versor).

Notes

User must provide either total dephasing and voxel size or gradient amplitude and duration.

__init__(device, time, v, nstates, total_dephasing=None, voxelsize=None, grad_amplitude=None, grad_direction=None, **kwargs)[source]#

Methods

__init__(device, time, v, nstates[, ...])

apply(states)

Apply flow dephasing.