Skip to content

Perfusion (ASL) Pipeline

The BRC Perfusion Pipeline (BRC_perfusion_pipeline) processes single-TI pseudo-continuous arterial spin labelling (pCASL) data to produce quantified cerebral blood flow (CBF) maps in both native and standard space, with optional partial volume correction.


The pipeline takes a difference (perfusion-weighted) image and a calibration (M0) image as inputs. It performs CBF quantification using a standard kinetic model, registers the ASL data to the subject's T1 anatomical image (using boundary-based registration leveraging the white matter segmentation), propagates the result to MNI152 standard space, organises outputs, and optionally applies multi-tissue-linear-series (MLTS) partial volume correction.


Quick Start

export BRC_GLOBAL_SCR=/opt/brc/global/scripts
export BRC_PMRI_SCR=/opt/brc/BRC_perfusion_pipeline/scripts
export FSLDIR=/usr/local/fsl
source ${FSLDIR}/etc/fslconf/fsl.sh

ASL_preproc.sh \
    --input_pwi  /data/sub-001/perf/sub-001_pwi.nii.gz \
    --input_m0   /data/sub-001/perf/sub-001_m0.nii.gz \
    --path       /data/study \
    --subject    sub-001 \
    --tr 3.2 \
    --ti 3.0 \
    --bolus 1.8 \
    --pvcmethod MLTS

Structural prerequisite

The perfusion pipeline requires a completed Structural Pipeline run for the same subject. It uses the T1 brain, white matter mask, and T1→MNI registration produced by BRC_structural_pipeline.


Arguments

Compulsory

Argument Description
--input_pwi Full path to the difference (perfusion-weighted) image
--input_m0 Full path to the calibration (M0) image
--path Output directory (absolute path)
--subject Subject identifier

Optional

Argument Default Description
--tr 3.2 Repetition time of calibration data (seconds)
--ti 3.0 Inversion time (seconds)
--bolus 1 Labelling (bolus) duration (seconds)
--cgain 1 Relative gain between calibration and ASL image
--pvcmethod NONE Partial volume correction method: MLTS or NONE
--name aslMRI Output folder name

Processing Steps

1. CBF Quantification (Image_Quantification.sh)

Applies the standard single-compartment kinetic model to the difference image, using TR, TI, bolus duration, and calibration gain to compute absolute CBF in ml/100g/min. The M0 image is used to scale the signal to physiological units.

2. ASL-to-T1 Registration (ASL_2_T1_Registration.sh)

Registers the mean ASL image to the T1 brain using boundary-based registration (FSL epi_reg style), leveraging the white matter partial volume estimate and WM mask from the structural pipeline for optimal cortical boundary alignment. The registration uses a configurable number of degrees of freedom (DOF) and super-sampling level.

3. Apply Registration (Apply_Registration.sh)

Propagates the CBF map and ASL data to T1 native space and MNI152 standard space by applying the ASL→T1 affine and the pre-computed T1→MNI warp field in a single applywarp call.

4. Partial Volume Correction (Partial_Volume_Correction.sh)

When --pvcmethod MLTS is specified, applies the multi-tissue linear series (MLTS) method (mlts_partial_volume_correction.py) using grey matter (GM) and white matter (WM) partial volume estimates from FAST. This corrects for the overestimation of CBF in voxels with mixed tissue types, improving spatial specificity.

5. Data Organisation (Data_Organization.sh)

Moves processed files into the canonical BRC output hierarchy under <subject>/analysis/aslMRI/.


Kinetic Model Parameters

The quantification model assumes single-TI pCASL and applies:

Parameter Symbol Default
Repetition time TR 3.2 s
Inversion time TI 3.0 s
Bolus duration τ 1.0 s
Calibration gain M 1

Modify these via the corresponding command-line arguments to match your acquisition protocol.


Dependencies

Tool Used For
FSL (flirt, applywarp, fslmaths) Registration, warp application
Python 3 MLTS partial volume correction
Structural pipeline outputs T1 brain, WM mask, T1→MNI registration
BRC_GLOBAL_SCR Logging
BRC_PMRI_SCR All pipeline sub-scripts

Key Output Files

All paths are relative to <path>/<subject>/analysis/aslMRI/.

File Description
processed/CBF.nii.gz Quantified CBF map in ASL native space
processed/CBF_2_T1.nii.gz CBF map registered to T1 native space
processed/CBF_2_std.nii.gz CBF map in MNI152 standard space
processed/CBF_PVC.nii.gz Partial volume corrected CBF (if MLTS)
reg/asl2str.mat ASL → T1 affine transform
reg/asl2std_warp.nii.gz ASL → MNI warp field
log/log.txt Full processing log

Script Reference

Script Purpose
ASL_preproc.sh Entry point — argument parsing and orchestration
aslMRI_preproc_part_1.sh Processing dispatcher
Image_Quantification.sh Kinetic model CBF quantification
ASL_2_T1_Registration.sh ASL-to-T1 boundary-based registration
Apply_Registration.sh Apply affine + warp to propagate CBF maps
Partial_Volume_Correction.sh PVC wrapper (MLTS method)
mlts_partial_volume_correction.py MLTS partial volume correction implementation
Data_Organization.sh Move outputs into BRC folder hierarchy