deepmr.bloch.RFPulse

deepmr.bloch.RFPulse#

class deepmr.bloch.RFPulse(device, nlocs=None, alpha=0.0, phi=0.0, B1=1.0, **props)[source]#

Operator representing a RF pulse.

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

  • nlocs (int) – Number of spatial locations for slice profile simulation.

  • alpha (torch.Tensor, optional) – Pulse flip angle in [deg] of shape (nmodes,). The default is 0.0 [deg].

  • phi (torch.Tensor, optional) – Pulse phase in [deg] of shape (nmodes,). The default is 0.0 [deg].

  • B1 (torch.Tensor, optional) – Flip angle scaling due to B1+ inhomogeneities of shape (nmodes,). The default is 1.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 as flip angle = 1.0 [deg].

  • freq_offset (float) – Pulse frequency offset in [Hz].

__init__(device, nlocs=None, alpha=0.0, phi=0.0, B1=1.0, **props)[source]#

Methods

__init__(device[, nlocs, alpha, phi, B1])

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.