We recently implemented an image-reconstruction method that uses AFNI tools to analyze our fNIRS data (validated in an fNIRS/fMRI paper: Wijeakumar et al. 2017). One reviewer for our recent manuscript provided feedback stating that we may be misusing the AFNI tools, so I’m here to get some feedback from the AFNI community. I’m not sure how much detail is necessary so I apologize for the length, and please ask for clarification where needed.
In this study, we used 14 channels to measure the hemodynamic response over the left temporal and frontal cortices in an event-related listening task. A GLM was used to estimate the beta coefficient of the hemodynamic response for each condition, channel, participant, and chromophore (oxy and deoxyhemoglobin). Each subject head volume and position of the nirs probe were measured with Polhemus Digitizer. We use 3dslicer to convert subject head volumes to nifti images aligned to Colin’s atlas. We take the probe geometry projections of each channel and run monte carlo simulations with 1,000,000 photons to yield a sensitivity profile for each channel. These sensitivity profiles are thresholded at 0.0001 and summed together to create a mask that reflected the cortical volume from which the NIRS channels were recording. Tokhonov regularization method was applied to estimate oxy and doexy concentration changes for each condition. Data were analyzed within a composite mask that was restricted to only include voxels in which all participants contributed data. We ran 3dclustsim on this composite mask to estimate minimum voxel cluster size (3dClustSim -mask compositemask.nii -pthr 0.05).
The reviewer indicated that 3dclustsim is not appropriate for NIRS reconstructions bc it makes assumptions about that the spatial covariance that are only true for MRI. Is this correct? Reviewer then suggested a proper cluster statistical analysis, which I am still unsure on how to implement. I’d appreciate any thoughts, comments, or ideas to help me figure out how to proceed with my data analyses.
-Jess
Hi,
What proper cluster statistical analysis did the reviewer suggest?
Thanks, Justin
Their suggestion:
T-stat cluster statistic
The spatial (brain-space) covariance of the image based on the regularized Guass-Markov equation would be
CovBeta = inv(X’X+lambdaI) * R
Where R is the channel-channel covariance and X is the forward model.
If your ROI/cluster is given by the contrast vector c = [0 0 0 1 1 1 1…] where the length of c is the number of voxels and is 1 in the cluster and 0 else, then the T-test is
T = c * Beta / sqrt(c* CovBeta * c’)
This would be the T-test over the cluster accounting for the fact that neighboring voxels in the reconstruction are not independent.
The F-test version would be something more like
VarianceExplained by cluster = sum ( X * c * Beta )^2 /(k-1)
Variance of residual = sum ( Y - Xcbeta) ^2 ) / (n-k)
F = SSM/SSR
I think n in this case the number of channels and k is 2 (?) [the number of clusters + the DC term) . But, check this.
I don’t know how to implement this in my data. I’m still reading/learning about the options in 3dclustsim, so there may be a way to address these things. Any advice is appreciated!
I think I need to punt this one to Bob…
One question is, from where are you calculating the channel-channel covariance?
Thanks for your reply. We start by averaging all 38 subject ROI masks into one composite mask:
3dMean -prefix allsubjectsmask.nii ~/Dropbox/fnirsauditoryproject2/processdata/p2process/S1001/viewer/Subject/1001_fullmask.nii
~/Dropbox/fnirsauditoryproject2/processdata/p2process/S1003/viewer/Subject/1003_fullmask.nii
~/Dropbox/fnirsauditoryproject2/processdata/p2process/S1004/viewer/Subject/1004_fullmask.nii
~/Dropbox/fnirsauditoryproject2/processdata/p2process/S1005/viewer/Subject/1005_fullmask.nii
~/Dropbox/fnirsauditoryproject2/processdata/p2process/S1006/viewer/Subject/1006_fullmask.nii
etc.
Then we threshold that mask to only include voxels in which all participants contributed data:
3dcalc -a allsubjectsmask.nii -expr ‘equals(a,1)’ -prefix allsubjectsmaskthresholded.nii
We ran 3dclustsim on this thresholded ROI mask to estimate minimum voxel cluster size (3dClustSim -mask allsubjectsmaskthresholded.nii -pthr 0.05).