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
orcuda:n
, withn=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"
orversor
).
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.