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:

numpy.ndarray

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)

../../_images/dcmri-conc_liver-1.png