deepmr.bloch.DiffusionDamping

deepmr.bloch.DiffusionDamping#

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

Simulate diffusion effects by state dependent damping of the coefficients.

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

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

  • D (torch.Tensor) – Apparent diffusion coefficient [um**2 ms**-1].

  • 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.

Parameters:

name (str) – Name of the operator.

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

Methods

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

apply(states)

Apply diffusion damping.