Hi everyone,
I have successfully run fMRIPrep pipeline on my language task-based fMRI dataset and i am trying to run afni_proc.py on my output results to do some regression and clustering analysis and find the activated regions during my tasks. My goal is compare those clusters with my current processing pipeline which uses only afni_proc.py to do time-shifting, alignment, volume registration, blurring (4 mm), masking , scaling and regression analysis. In an effort to see if ICA-AROMA cleaned dataset would give us a comparable or even better clusters, i have taken *space-MNI152NLin6Asym_desc-smoothAROMAnonaggr_bold.nii.gz & *desc-confounds_regressors.tsv files and regressed out the 6 motion parameters that was reported in my confound regressor.
However, I found out in AROMA process, first a spatial smoothing of size 6 mm is performed and then ICA-AROMA is applied. my current pipeline only does a 4 mm blur size, is there a way to change this default value to smaller size? more importantly is there a specific reason why blurring size of 6 mm was chosen? would it be possible to turn off this smoothing part before performing ICA-AROMA?
I believe that that smoothing kernel is the only one AROMA has been validated on, so it may be necessary. That said, since denoising only requires the mixing matrix and classifications (i.e., component time series and whether the component is accepted or rejected), the smoothing kernel doesn’t really matter at that stage.
You should be able to run the denoising after fMRIPrep using the preprocessed data and the AROMA mixing matrix. Per the fMRIPrep documentation:
Additionally, the MELODIC mix and noise component indices will be generated, so non-aggressive denoising can be manually performed in the T1w space with fsl_regfilt, e.g.:
So lets say i take the fmriprep func output sub-<subject_label>_task-<task_id>_space-T1w_desc-preproc_bold.nii.gz and pass it through fsl_regfilt and the output i get from this function can become my input to afni_proc.py? then in afni_proc i can choose a different blur size for it? and do i have to regress (6) motion parameter from this denoised dataset?
However, if i choose to go with ICA-AROMA cleaned dataset in MNI-space (space-MNI152NLin6Asym_desc-smoothAROMAnonaggr_bold.nii.gz), this dataset has been smoothed by 6 mm in the process and i cant do anything about its size.
can i run your suggested fsl_regfilt on **sub-<subject_label>_task-<>task_id_space-MNI152NLin2009cAsym_desc-preproc_bold.nii.gz rather than T1w space?
I guess you could run afni_proc.py on the data, but that seems like overkill. I’d just run a smoothing function directly, if that’s what you want done to the data. But yeah, you can just use whatever smoothing kernel you want.
I’ll paraphrase @rastko here (from ICA AROMA agg vs non-agg) and say that it may be a good idea to include other nuisance regressors (e.g., WM and CSF), but since correlation with motion parameters is a criterion for AROMA classification, it probably won’t help to include the motion parameters in your denoising step. Essentially, the motion parameters are almost certainly highly correlated with the “bad” components as classified by AROMA.
So as i am reading more neurostar posts about this ICA-AROMA dataset, there is this concern that regressing out nuisance regressor that were calculated before AROMA denosing the dataset could introduce a structured noise to the residual noise series.
my end goal is to get the activation map for my language tasks, if performing afni_proc.py is an overkill on the data, Isnt it better to just take ICA-AROMA denoised dataset and perform clustering on it?
Hi @tsalo, sorry for bother you again, but i am still trying to find out the best approach for my fmri analysis. based on what i am reading, i have narrowed them to 3 approaches:
taking non-AROMA dataset (_desc-preproc_bold.nii) and regressing out 6-motion parameters and motion outlier through afni_proc.py
taking the non-aggressivly denoised AROMA dataset (smoothAROMAnonaggr_bold.nii.gz ) and regressing out the mean signal from WM and CSF?
taking the non-AROMA dataset (_desc-preproc_bold.nii) and performing aggressive denoising using AROMA noise component (motion_AROMA#) + mean WM, CSF, global time series as well as discrete cosine frequencies. I am not sure, if i have understood this method right?
In your experience, which route has been the most successful?
I’m not an expert on AROMA, but I think that number 3 best matches up with your original goal (i.e., use AROMA denoising on data with a different smoothing kernel). Based on Best practices for AROMA and fmriprep, it seems like a completely reasonable approach.
Sorry to open this 4-yo topic, but I am using AROMA with fMRIprep 23.0.2, and I am trying to locate the information about the spatial smoothing applied is 6mm, but I cannot find it on Outputs of fMRIPrep — fmriprep version documentation
I can only find here that smoothing is applied but now the size, could either of you please refer me to the source of this information?
Thank you in advance, and I understand if you are not able to retrieve this information years since this post was made.
I have a follow-up question, and I would appreciate it if you could give me some advice. I had a dataset already preprocessed with fMRIPrep v23.0.2. For a representational similarity analysis (RSA), I specifically need AROMA-denoised but unsmoothed BOLD time series. However, the v23.0.2 derivatives include only the *_desc-smoothAROMAnonaggr_bold.nii.gz outputs.
Could you please confirm the recommended way to obtain AROMA (non-aggressive) without final spatial smoothing?
Option A (my current plan): Use fsl_regfilt with the run’s MELODIC mixing matrix and AROMA noise ICs on the MNI space-preproc BOLD:
Option B: Run fMRIPost-AROMA to produce a *_nonaggrDenoised_bold.nii.gz output and treat that as the unsmoothed AROMA result.
Could you advise:
Is Option A (regfilt on desc-preproc_bold using mixing.tsv + AROMAnoiseICs.csv) the correct/endorsed way to obtain unsmoothed AROMA-denoised data from an fMRIPrep v23.0.2 pipeline?
If using fMRIPost-AROMA, should I expect the _nonaggrDenoised_bold output to be unsmoothed ? To my understanding, SUSAN 6 mm is applied only during ICA feature estimation, not to the final denoised time series.
I don’t use fsl_regfilt, so I can’t speak to your command, but that’s general approach is entirely reasonable, and it is how I designed fMRIPost-AROMA to operate.
Yes, that’s correct. Some users have requested the smoothed version of the denoised data so I may make that an optional, additional output in the future, but the denoised data are unsmoothed.
As a brief update, I tested one subject with two approaches and observed approximately 0.x voxel-wise differences between them. This may suggest that my fsl_regfilt implementation may be missing some details than fMRIPost-AROMA. Thus, I feel that the more accurate approach is to run fMRIPost-AROMA directly on the fMRIPrep v23.0.2 derivatives and then use the resulting unsmoothed non-aggressive denoised BOLD for my RSA analyses. Is this correct?
However, I noticed that the header’s pixdim4 of denoised BOLD became 1 s, which is not my actual TR. I’m wondering whether this indicates a mistake in how I ran fMRIPost-AROMA, or fMRIPost-AROMA apply any additional implicit steps beyond the AROMA regression. I attached my script below for your reference.