Skip to content

osipi.aif_georgiou

AIF model as defined by Georgiou et al.

Note

This function is not yet implemented. If you are implementing it yourself please consider submitting a code contribution to OSIPI, so nobody ever has to write this function again!

Parameters:

Name Type Description Default
t ndarray

array of time points in units of sec. [OSIPI code Q.GE1.004]

required
BAT float

Time in seconds before the bolus arrives. Defaults to 0sec. [OSIPI code Q.BA1.001]

0.0

Returns:

Type Description
ndarray

np.ndarray: Concentrations in mM for each time point in t.

See Also

aif_parker aif_weinmann

References
Create an array of time points covering 6min in steps of 1sec,
calculate the Georgiou AIF at these time points and plot the results.

Import packages:

>>> import matplotlib.pyplot as plt
>>> import osipi

Calculate AIF and plot

>>> t = np.arange(0, 6 * 60, 0.1)
>>> ca = osipi.aif_georgiou(t)
>>> plt.plot(t, ca)
>>> plt.show()
Source code in src/osipi/_aif.py
def aif_georgiou(t: np.ndarray, BAT: float = 0.0) -> np.ndarray:
    """AIF model as defined by Georgiou et al.

    Note:
        This function is not yet implemented.
        If you are implementing it yourself please consider submitting a code contribution to OSIPI,
        so nobody ever has to write this function again!

    Args:
        t (np.ndarray): array of time points in units of sec. [OSIPI code Q.GE1.004]
        BAT (float, optional):
            Time in seconds before the bolus arrives. Defaults to 0sec. [OSIPI code Q.BA1.001]

    Returns:
        np.ndarray: Concentrations in mM for each time point in t.

    See Also:
        `aif_parker`
        `aif_weinmann`

    References:
        - Lexicon url:
            https://osipi.github.io/OSIPI_CAPLEX/perfusionModels/#arterial-input-function-models
        - Lexicon code: M.IC2.002
        - OSIPI name: Georgiou AIF model
        - Adapted from contribution by: TBC

    Example:

        Create an array of time points covering 6min in steps of 1sec,
        calculate the Georgiou AIF at these time points and plot the results.

        Import packages:

        >>> import matplotlib.pyplot as plt
        >>> import osipi

        Calculate AIF and plot

        >>> t = np.arange(0, 6 * 60, 0.1)
        >>> ca = osipi.aif_georgiou(t)
        >>> plt.plot(t, ca)
        >>> plt.show()

    """

    msg = "This function is not yet implemented \n"
    msg += (
        "If you implement it yourself, please consider submitting it"
        " as an OSIPI code contribution"
    )
    raise NotImplementedError(msg)