mrpro.operators.models.WASABITI

class mrpro.operators.models.WASABITI[source]

Bases: SignalModel[Tensor, Tensor, Tensor]

WASABITI signal model.

__init__(offsets: Tensor, recovery_time: Tensor, rf_duration: float | Tensor = 0.005, b1_nominal: float | Tensor = 3.75e-6, gamma: float = GYROMAGNETIC_RATIO_PROTON) None[source]

Initialize WASABITI signal model for mapping of B0, B1 and T1 [SCH2023].

Parameters:
  • offsets (Tensor) – frequency offsets [Hz] with shape (offsets, ...)

  • recovery_time (Tensor) – recovery time between offsets [s] with shape (offsets, ...)

  • rf_duration (float | Tensor, default: 0.005) – RF pulse duration [s]

  • b1_nominal (float | Tensor, default: 3.75e-6) – nominal B1 amplitude [T]

  • gamma (float, default: GYROMAGNETIC_RATIO_PROTON) – gyromagnetic ratio [Hz/T]

References

[SCH2023]

Schuenke P, Zimmermann F, Kaspar K, Zaiss M, Kolbitsch C (2023) An Analytic Solution for the Modified WASABI Method: Application to Simultaneous B0, B1 and T1 Mapping and Correction of CEST MRI, Proceedings of the Annual Meeting of ISMRM

__call__(*args: Unpack) Tout[source]

Apply the forward operator.

For more information, see forward.

Note

Prefer using operator_instance(*parameters), i.e. using __call__ over using forward.

forward(b0_shift: Tensor, relative_b1: Tensor, t1: Tensor) tuple[Tensor][source]

Apply WASABITI signal model.

Parameters:
  • b0_shift (Tensor) – B0 shift [Hz] with shape (*other, coils, z, y, x)

  • relative_b1 (Tensor) – relative B1 amplitude with shape (*other, coils, z, y, x)

  • t1 (Tensor) – longitudinal relaxation time T1 [s] with shape (*other, coils, z, y, x)

Returns:

signal with shape (offsets, *other, coils, z, y, x)

__add__(other: Operator[Unpack, Tout]) Operator[Unpack, Tout][source]
__add__(other: Tensor) Operator[Unpack, tuple[Unpack]]

Operator addition.

Returns lambda x: self(x) + other(x) if other is a operator, lambda x: self(x) + other*x if other is a tensor

__matmul__(other: Operator[Unpack, tuple[Unpack]]) Operator[Unpack, Tout][source]

Operator composition.

Returns lambda x: self(other(x))

__mul__(other: Tensor | complex) Operator[Unpack, Tout][source]

Operator multiplication with tensor.

Returns lambda x: self(x*other)

__radd__(other: Tensor) Operator[Unpack, tuple[Unpack]][source]

Operator right addition.

Returns lambda x: other*x + self(x)

__rmul__(other: Tensor | complex) Operator[Unpack, Tout][source]

Operator multiplication with tensor.

Returns lambda x: other*self(x)