dcmri.flux_aorta#

dcmri.flux_aorta(J_vena: ndarray, t=None, dt=1.0, E=0.1, FFkl=0.0, FFk=0.5, heartlung=['pfcomp', (10, 0.2)], organs=['2cxm', ([20, 120], 0.15)], kidneys=['comp', (10,)], liver=['pfcomp', (10, 0.2)], tol=0.001)[source]#

Whole-body model for indicator flux through the aorta.

See section Whole body for a more detailed description of this model.

Parameters:
  • J_vena (np.ndarray) – Indicator influx (mmol/sec) into the veins.

  • t (np.ndarray, optional) – Array of time points (sec), must be of equal size as J_vena. If not provided, the time points are uniformly sampled with interval dt. Defaults to None.

  • dt (float, optional) – Sampling interval in sec. Defaults to 1.0.

  • E (float, optional) – Body extraction fraction. Defaults to 0.1.

  • FFkl (float, optional) – Fraction of the cardiac output that passes through kidney and liver. Set FFkl=0 for a whole body model without explicit kidney and liver spaces. Defaults to 0.0.

  • FFk (float, optional) – Kidney fraction of the flow to kidney and liver. With FFk=0, only the liver is modelled. With FFk=1, only the kidneys are modelled. Defaults to 0.5.

  • heartlung (list) – 3-element list specifying the model to use for the heart-lung system (see notes for detail).

  • organs (list) – 3-element list specifying the model to use for the organs (see notes for detail).

  • kidneys (list) – 3-element list specifying the model to use for the kidneys (see notes for detail). This keyword is ignored if FFkl=0 or FFk=0.

  • liver (list) – 3-element list specifying the model to use for the liver (see notes for detail). This keyword is ignored if FFkl=0 or FFk=1.

  • tol (float, optional) – Dose tolerance in the solution. The solution propagates the input through the system, until the dose that is left in the system is given by tol*dose0, where dose0 is the initial dose. Defaults to 0.001.

Returns:

Indicator fluxes (mmol/sec) through the vena cava and aorta.

Return type:

tuple

Notes

The lists specifying each organ system consist of 3 elements: the model (str), its parameters (tuple) and any keyword parameters (dict). Any of the basic pharmacokinetic blocks can be used. For instance, chain, plug-flow compartment, and compartment would be specified as follows:

  • chain: [‘chain’, (Thl, Dhl), {‘solver’:’step’}]

  • plug-flow compartment: [‘pfcomp’, (Thl, Dhl), {‘solver’:’interp’}}

  • compartment: [‘comp’, Thl]

  • 2cxm: [‘2cxm’, ([To, Te], Eo)]

Example

Generate flux through aorta:

import matplotlib.pyplot as plt
import dcmri as dc

# Generate a stepwise injection:
t = np.arange(0, 120, 2.0)
Ji = dc.ca_injection(t, 70, 0.5, 0.2, 3, 30)

# Calculate the fluxes in mmol/sec:
Ja = dc.flux_aorta(Ji, t)

# Plot the fluxes:
plt.plot(t/60, Ja, 'r-', label='Aorta')
plt.xlabel('Time (min)')
plt.ylabel('Indicator flux (mmol/sec)')
plt.legend()
plt.show()

(Source code, png, hires.png, pdf)

../../_images/dcmri-flux_aorta-1.png