dcmri.vfa_linear#
- dcmri.vfa_linear(signal_intensities, flip_angles_deg, tr, bounds=None, verbose=0)[source]#
Calculates R1 and S0 from variable flip angle (VFA) SPGR data.
This function uses the linearized form of the steady-state spoiled gradient-echo (SPGR) signal equation to perform a linear fit and extract R1 and S0.
The linearized equation is: S(a)/sin(a) = E1 * S(a)/tan(a) + S0*(1-E1) where E1 = exp(-TR * R1). This is a linear equation of the form y = m*x + c.
- Parameters:
signal_intensities (list or np.ndarray) – A list or array of measured signal intensities.
flip_angles_deg (list or np.ndarray) – A list or array of corresponding flip angles in degrees.
tr (float) – The repetition time (TR) of the sequence.
bounds (tuple) – bounds on (R1, S0) as a tuple ([lower_R1, lower_S0], [upper_R1, upper_S0]). Default is ([0, 0], [np.inf, np.inf])
verbose (int) – if set to 1, warning messages are printed. Defaults to 0.
- Returns:
- A tuple containing the calculated (R1, S0).
Returns (0, 0) if the calculation is not physically plausible (e.g., due to noisy data leading to a slope >= 1).
- Return type: