dcmri.conc_liver#
- dcmri.conc_liver(ca, t=None, dt=1.0, sum=True, cv=None, **params)[source]#
Concentration in liver tissue.
See section Liver for background.
- Parameters:
ca (array-like) – blood concentration in the arterial input.
params (dict) – free model parameters.
t (array_like, optional) – the time points in sec of the input function ca. If t is not provided, the time points are assumed to be uniformly spaced with spacing dt. Defaults to None.
dt (float, optional) – spacing in seconds between time points for uniformly spaced time points. This parameter is ignored if t is explicity provided. Defaults to 1.0.
sum (bool, optional) – For two-compartment tissues, set to True to return the total tissue concentration. Defaults to True.
cv (array-like, optional) – portal venous blood concentration for dual-inlet models. Defaults to None.
params – the model parameters as keyword arguments. See table Kinetic models for the liver for possible options.
- Returns:
- If sum=True, this is a 1D array with the total
concentration at each time point. If sum=False this is the concentration in each compartment, and at each time point, as a 2D array with dimensions (2,k), where k is the number of time points in ca. The concentration is returned in units of M.
- Return type:
Example
Plot concentration in cortex and medulla for typical values:
>>> import matplotlib.pyplot as plt >>> import numpy as np >>> import dcmri as dc
Generate a population-average input function:
>>> t = np.arange(0, 30*60, 1.5) >>> ca = dc.aif_parker(t, BAT=20)
Generate plasma and tubular tissue concentrations with a non-stationary model:
>>> C = dc.conc_liver(ca, t, sum=False, >>> H = 0.45, ve = 0.2, Te = 30, De = 0.5, >>> khe = [0.003, 0.01], Th = [180, 600], >>> )
Plot all concentrations:
>>> fig, ax = plt.subplots(1,1,figsize=(6,5)) >>> ax.set_title('Kidney concentrations') >>> ax.plot(t/60, 1000*C[0,:], linestyle='--', linewidth=3.0, >>> color='darkred', label='Extracellular') >>> ax.plot(t/60, 1000*C[1,:], linestyle='--', linewidth=3.0, >>> color='darkblue', label='Hepatocytes') >>> ax.plot(t/60, 1000*(C[0,:]+C[1,:]), linestyle='-', linewidth=3.0, >>> color='grey', label='Whole liver') >>> ax.set_xlabel('Time (min)') >>> ax.set_ylabel('Tissue concentration (mM)') >>> ax.legend() >>> plt.show()
(
Source code
,png
,hires.png
,pdf
)