mrpro.operators.models.EPG.TseBlock

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

Bases: EPGBlock

TSE data acquisition block.

The block consists of a 90° excitation pulse followed by a series of refocusing pulses with different flip angles and phases followed by an acquisition:

  • rf excitation with 90° and phase 90°

  • relax for te/2

  • gradient_dephasing

  • rf with flip_angle[i] and rf_phase[i]

  • gradient_dephasing

  • relax for te/2

  • acquisition

__init__(refocusing_flip_angles: Tensor | float, refocusing_rf_phases: Tensor | float, te: float) None[source]

Initialize the TSE block.

Parameters:
  • refocusing_flip_angles (Tensor | float) – Flip angles of the refocusing RF pulses in rad

  • refocusing_rf_phases (Tensor | float) – Phase of the refocusing RF pulses in rad

  • te (float) – Echo time

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 TSE 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