Skip to content
jeffduda edited this page Sep 17, 2012 · 11 revisions

Calculate cerebral blood flow (CBF) from pulsed arterial spin labeled (PASL) MRI data

What you need to input

  • pasl.nii.gz = a time series of control / label data
  • m0.nii.gz = a time series ( 1 time point is fine ) of M0 acquisition/s

optional inputs

  • robust=TRUE : turn robust regression on/off
  • labelfirst=0 : order of control/label images in time series
  • lambda=0.9 : blood/tissue water partition coefficient ( g/mL )
  • alpha=0.95 : inversion efficiency
  • TI1=700 : ( msec )
  • TI2=1700 : ( msec )
  • T1b=1664 : T1 of blood ( msec )

note: parameter default values from Chen Y. Test-Retest Reliability of Arterial Spin Labeling with Common Labeling Strategies. JMRI. 33:940-949. 2011.

What happens

  1. The time series data is motion corrected
  2. The M0 image/s are motion corrected to the corrected time series average
  3. An average M0 is created ( if multiple acquisitions )
  4. A brain mask is created from time series average
  5. ΔM is calculated via robust regression ( optional, may use standard linear regression )
  6. CBF = ( λ * ΔM ) / ( 2α * M0 * TI1 * exp( -TI2 / T1b ) )

Commands to run

library( "ANTsR" )

source( "${ANTsR_PATH}/R/cbf_pasl_robust.R" ) # This prevents bug that is being examined now

cbf <- cbf_pasl_robust( "pasl.nii.gz", "m0.nii.gz", labelfirst=0 )

antsImageWrite( cbf, "pasl_cbf.nii.gz" )