deepmr.bloch.AdiabaticPulse#
- class deepmr.bloch.AdiabaticPulse(device, alpha=0.0, phi=0.0, efficiency=1.0, **props)[source]#
Operator representing an adiabatic RF pulse.
- Parameters:
device (str) – Computational device (e.g.,
cpuorcuda:n, withn=0,1,2...).alpha (torch.Tensor, optional) – Pulse flip angle in
[deg]of shape(nmodes,). The default is0.0 [deg].phi (torch.Tensor, optional) – Pulse phase in
[deg]of shape(nmodes,). The default is0.0 [deg].efficiency (torch.Tensor, optional) – Pulse efficiency of shape
(nmodes,). The default is1.0.name (str) – Name of the operator.
rf_envelope (torch.Tensor) – Pulse time envelope.
duration (float) – Pulse duration in
[ms].b1rms (float) – Pulse root-mean-squared B1 in
[uT / deg], when pulse is scaled such asflip angle = 1.0 [deg].freq_offset (float) – Pulse frequency offset in
[Hz].
Methods
__init__(device[, alpha, phi, efficiency])apply(states[, alpha, phi])Apply RF pulse (rotation + saturation).
prepare_rotation(alpha, phi)Prepare the matrix describing rotation due to RF pulse.
prepare_saturation(alpha)Prepare the matrix describing saturation due to RF pulse.