I have task and rest data and would like to do a task-rest analysis (for instance - calc single-subject GLM on volumetric data, use EDickey’s PINT to localize selected regions, and see whether I get better SNR when I do higher level analysis on those ROIs, while accounting for their individual locations. Another instance - transform the single-subject betas to Cifti space and train some task predictor based on connectivity maps following Tavor).
I ran fMRIPrep with -aroma and -cifti flags. I also ran first (and 2nd if you call the fixed effects of multiple runs as second) level analysis on the AROMA filtered MNI152NLin6Asym space nii files.
So basically, for each subject I have:
- A den_91K_bold.dtseries file for the rest (and also for the task runs infact)
- A MNI152NLin6Asym_desc-smoothAROMAnonaggr for each run and also their GLM results
- Also MNI152NLin2009cAsym_desc-preproc_bold for each run
What are my best possibilities from here?
(It’s probably obvious but I don’t find any obvious way to connect these…)
What is the question? I’m guessing you want to generate 91k grayordinates sampling from AROMA denoised data?
You’re right. The thing is there is more than one possible direction and I’m not even sure what is the right way.
Option 1 - transforming the contrast image from MNI152NLin6Asym to CIFTI space. How can I do that, given I have all the fmriprep’s outputs?
Option 2 - applying GLM directly on the CIFTI task data, ignoring the AROMA and using fmriprep’s confound regressors. How can I do that?
Option 2.1 - running ciftify_over_fmriprep_app, so I have an HCP like full library. Then again - same question mark as (2)
Okay, let’s go step-by-step:
Option 1 - Before we start, let’s clarify a few things. CIFTI (or better, CIFTI2) is just a file format (it is not “a space”). So I’m going to understand you want to obtain “a grayordinates” file sampled from AROMA-denoised data.
Good news is that your AROMA-denoised data are already standardized to MNI152NLin6Asym (confirming what you seem to suggest in your messages). The volumetric segments of a “grayordinates” file (i.e., a total of 32k coordinates) corresponding to the subcortical structures are defined in that particular space (MNI152NLin6Asym), although with a different resolution (1.6mm isotropic, if I’m not wrong). So only resampling would be needed.
The surfaces segment of the grayordinates file is going to be problematic, as fMRIPrep will not provide you with enough information to correctly sampling this.
We are working on both of the problems (writing more granular outputs, and allow for instance this 1.6mm version to be specified for the aroma outputs; as well as facilitating the resampling of data, particularly from the Glasser et al. atlas).
Option 2. fMRIPrep gives already all the information you need. You’ll need to correctly interpret the CIFTI2 format to extract the time-series.
Option 2.1. This is going to give you a bit extra accuracy in the alignment of surfaces, but is essentially the same as option 2.
So fist, thanks for taking the time and writing in such detail.
Also sorry, I meant for the fsLR_den-91k space.
Option 1, if I got it right, is not doable.
Back to option 2 - two further questions then -
1- I know how to get the time courses from the CIFTI files (pretty straightforward in nibabel). And obviously, Gamma, convolution and linear regression are available in pretty much any programming language. However, I’d still better off with using a standard tool - especially given there’s more than a single run so need to do the fixed effect later on. Now, FSL-FEAT (I think SPM too) received only volumetric data (AFAIK).
So basically the question is how can I do that within one of the existing tools - FSL, SPM or any of the other standards.
2- This one I actually had to ask from the beginning - - are the den_91K_bold.dtseries AROMA denoised? or should I regress them out if I’d like?