Description Usage Arguments Details Value Author(s) Examples
Calculate CBF from an ASL image using CASL or PASL.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | # ASLtbx
cbf_casl1_ASLtbx( aslimg_filename , m0img_filename )
cbf_casl2_ASLtbx( aslimg_filename )
cbf_pasl_ASLtbx( aslimg_filename , m0img_filename )
# Chen 2011 paper
cbf_casl_Chen2011( aslimg_filename )
cbf_pasl_Chen2011( aslimg_filename , m0img_filename )
cbf_pcasl_Chen2011( aslimg_filename )
# Wang 2012 paper
cbf_casl_Wang2012( aslimg_filename , Xvar = NULL , Xideal = NULL , c =
NULL )
# update a give CBF estimate using PASL/CASL
compute_cbf( cbf , img , method = 0 , labelfirst = 1 )
# compute robust cbf
cbf_robust( asl_img )
|
aslimg |
Name of the 4D ASL image file. |
aslimg_filename |
Name of the 4D ASL image file. |
m0img_filename |
Name of the 3D M0 image file. |
Xvar |
Matrix or vector or unspecified. For an image of size 64 * 64 * 18 * 116, Xvar can be a vector of length 116 or a matrix of size 116 * (64*64*18) or unspecified to not use in the general linear model. |
Xideal |
Matrix or vector or unspecified. For an image of size 64 * 64 * 18 * 116, Xideal can be a vector of length 116 or a matrix of size 116 * (64*64*18) or left unspecified to use the version from Wang2012 paper. |
c |
Matrix or numeric scalar or unspecified. For an image of size 64 * 64 * 18 * 116, c can be a matrix of size 64 * 64 * 18 or a scalar or left unspecified to use the version from Wang2012 paper. |
cbf |
Existing CBF esitmate to be updated. |
method |
Can be 0 or 1. 0 – Chen2011 CASL; 1 – Chen2011 PASL; |
img |
ASL image if 'method' = 0 . M0 image if 'method' = 1 . |
labelfirst |
Boolean indicating if label is first in every time-series voxel. |
In all of the scripts, the cbf calculate is of dimensions [ x , y , z , t ]
ASLtbx( https://cfn.upenn.edu/~zewang/ASLtbx.php )
—————————————————————————-
CBF calculation using 'cbf_casl1_ASLtbx'.
# Following are the parameters used in the ASLtbx
# First image: label
# Subtraction Method: simple subtraction
# Subtraction Order: control - label
# Applying Mask for Output: yes
# Create Mean Images: yes
# Calculate qCBF: yes
# Output PseudoBOLD Images: no
# Save deltaM Images: no
# Save qCBF Images: yes
# Using a unique M0 value for all voxels: no
# Output Image Format: nifti
# Saving 4D Image Series: yes
# Select ASL type: CASL
# Magnetic Field: 3T
# Label Time (sec): 2
# Post-Labeling Delay Time (sec): 0.8
# Slice Acquisition Time (msec): 45
# Use Additionally acquired M0 Image for CASL: no
# Label Efficiency: 0.68
for every voxel in cbf image,
cbf <- ( 6000 * 1000 * lambda * r1a * efftcbf ) /
( 2 * labeff * ( exp( -omega * r1a ) - exp( -( labeltime + omega ) * r1a ) ) )
where,
lambda <- 0.9
bloodt1 <- 1664
r1a <- 1 / bloodt1
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... odd times
efftcbf <- ( control - label ) / m0
labeff <- 0.68
delaytime <- 800
slicetime <- 45
slice <- slice the voxel belongs to ( 1 , 2 , 3 , ... , num-of-slices )
omega <- delaytime + (slice-1) * slicetime
labeltime <- 2000
—————————————————————————-
CBF calculation using 'cbf_casl2_ASLtbx'.
# Following are the parameters used in ASLtbx
# First image: label
# Subtraction Method: simple subtraction
# Subtraction Order: control - label
# Applying Mask for Output: yes
# Create Mean Images: yes
# Calculate qCBF: yes
# Output PseudoBOLD Images: no
# Save deltaM Images: no
# Save qCBF Images: yes
# Using a unique M0 value for all voxels: yes
# Output Image Format: nifti
# Saving 4D Image Series: yes
# Select ASL type: CASL
# Magnetic Field: 3T
# Label Time (sec): 2
# Post-Labeling Delay Time (sec): 0.8
# Slice Acquisition Time (msec): 45
# Use Additionally acquired M0 Image for CASL: no
# Label Efficiency: 0.68
for every voxel in the cbf image,
cbf <- ( 6000 * 1000 * lambda * r1a * efftcbf ) /
( 2 * labeff * ( exp( -omega * r1a ) - exp( -( labeltime + omega ) * r1a ) ) )
where,
lambda <- 0.9
bloodt1 <- 1664
r1a <- 1 / bloodt1
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... odd times
efftcbf <- ( control - label ) / control
labeff <- 0.68
slicetime <- 45
slice <- slice the voxel belongs to ( 1 , 2 , 3 , ... , num-of-slices )
omega <- delaytime + (slice-1) * slicetime
labeltime <- 2000
—————————————————————————-
CBF calculation using cbf_pasl_ASLtbx.
# Following are the parameters used in the ASLtbx
# First image: label
# Subtraction Method: simple subtraction
# Subtraction Order: control - label
# Applying Mask for Output: yes
# Create Mean Images: yes
# Calculate qCBF: yes
# Output PseudoBOLD Images: no
# Save deltaM Images: no
# Save qCBF Images: yes
# Using a unique M0 value for all voxels: no
# Output Image Format: nifti
# Saving 4D Image Series: yes
# Select ASL type: PASL
# Magnetic Field: 3T
# Post-Labeling Delay Time (sec): 0.8
# Slice Acquisition Time (msec): 45
# TE (msec): 20
# Select M0 Image: m0.nii
# Draw ROI for calculating CBF: yes
# Label Efficiency: 0.95
for every voxel in the cbf image,
cbf <- ( 6000 * 1000 * lambda * effperf ) /
( 2 * m0 * exp( -TI / bloodt1 ) * TI1 * labeff * qTI )
where,
lambda <- 0.9
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... , even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... , odd times
effperf <- control - label
slicetime <- 45
slice <- slice the voxel belongs to ( 1 , 2 , 3 , ... , num-of-slices )
TI1 <- 700
TI <- TI1 + delaytime + (slice-1) * slicetime
bloodt1 <- 1664
labeff <- 0.95
qTI <- 0.85
—————————————————————————-
'Test–Retest Reliability of Arterial Spin Labeling With Common Labeling Strategies'
Yufen Chen, PhD, Danny J.J. Wang, PhD and John A. Detre, MD
JOURNAL OF MAGNETIC RESONANCE IMAGING 33:940–949 (2011)
—————————————————————————-
CBF calculation for CASL.
for every voxel in the cbf image,
cbf <- ( lambda * deltaM ) /
( 2 * alpha * M0 * T1b * ( exp( -omega / T1b ) - exp( -( tau + omega ) / T1b ) ) )
where,
lamda <- 0.9
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... , even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... , odd times
deltaM <- control - label
alpha <- 0.68
M0 <- mean( control )
T1b <- 1664
omega <- 1
tau <- 2
—————————————————————————-
CBF calculation for pCASL.
for every voxel in the cbf image,
cbf <- ( lambda * deltaM ) /
( 2 * alpha * M0 * T1b * ( exp( -omega / T1b ) - exp( -( tau + omega ) / T1b ) ) )
where,
lambda <- 0.9
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... , even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... , odd times
deltaM <- control - label
alpha <- 0.85
M0 <- mean( control )
T1b <- 1664
omega <- 1
tau <- 1.5
—————————————————————————-
CBF calculation for PASL.
for every voxel in the cbf image,
cbf <- ( lambda * deltaM ) /
( 2 * alpha * M0 * TI1 * exp( -TI2 / T1b ) )
where,
lambda <- 0.9
control <- control voxel value – ASL image at t = 2 , 4 , 6 , ... , even times
label <- label voxel value – ASL image at t = 1 , 3 , 5 , ... , odd times
deltaM <- control - label
alpha <- 0.95
M0 <- equilibrium magnetization from M0 acquisition (input image)
TI1 <- 700
TI2 <- 1700
T1b <- 1664
—————————————————————————-
'Improving cerebral blood flow quantification for arterial spin labeled perfusion MRI by removing residual motion artifacts and global signal fluctuations'
Wang
Magnetic Resonance Imaging xx (2012) xxx – xxx
—————————————————————————-
CBF calculation for CASL.
for every voxel in the cbf image,
cbf <- ( Bideal * lambda * R1a * exp( w * R1a ) ) /
( 2 * c * alpha * ( 1 - exp( -tau * R1a ) ) )
where,
Xideal <- ideal label and control signals in the time series
Xvar <- represents variations in Xideal in the time series (provide by user)
Y <- voxel time series
Bideal <- fitting coefficient for Xideal under a general linear model ( Y ~ Xideal + Xvar )
lamda <- 0.9 # stolen
T1a <- 1.6 # stolen
R1a <- 1 / T1a
w <- 1
alpha <- 0.95
tau <- 2
c <- mean( Y ) or value provided by user
—————————————————————————-
cbf – 4D array of cbf values with extent of the last dimension equal to number of terms in the finite difference ; in case of 'compute_cbf', resulting array is of same dimensions as input 'cbf'. In case of 'cbf_robust', resulting array is 3D representing mean cbf.
Shrinidhi KL
1 2 3 4 5 6 7 8 9 | ## Not run:
cbf <- cbf_casl1( "asl.nii" , "m0.nii" )cbf <- cbf_casl2( "asl.nii" )
cbf <- cbf_pasl( "asl.nii" , "m0.nii" )
# updating existing cbf estimate using CASL; method = 0 , labefirst = 1
cbf <- compute_cbf( cbf , asl_img )
# comput robust cbf of an asl image
cbf <- cbf_robust( "asl.nii" )
## End(Not run)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.