mr2.operators.models.BMC.PiecewiseRFBlock

class mr2.operators.models.BMC.PiecewiseRFBlock[source]

Bases: BMCBlock

Piecewise-constant RF block.

__init__(rf_amplitude: Tensor, rf_phase: Tensor | float = 0.0, rf_frequency: Tensor | float = 0.0, dt: Tensor | float = 0.0, extra_off_resonance: Tensor | float = 0.0) None[source]

Initialize the block.

Parameters:
  • rf_amplitude (Tensor) – RF amplitude. Shape (time, ...).

  • rf_phase (Tensor | float, default: 0.0) – RF phase in rad. Shape (time, ...), (1, ...) or scalar.

  • rf_frequency (Tensor | float, default: 0.0) – RF frequency in Hz. Shape (time, ...), (1, ...) or scalar.

  • dt (Tensor | float, default: 0.0) – Sample duration in seconds. Shape (time, ...), (1, ...) or scalar.

  • extra_off_resonance (Tensor | float, default: 0.0) – Additional off-resonance in rad/s. Shape (time, ...), (1, ...) or scalar.

property duration: Tensor[source]

Duration of the block.

__call__(parameters: Parameters, state: Tensor | None = None, *, zero_matrix: Tensor | None = None, zero_c: Tensor | None = None) tuple[Tensor, tuple[Tensor, ...]][source]

Apply the block.

forward(parameters: Parameters, state: Tensor) tuple[Tensor, tuple[Tensor, ...]][source]

Apply the block.