ASL Data Processing Toolbox
  Arterial Spin Labeling (ASL) Perfusion MRI Data Processing Toolbox: ASLtbx  


This toolbox is based on Matlab (Mathwork Inc, 5.3 above) and SPM 99/2/5 (The Wellcome Trust Centre for Neuroimaging at University College London). It's basically a collection of a bunch of batch scripts. When using this toolkit please cite:

Ze Wang, Geoffrey Aguirre, Hengyi Rao, JiongJiong Wang, Anna R. Childress, John A. Detre, Empirical ASL data analysis using an ASL data processing toolbox: ASLtbx, Magnetic Resonance Imaging, 2008, 26(2):261-9.



Cerebral Blood Flow calculation code

The Matlab file: asl_perf_subtract.m can be used in batch mode or interactively through the GUI. For a simple trial, you can just type asl_perf_subtract in Matlab command window and follow the steps prompt in a popup window. Documentations about the quantification part can be obtained by typing "help asl_perf_subtract" in Matlab command window or checking the code directly.



Processing ASL data in batch mode

In the zip file, there is a readme file to point directions to set the environment variables, parameters, and options for processing a whole dataset. Briefly, you need to follow the same data organization rule for each subject, and modify the setting file: par.m. Each processing step like motion correction, coregisteration, smoothing, CBF calculation, normalization, GLM, group analysis, etc, is coded in a separate file. The processing pipeline is in "batch_run.m". The setting file can be tested by typing "par" in Matlab and check the field by typing "PAR.subjects{:}" etc. Once the setting file is ok, you can test several steps in batch_run.m.

Some people may want to use the pure boxcar function as the reference in GLM. In the toolbox, this can be done by turning on line 73 "'Fourier set' and commenting out line 74 "'hrf'".



Running GLM with SPM interface

Sometimes, it's helpful to perform ASL data analysis step by step using SPM interface. But you may meet errors for running GLM with perfusion difference images or CBF images. The point is that SPM has a default relative threshold for removing background regions. To solve this, you should type "spm_defaults" and "defaults.mask.thresh=0.01" (or set it to -inf) after you load spm GUI. Then you can go ahead to set up the design matrix. This problem has been solved in the batch scripts.


ASLtbx download coming soon.

For all correspondence, please send to or