deepmr.b0field

Contents

deepmr.b0field#

deepmr.b0field(chi, b0range=(-200, 200), mask=None)[source]#

Simulate inhomogeneous B0 fields.

Output field units is [Hz]. The field is created by convolving the dipole kernel with an input magnetic susceptibility map.

Parameters:
  • chi (np.ndarray | torch.Tensor) – Object magnetic susceptibility map in [ppb] of shape (ny, nx) (2D) or (nz, ny, nx) (3D).

  • b0range (Iterable[float]) – Range of B0 field in [Hz]. The default is (-200, 200).

  • mask (np.ndarray | torch.Tensor, optional) – Region of support of the object of shape (ny, nx) (2D) or (nz, ny, nx) (3D). The default is None.

Returns:

B0map – Spatially varying B0 maps of shape (ny, nx) (2D) or (nz, ny, nx) (3D) in [Hz], arising from the object susceptibility.

Return type:

torch.Tensor

Example

>>> import deepmr

We can generate a 2D B0 field map of shape (ny=128, nx=128) starting from a magnetic susceptibility distribution:

>>> chi = deepmr.shepp_logan(128, qmr=True)["chi"]
>>> b0map = deepmr.b0field(chi)

B0 values range can be specified using b0range argument:

>>> b0map = deepmr.b0field(chi, b0range=(-500, 500))