The purpose of this example is to analyse ASL data where we are looking for a difference in perfusion. This example follows the pcASL Example Boxes in the Primer in Chapters 7 & 8. It uses a subset of the data originally collected for the study in:
Mezue, M., Segerdahl, A. R., Okell, T. W., Chappell, M. A., Kelly, M. E., & Tracey, I. (2014). Optimization and reliability of multiple postlabeling delay pseudo-continuous arterial spin labeling during rest and stimulus-induced functional task activation. Journal of Cerebral Blood Flow and Metabolism, 34(12), 1919-1927. doi.org/10.1038/jcbfm.2014.163NOTE that we reccomend you use FSL v6.0.1 (or higher) for these exercises.
For this example you should use the Group ASL data. The data is multi-PLD pcASL data was acquired using a very similar set of parameters to the multi-PLD data, label duration of 1.4 seconds and PLDs of 0.25, 0.5, 0.75, 1.0, 1.25 and 1.5 seconds.
Get the data
In the Group ASL data you should find the original ASL files for
subject 1, along with the T1-weighted structural image that has
already been processed using fsl_anat
. There are two
ASL datasets for this subejct, along with two calibration
images:
rest.nii.gz
- Multi-PLD pcASL whilst the subject
was at rest.task.nii.gz
- Multi-PLD pcASL including the
subject undertaking a task, in this case a combination of bilateral
finger tapping (motor task) and watching a flashing checkerboard
(visual task).calibration_head.nii.gz
- a calibration image with
TR of 6 seconds using the same head coil as the main ASL
acquisitions.calibration_body.nii.gz
- an extra calibration
image (TR 6 seconds), acquired using the body coil, to be used in correcting
for coil sensitivity.
The analysis of this data proceeds very much in the same way as in Exercise 3, but with the inclusion of the body coil calibration image as a 'calibration reference':
oxford_asl -i rest -o oxasl_rest --casl --iaf=tc --ibf=rpt \ --tis=1.65,1.9,2.15,2.4,2.65,2.9 --bolus=1.4 --slicedt=0.0452 \ --fixbolus --spatial --mc \ --fslanat=T1.anat \ -c calibration_head --tr=6 --cmethod=single --cref=calibration_body
oxford_asl -i task -o oxasl_task --casl --iaf=tc --ibf=rpt \ --tis=1.65,1.9,2.15,2.4,2.65,2.9 --bolus=1.4 --slicedt=0.0452 \ --fixbolus --artoff --spatial --mc \ --fslanat=T1.anat \ -c calibration_head --tr=6 --cmethod=single --cref=calibration_body
You can examine the resulting perfusion maps
(oxasl_rest/native_space/perfusion_calib.nii.gz
and
oxasl_task/native_space/perfusion_calib.nii.gz
) and see
if you can spot the difference:
FSLeyes oxasl_rest/native_space/perfusion_calib.nii.gz -dr 0 120 -cm Hot \ oxasl_task/native_space/perfusion_calib.nii.gz -dr 0 120 -cm Hot
You will have most luck if you set your display range to be 0 to 120 for each image and look around slice 9 (i.e. Z=8) at the posterior of the brain (in the visual cortex). Note that we haven't done anything here to ensure that the rest and task data are aligned, thus the corresponance between the two perfusion images is not perfect (and attempting a subtraction of the two will not be totally informative).
If you examine the perfusion_calib_gm_mean.txt
file
you will find that there has been a small (and thus most probably
insignificant) increase in the mean GM perfusion of about 2
ml/100g/min.
If we want to examine the difference in perfusion between rest
and task we should ensure they are in the same space. Since
oxford_asl
has already done the registration to the
structural image for us, and the structural image provides useful
anatomical information, we will examine the perfusion difference in
structural space:
fslmaths oxasl_task/struct_space/perfusion_calib -sub oxasl_rest/struct_space/perfusion_calib deltaperfusion FSLeyes T1.anat/T1_biascorr -dr 0 1000 deltaperfusion.nii.gz -dr 15 30 -cm Hot
Again it is worth looking at the visual cortex around slice 75. We have arbitarily chosen to show only perfusion values above 15 ml/100g/min in this case and even then the image is still somewhat noisy. However, there are pretty consistent changes in the visual cortex of between 30 and 40 ml/100g/min visible.
There were eight subjects in the orignal study all of whom had ASL scans at rest and during combined motor and visual stimulation, we will only use seven of them here. With this data we can examine consistent perfusion changes across the group. Firstly we need to get the perfusion images into a common template space, we will choose the MNI152 standard brain, which is included in FSL. This is a good choice for this healthy, young cohort.
We already have all we need for subject 1 to get the perfusion
image into standard space. Namely: the ASL to structural
transformation native_space/asl2struct.mat
(there would
be the equivalent non-linear warp if we had been using distortion
correction), and the non-linear warp from structural to standard space
provided by fsl_anat
,
T1_toMNI_nonlin_coeff.nii.gz
. These can be combined using
FSL tools, in this case we can use apply_warp
. However,
oxford_asl
has already done this for us and the results
are in the std_space
subdirectory.
The analysis of the ohter 6 subjects has already been done for you. The resulting image perfusion_study.nii.gz
contains 14 perfusion images (as different volumes in the 4th
dimension) - the first 7 are from the subjects at rest, the next 7 are
from the task. This is ready for use in a statisitcal inference method
such as randomise
or flameo
. We want to run
a paired t-test in this case - to detect the common effect of
stimulation controlling for each subject having different resting
perfusion. We have already created a suitable design matrix for you
(using Glm
): design.*
.
We can use flameo
and ordinary least squares to do a relatively fast parametric
statistical analysis:
flameo --cope=perfusion_study.nii.gz --mask=${FSLDIR}/data/standard/MNI152_T1_2mm_brain_mask.nii.gz \ --dm=design.mat --tc=design.con --cs=design.grp --runmode=ols --ld=flameout
The output can be found in flameout
. It is interesting
to look at the z-statistic outputs:
fsleyes $FSLDIR/data/standard/MNI152_T1_2mm.nii.gz \ zstat1.nii.gz -dr 2 4 -cm Red zstat2.nii.gz -dr 2 4 -cm Blue
There are visble clusters of higher z-statistic values in both the
visual and motor cortices in zstat1
- try Y=53 and Z=38, looking posterior in
the axial sliace and superior in the saggital. We shouldn't get too
excited as these maps are uncorrected for multiple comparisons (and we
are being somewhat liberal with our threshold for viewing).
Since we have absolute perfusion measurements we could look and
see, in any areas we have identified as being important/signficant,
what the change in perfusion was. We can get this from the
flameo
output from pe1.nii.gz
- this image
containes the parameter estimate from the first explanatory variable
which was the difference between rest and task (see
design.png
).
fsleyes $FSLDIR/data/standard/MNI152_T1_2mm.nii.gz \ pe1.nii.gz -dr 5 15 -cm Hot
The largest changes in perfusion occur in the regions we are expecting and are of the order of 10 ml/100g/min on average. Note that the group effect has averaged out the large changes we saw when examining subject 1 alone.
We should do our analysis using permutation testing if we want to be robust to the true distribution of perfusion changes in the group:
randomise -i perfusion_study.nii.gz -o randomiseout -m ${FSLDIR}/data/standard/MNI152_T1_2mm_brain_mask.nii.gz \ -d design.mat -t design.con -e design.grp -T
Now we can examine results with multiple comparison corrections
performed as we chose to run TFCE (the -T
option). Look
at the file ending _tfce_corrp_tstat1.nii.gz
. The largest
p-values in this image are in the regions we are expecting perfusion
changes. Sadly they woudn't pass any conventionally chosen perfusion
threshold though. This could be because there is acutally no effect to
be observed, but in this case we know differently as the experiment is
a very standard one and the effects are well characterised. We might
have too few subjects (we only considered 7 which is a small
sample). A major factor in this case is that we have treated all the
task.nii.gz
data as having been collected during
stimulation. If you consult the orignal paper that is not atually the
case, it was simply convinient to do so for the purposes of this
example.