mrpro.operators.models.EPG.FispBlock

class mrpro.operators.models.EPG.FispBlock[source]

Bases: EPGBlock

FISP data acquisition block.

The block consists of a series of RF pulses with different flip angles and phases followed by an acquisition:
  • rf with flip_angle[i] and rf_phase[i]

  • relax for te[i]

  • acquisition

  • gradient_dephasing

  • relax for tr[i] - te[i]

__init__(flip_angles: Tensor | float, rf_phases: Tensor | float, te: Tensor | float, tr: Tensor | float) None[source]

Initialize the FISP block.

Parameters:
property duration: Tensor[source]

Duration of the block.

__call__(parameters: Parameters, states: Tensor | int = 20) tuple[Tensor, tuple[Tensor, ...]][source]

Apply the block.

Parameters:
  • parameters (Parameters) – Tissue parameters

  • states (Tensor | int, default: 20) – EPG configuration states. If an integer value, the equilibrium state (0, 0, 1) will be initialized with the given number of EPG configuration states. The number should be large enough to capture the signal dynamics. More states increase the accuracy of the simulation but also the computational cost.

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

Apply the FISP block to the EPG state.

Parameters:
  • parameters (Parameters) – Tissue parameters

  • states (Tensor) – EPG configuration states

Returns:

EPG configuration states after the block and the acquired signals