Skip to content

dsc_pipeline

dsc_pipeline

DSC-MRI analysis pipeline.

This module provides an end-to-end DSC-MRI analysis pipeline, integrating signal conversion, leakage correction, deconvolution, and perfusion parameter estimation.

The pipeline produces OSIPI CAPLEX-compliant perfusion maps (CBF, CBV, MTT) via SVD-based deconvolution.

References

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

DSCPipelineConfig dataclass

DSCPipelineConfig(
    te=30.0,
    deconvolution_method="oSVD",
    apply_leakage_correction=True,
    svd_threshold=0.2,
    output_dir=None,
)

Configuration for DSC-MRI pipeline.

ATTRIBUTE DESCRIPTION
te

Echo time in milliseconds.

TYPE: float

deconvolution_method

Deconvolution method: 'oSVD', 'cSVD', or 'sSVD'.

TYPE: str

apply_leakage_correction

Whether to apply leakage correction.

TYPE: bool

svd_threshold

SVD truncation threshold.

TYPE: float

output_dir

Output directory for results.

TYPE: Path | None

DSCPipelineResult dataclass

DSCPipelineResult(perfusion_maps, delta_r2, aif, config)

Result of DSC pipeline.

ATTRIBUTE DESCRIPTION
perfusion_maps

Computed perfusion parameter maps.

TYPE: DSCPerfusionMaps

delta_r2

ΔR2* data (original or leakage-corrected).

TYPE: NDArray

aif

AIF used for analysis.

TYPE: NDArray

config

Pipeline configuration used.

TYPE: DSCPipelineConfig

DSCPipeline

DSCPipeline(config=None)

End-to-end DSC-MRI analysis pipeline.

This pipeline performs: 1. Signal to ΔR2* conversion 2. AIF extraction 3. Leakage correction (optional) 4. SVD deconvolution 5. Perfusion parameter estimation (CBF, CBV, MTT)

Examples:

>>> from osipy.pipeline import DSCPipeline, DSCPipelineConfig
>>> config = DSCPipelineConfig(te=25.0, apply_leakage_correction=True)
>>> pipeline = DSCPipeline(config)
>>> result = pipeline.run(dsc_signal, time, aif_signal)

Initialize DSC pipeline.

PARAMETER DESCRIPTION
config

Pipeline configuration.

TYPE: DSCPipelineConfig | None DEFAULT: None

run

run(
    dsc_signal,
    time,
    aif_signal=None,
    aif_voxels=None,
    mask=None,
    progress_callback=None,
)

Run DSC-MRI analysis pipeline.

PARAMETER DESCRIPTION
dsc_signal

DSC-MRI signal data, shape (..., n_timepoints).

TYPE: PerfusionDataset or NDArray

time

Time points in seconds.

TYPE: NDArray

aif_signal

Pre-extracted AIF signal. If None, extracts from data.

TYPE: NDArray DEFAULT: None

aif_voxels

Mask of AIF voxels for extraction.

TYPE: NDArray DEFAULT: None

mask

Brain mask.

TYPE: NDArray DEFAULT: None

progress_callback

Callback for progress updates.

TYPE: Callable DEFAULT: None

RETURNS DESCRIPTION
DSCPipelineResult

Pipeline results.