ASL Self-Contained Processing (ASLscp)

Siemens ASL

**Content creator:** Katie Jobson

**Pipeline developer:** Manuel Taso (Penn Medicine)

This Docker container processes Arterial Spin Labeling (ASL) MRI data without requiring a structural scan.

Description

This pipeline processes Siemens 3D pCASL data and computes cerebral blood flow (CBF) maps. Two input files are required: the ASL timeseries data and the M0 calibration image.

Processing Steps

  1. DICOM to NIfTI conversion using dcm2niix
  2. Motion correction using FSL’s mcflirt
  3. Skull stripping using FreeSurfer’s mri_synthstrip
  4. ASL subtraction (label-control pairs)
  5. CBF quantification using the standard kinetic model (Alsop 2015)
  6. T1 quantification (Penn Medicine sequences only)
  7. Registration to template space using ANTs
  8. ROI-based analysis with brain atlases for Alzheimer’s specific regions
  9. PDF report generation with QC images and regional CBF values

Inputs

Input Description Required
asl ASL timeseries data (DICOM zip or NIfTI file) Yes
m0 M0 calibration image (DICOM zip or NIfTI file) Yes
t1w T1w image (DICOM zip or NIfTI file) No

Configuration Parameters

Parameter Description Flag Notes
ld Labeling duration (microseconds) -l Extracted from DICOM header
pld Post-labeling delay (microseconds) -p Extracted from DICOM header
nbs Number of background suppressions -n Extracted from DICOM header
skip_extended Skip registration and PDF generation -e Default: false
run_t1w_reg Register CBF map to T1w image -r Default: false

For NIfTI input, parameters must always be provided manually since there are no DICOM headers to extract from.

Outputs

Output Description
{subject_id}_cbf.nii.gz Quantitative CBF map
{subject_id}_output.pdf PDF report with QC images and regional CBF tables
{subject_id}_qc.pdf Quality control PDF
{subject_id}_t1.nii.gz T1 relaxation map (if applicable)
{subject_id}_tSNR_map.nii.gz Temporal SNR map
stats/ Directory containing regional CBF text files

Docker Usage

Basic Usage:

docker run -v /path/to/input:/flywheel/v0/input \
           -v /path/to/output:/flywheel/v0/output \
           kjobson/aslscp:latest \
           -a /flywheel/v0/input/asl_dicom.zip \
           -m /flywheel/v0/input/m0_dicom.zip

With Manual Parameters:

docker run -v /path/to/input:/flywheel/v0/input \
           -v /path/to/output:/flywheel/v0/output \
           kjobson/aslscp:latest \
           -a /flywheel/v0/input/asl_dicom.zip \
           -m /flywheel/v0/input/m0_dicom.zip \
           -l 3000000 \
           -p 2025000 \
           -n 4

Command Line Options

Option Description
-a Path to ASL DICOM zip or NIfTI file
-m Path to M0 DICOM zip or NIfTI file
-t Path to T1w zip or NIfTI file
-l Labeling duration (microseconds)
-p Post-labeling delay (microseconds)
-n Number of background suppressions
-e Skip extended analysis
-r Register CBF map to T1w image
-s Subject ID

Flywheel Deployment

  1. Install the Flywheel CLI: https://docs.flywheel.io/CLI/
  2. Log in to your Flywheel instance: fw login your-api-key
  3. Build and upload:
fw-beta gear build .
fw-beta gear upload .

Software Dependencies

  • FreeSurfer 7.4.1 - skull stripping (mri_synthstrip)
  • FSL 6.0.7.1 - motion correction, image math, registration tools
  • ANTs 2.5.4 - nonlinear registration
  • dcm2niix - DICOM to NIfTI conversion
  • Python 3 with: scipy, nibabel, matplotlib, nilearn, reportlab

Other Resources

Citation

If you use this pipeline, please cite the relevant software packages and acknowledge the developers.

Reference: Alsop DC, et al. Recommended implementation of arterial spin-labeled perfusion MRI for clinical applications. Magn Reson Med. 2015;73(1):102-116.

License

MIT License