Learn R Programming

ANTsR (version 0.3.1)

quantifyCBF: quantifyCBF

Description

Computes CBF from ASL - pasl or pcasl

Usage

quantifyCBF(perfusion, mask, parameters, M0val = NA, outlierValue = 0.02)

Arguments

perfusion

input asl matrix

mask

3D image mask (antsImage)

parameters

list with entries for sequence and m0 (at minimimum)

M0val

baseline M0 value (optional)

outlierValue

trim outliers by this fractional value (optional)

Value

a list is output with 3 types of cbf images

Examples

Run this code
# NOT RUN {
  if (!exists("fn") ) fn<-getANTsRData("pcasl")
  # PEDS029_20101110_pcasl_1.nii.gz # high motion subject
  asl<-antsImageRead(fn)
# image available at http://files.figshare.com/1701182/PEDS012_20131101.zip
  pcasl.bayesian <- aslPerfusion( asl,
        dorobust=0., useDenoiser=4, skip=11, useBayesian=1000,
        moreaccurate=0, verbose=T, maskThresh=0.5 ) # throw away lots of data
# user might compare to useDenoiser=FALSE
  pcasl.parameters <- list( sequence="pcasl", m0=pcasl.bayesian$m0 )
  cbf <- quantifyCBF( pcasl.bayesian$perfusion, pcasl.bayesian$mask,
     pcasl.parameters )
  meancbf <- cbf$kmeancbf
  print(mean(meancbf[ pcasl.bayesian$mask==1 ]))
  antsImageWrite( meancbf , "temp.nii.gz")
  pcasl.processing <- aslPerfusion( asl, moreaccurate=0,
    dorobust=0.95, useDenoiser=NA, skip=5,  useBayesian=0 )
  # user might compare to useDenoiser=FALSE
  pcasl.parameters <- list( sequence="pcasl", m0=pcasl.processing$m0 )
  cbf <- quantifyCBF( pcasl.processing$perfusion, pcasl.processing$mask, pcasl.parameters )
  meancbf <- cbf$kmeancbf
  print(mean(meancbf[ pcasl.processing$mask==1 ]))
  antsImageWrite( meancbf , "temp2.nii.gz" )
  plot(  meancbf, slices="1x50x1" )
  
# }

Run the code above in your browser using DataLab