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
- DICOM to NIfTI conversion using dcm2niix
- Motion correction using FSL’s mcflirt
- Skull stripping using FreeSurfer’s mri_synthstrip
- ASL subtraction (label-control pairs)
- CBF quantification using the standard kinetic model (Alsop 2015)
- T1 quantification (Penn Medicine sequences only)
- Registration to template space using ANTs
- ROI-based analysis with brain atlases for Alzheimer’s specific regions
- 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
- Install the Flywheel CLI: https://docs.flywheel.io/CLI/
- Log in to your Flywheel instance: fw login your-api-key
- 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