Skip to content

maps

maps

DSC perfusion parameter maps.

This module computes cerebral blood volume (CBV), cerebral blood flow (CBF), mean transit time (MTT), and related perfusion parameters from DSC-MRI data.

Parameters follow OSIPI CAPLEX naming conventions:

  • CBV: cerebral blood volume (mL/100g)
  • CBF (Q.PH1.003): cerebral blood flow (mL/100g/min)
  • MTT (Q.PH1.006): mean transit time (s)
  • TTP (Q.CD1.010): time to peak (s)
  • Tmax: time to maximum of the residue function (s)
  • Delay / Ta (Q.PH1.007): arterial delay (s)
References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/ .. [2] Ostergaard L et al. (1996). High resolution measurement of cerebral blood flow using intravascular tracer bolus passages. Magn Reson Med 36(5):715-725. .. [3] Calamante F et al. (2010). Measuring cerebral blood flow using magnetic resonance imaging techniques. J Cereb Blood Flow Metab 19(7):701-735. .. [4] Dickie BR et al. MRM 2024. doi:10.1002/mrm.30101

DSCPerfusionMaps dataclass

DSCPerfusionMaps(
    cbv,
    cbf,
    mtt,
    ttp=None,
    tmax=None,
    delay=None,
    quality_mask=None,
)

Container for DSC perfusion parameter maps.

ATTRIBUTE DESCRIPTION
cbv

Cerebral blood volume map (mL/100g).

TYPE: ParameterMap

cbf

Cerebral blood flow map (mL/100g/min) (OSIPI: Q.PH1.003).

TYPE: ParameterMap

mtt

Mean transit time map (s) (OSIPI: Q.PH1.006).

TYPE: ParameterMap

ttp

Time to peak map (s) (OSIPI: Q.CD1.010), optional.

TYPE: ParameterMap | None

tmax

Time to maximum of residue function (s), optional.

TYPE: ParameterMap | None

delay

Arterial delay map (s), symbol Ta (OSIPI: Q.PH1.007), optional.

TYPE: ParameterMap | None

quality_mask

Mask indicating valid perfusion values.

TYPE: NDArray[bool_]

compute_perfusion_maps

compute_perfusion_maps(
    delta_r2,
    aif,
    time,
    mask=None,
    deconvolve=True,
    deconvolution_method="oSVD",
    svd_threshold=0.2,
    density=1.04,
    hematocrit_ratio=0.73,
)

Compute comprehensive perfusion parameter maps.

Computes CBV, CBF (OSIPI: Q.PH1.003), MTT (OSIPI: Q.PH1.006), TTP (OSIPI: Q.CD1.010), Tmax, and arterial delay Ta (OSIPI: Q.PH1.007) from DSC-MRI delta-R2* data.

PARAMETER DESCRIPTION
delta_r2

Delta-R2* data (OSIPI: Q.EL1.009), shape (..., n_timepoints).

TYPE: NDArray[floating]

aif

Arterial input function (delta-R2*), shape (n_timepoints,).

TYPE: NDArray[floating]

time

Time points in seconds.

TYPE: NDArray[floating]

mask

Brain mask.

TYPE: NDArray[bool_] | None DEFAULT: None

deconvolve

If True, use SVD deconvolution for CBF estimation. If False, estimate CBF from peak height.

TYPE: bool DEFAULT: True

deconvolution_method

Deconvolution method name from the deconvolver registry (default "oSVD").

TYPE: str DEFAULT: 'oSVD'

svd_threshold

SVD truncation threshold for deconvolution.

TYPE: float DEFAULT: 0.2

density

Brain tissue density in g/ml (default 1.04).

TYPE: float DEFAULT: 1.04

hematocrit_ratio

Large vessel to small vessel hematocrit ratio (default 0.73).

TYPE: float DEFAULT: 0.73

RETURNS DESCRIPTION
DSCPerfusionMaps

Perfusion parameter maps.

References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/ .. [2] Dickie BR et al. MRM 2024. doi:10.1002/mrm.30101

Examples:

>>> import numpy as np
>>> from osipy.dsc.parameters import compute_perfusion_maps
>>> delta_r2 = np.random.rand(64, 64, 20, 60) * 10
>>> aif = np.random.rand(60) * 20
>>> time = np.linspace(0, 90, 60)
>>> maps = compute_perfusion_maps(delta_r2, aif, time)

compute_cbv

compute_cbv(delta_r2, aif, time, hematocrit_ratio=0.73)

Compute cerebral blood volume from delta-R2* curves.

CBV is proportional to the ratio of the integrals of tissue and arterial delta-R2* (OSIPI: Q.EL1.009) curves:

CBV = (kH / rho) * integral(dR2*_tissue) / integral(dR2*_AIF)

where kH is the hematocrit correction factor.

PARAMETER DESCRIPTION
delta_r2

Tissue delta-R2* data, shape (..., n_timepoints).

TYPE: NDArray[floating]

aif

Arterial delta-R2*, shape (n_timepoints,).

TYPE: NDArray[floating]

time

Time points in seconds.

TYPE: NDArray[floating]

hematocrit_ratio

Large to small vessel hematocrit ratio (default 0.73).

TYPE: float DEFAULT: 0.73

RETURNS DESCRIPTION
NDArray[floating]

CBV map (fractional blood volume).

References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/

compute_mtt

compute_mtt(cbv, cbf)

Compute mean transit time from CBV and CBF.

Uses the central volume principle (OSIPI: Q.PH1.006): MTT = CBV / CBF

PARAMETER DESCRIPTION
cbv

Cerebral blood volume map.

TYPE: NDArray[floating]

cbf

Cerebral blood flow map (OSIPI: Q.PH1.003).

TYPE: NDArray[floating]

RETURNS DESCRIPTION
NDArray[floating]

MTT map in same time units as CBV/CBF ratio.

References

.. [1] OSIPI CAPLEX, https://osipi.github.io/OSIPI_CAPLEX/