Skip to content

tofts

tofts

Standard Tofts pharmacokinetic model (OSIPI: M.IC1.004).

This module implements the Standard Tofts model for DCE-MRI analysis.

References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/ .. [2] Dickie BR et al. MRM 2024. doi:10.1002/mrm.30101 .. [3] Tofts PS, Kermode AG. MRM 1991;17(2):357-367.

ToftsParams dataclass

ToftsParams(ktrans=0.1, ve=0.2)

Bases: ModelParameters

Parameters for Standard Tofts model (OSIPI: M.IC1.004).

ATTRIBUTE DESCRIPTION
ktrans

Volume transfer constant (OSIPI: Q.PH1.008) in 1/min. Represents transfer from plasma to EES.

TYPE: float

ve

Extravascular extracellular volume fraction (OSIPI: Q.PH1.001), mL/100mL, range [0, 1].

TYPE: float

kep property

kep

Rate constant kep = Ktrans/ve (OSIPI: Q.PH1.009) in 1/min.

ToftsModel

Bases: BasePerfusionModel[ToftsParams]

Standard Tofts pharmacokinetic model (OSIPI: M.IC1.004).

Implements the standard Tofts model for indicator concentration in tissue as a function of arterial input.

ATTRIBUTE DESCRIPTION
Ktrans

Volume transfer constant (OSIPI: Q.PH1.008), 1/min.

TYPE: float

ve

Extravascular extracellular volume fraction (OSIPI: Q.PH1.001), mL/100mL.

TYPE: float

Notes

Model equation: Ct(t) = Ktrans * integral_0^t Cp(tau) * exp(-kep*(t-tau)) dtau

where: - Ct(t) is tissue concentration (OSIPI: Q.IC1.001) at time t - Cp(t) is plasma concentration (AIF) - Ktrans is volume transfer constant (OSIPI: Q.PH1.008) - kep = Ktrans/ve is the rate constant (OSIPI: Q.PH1.009)

Assumptions: - Negligible vascular contribution (vp ~ 0) - Well-mixed compartments - First-order kinetics

References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/ .. [2] Dickie BR et al. MRM 2024. doi:10.1002/mrm.30101 .. [3] Tofts PS, Kermode AG. MRM 1991;17(2):357-367.

time_unit property

time_unit

Return time unit (minutes for Tofts).

name property

name

Return model name.

parameters property

parameters

Return parameter names.

parameter_units property

parameter_units

Return parameter units.

reference property

reference

Return literature citation.

get_initial_guess_batch

get_initial_guess_batch(ct_batch, aif, t, xp)

Compute vectorized initial guesses for a batch of voxels.

PARAMETER DESCRIPTION
ct_batch

Tissue concentration curves, shape (n_timepoints, n_voxels).

TYPE: NDArray[floating]

aif

Arterial input function, shape (n_timepoints,).

TYPE: NDArray[floating]

t

Time points in seconds, shape (n_timepoints,).

TYPE: NDArray[floating]

xp

Array module (numpy or cupy).

TYPE: module

RETURNS DESCRIPTION
NDArray[floating]

Initial parameter guesses, shape (2, n_voxels).

get_bounds

get_bounds()

Return physiological parameter bounds.

RETURNS DESCRIPTION
dict[str, tuple[float, float]]

Parameter bounds.

get_initial_guess

get_initial_guess(ct, aif, t)

Compute initial parameter guess.

Uses simple heuristics based on signal characteristics.

PARAMETER DESCRIPTION
ct

Tissue concentration curve.

TYPE: NDArray[floating]

aif

Arterial input function.

TYPE: NDArray[floating]

t

Time points in seconds.

TYPE: NDArray[floating]

RETURNS DESCRIPTION
ToftsParams

Initial parameter estimates.