calc_frtm_tac#

petpal.kinetic_modeling.reference_tissue_models.calc_frtm_tac(tac_times_in_minutes: numpy.ndarray, ref_tac_vals: numpy.ndarray, r1: float, k2: float, k3: float, k4: float) numpy.ndarray#

Calculate the Time Activity Curve (TAC) using the Full Reference Tissue Model (SRTM) with the given reference TAC and kinetic parameters.

Important

This function assumes that the reference TAC is uniformly sampled with respect to time since we perform convolutions.

The FRTM TAC can be calculated as:

\[C(t) = R_{1}C_\mathrm{R}(t) + \left[ A_{1}e^{-\alpha_{1}t} + A_{2}e^{-\alpha_{2}t} \right] \otimes C_\mathrm{R}(t),\]

where additionally we have:

\[\begin{split}\alpha_{1} &= \frac{k_{2} + k_{3} + k_{4} - \sqrt{\left( k_{2} + k_{3} + k_{4} \right)^2 - 4k_{2}k_{4}}}{2}\\ \alpha_{2} &= \frac{k_{2} + k_{3} + k_{4} + \sqrt{\left( k_{2} + k_{3} + k_{4} \right)^2 - 4k_{2}k_{4}}}{2}\\ A_{1} &= \left( \frac{k_{3} + k_{4} -\alpha_{2}}{\alpha_{1} - \alpha_{2}} \right)\left( \frac{k_{2}}{R_{1}} - \alpha_{2} \right)\\ A_{2} &= \left( \frac{\alpha_{1}-k_{3} - k_{4} }{\alpha_{1} - \alpha_{2}} \right)\left( \frac{k_{2}}{R_{1}} - \alpha_{1} \right)\end{split}\]
Parameters:
  • tac_times_in_minutes (np.ndarray) – The array representing the time-points for both TACs.

  • r1 (float) – The ratio of the clearance rate of tracer from plasma to the reference to the transfer rate of the tracer from plasma to the tissue; \(R_{1}\equiv\frac{k_1^\prime}{k_1}\).

  • k2 (float) – The rate of tracer transfer from the first tissue compartment to plasma.

  • k3 (float) – The rate of tracer transfer from the first tissue compartment to the second tissue compartment.

  • k4 (float) – The rate of tracer transfer from the second tissue compartment to the first tissue compartment.

  • ref_tac_vals (np.ndarray) – The values of the reference TAC.

Returns:

np.ndarray – TAC values calculated using FRTM.

Raises:

AssertionError – If the reference TAC and times are different dimensions.

See also