It is true that the SNR in white matter makes confident estimation of CBF a challenge there - whether that matters to you depends upon if you are trying to measure white matter perfusion or if you are interested in grey matter and white matter is a potential confound. The latter is largely what the pvcorr option is attempting to help with, but does try to get WM CBF maps too.
oxford_asl generates the native space GM and WM masks (in response to —report and/or —norm) from a FAST segmentation of the structural image which is transformed into the low resolution space of the ASL data and then thresholded accordingly. The actual threshold used is a bit arbitrary. The main limitation being that for GM if you choose a high threshold (say 0.9) to get ‘pure’ GM you get very few voxels and thus your estimates are biased, a lower threshold gives more voxels but also more WM contamination a normal CBF map with partial volume effects present. The gm_mask and wm_mask use a very low threshold (0.1) to separate out regions in which there is any GM or WM, if you are interested in the mean within GM (or WM) the gm_roi and wm_roi outputs (thresholded at 0.8 and 0.9 respectively) would be more appropriate on data that has not been corrected for partial voluming.
From the errors you are getting it doesn’t look like the partial volume correction itself is failing, I might still expect you to see perfusion images being generated. The error comes from the calibration routine which is looking for the bias field estimate from the FAST segmentation, this appears to be a bug in the current release - but one that often can be ignored safely. If it is causing your analysis to fail I can probably help you fix it.
Michael
On 5 May 2015, at 22:25, R. Duke <[log in to unmask]> wrote:
> Michael and Experts,
>
> A colleague of mine is concerned about the low signal-to-noise ratio associated with WM perfusion (van Gelderen et al., 2008. Pittfalls of MRI measurement of white matter perfusion based on arterial spin labeling) and was wondering if oxford_asl uses a default GM segmentation (using Fast) in an effort to differentiate WM/GM boundaries? I have had a difficult time getting the --pvcorr option to run using the command line (please see command and error below) but if I remove the --pvcorr option the analysis runs fine and generates a native space gm_mask and wm_mask image. However, it is unclear to me how oxford_asl uses this information (does it use a gm segmentation algorithm?). Since I have been unsuccessful with --pvcorr I have just set a a high CBF value threshold to eliminate partial volume effects.
>
> Michael - is this an appropriate technique or would you recommend additional steps?
>
> oxford_asl -i 001_pasl_diffdata.nii.gz -c 001_M0_brain_merge.nii.gz --tis 1.9 -o perfusion_calib --bolus 0.7 --fixbolus --tr 3.4 --te 12 --slicedt 0.0625 -s 001_t1_struct_brain.nii.gz --regfrom 001_M0_brain.nii.gz --asl2struc 001_M0_2_t1_2.mat --pvcorr --report --norm > junk_perfusion_calib.txt
>
>
> Image Exception : #22 :: ERROR: Could not open image /tmp/fsl_92tmBt_asl_calib/seg_bias
> terminate called after throwing an instance of 'RBD_COMMON::BaseException'
> /usr/local/fsl/bin/asl_calib: line 568: 28860 Aborted (core dumped) ${FSLDIR}/bin/applywarp --ref=$calib --in=$temp_calib/seg_bias --out=$temp_calib/biasfield --premat=$temp_calib/high2low.mat --super --interp=spline --superlevel=4
> Cannot open volume /tmp/fsl_92tmBt_asl_calib/biasfield for reading!
> Image Exception : #22 :: ERROR: Could not open image /tmp/fsl_92tmBt_asl_calib/sens
> terminate called after throwing an instance of 'RBD_COMMON::BaseException'
> /usr/local/fsl/bin/asl_calib: line 689: 28870 Aborted (core dumped) fslmaths $temp_calib/calib -div $temp_calib/sens $temp_calib/calib
> ERROR:: Empty mask image
> ERROR:: Empty mask image
> ERROR:: Empty mask image
> ERROR:: Empty mask image
> Cannot open volume perfusion_calib_pv/native_space///deltwm for reading!
> ERROR:: Empty mask image
> ERROR:: Empty mask image
> [njohnson@schroeder 001]$ Fsl
> Fsl: Command not found.
> [njohnson@schroeder 001]$ fsl
> Application initialization failed: couldn't connect to display "localhost:11.0"
> Error in startup script: couldn't connect to display "localhost:11.0"
> while executing
> "load /usr/local/fsl/extras/lib/tk8.4/../libtk8.4.so Tk"
> ("package ifneeded" script)
> invoked from within
> "package require Tk"
> invoked from within
> "if { [ string match -nocase *wish* $MYSHELL ] } {
> package require Tk
> # tk_focusFollowsMouse
> #bind Button <Enter> { focus %W ; tk::ButtonEnter ..."
> (file "/usr/local/fsl/tcl/fslstart.tcl" line 18)
> invoked from within
> "source [ file dirname [ info script ] ]/fslstart.tcl"
> (file "/usr/local/fsl/tcl/fsl.tcl" line 71)
> invoked from within
> "source ${FSLDIR}/tcl/${origname}.tcl"
> (file "/usr/local/fsl/bin/fsl" line 22)
|