1st level stats in FEAT taking hours with no completion. fmriprep preprocessing pipeline

I intend to use output from fmriprep to run 1st level analyses in FEAT. I am very new to independently processing neuroimaging data from both fmriprep and FSL. I selected the MNI152NLin2009cAsym_desc-preproc_bold.nii.gz which I smoothed with fslmaths prior to running it as the 4D data. My model includes 5 EVs and I converted the confounds tsv output to a txt file. However, when I run the first level analyses on one subject for one run it takes hours and I still get no output from feat. I’m honestly very confused as to where I’m going wrong or whether I am missing a step. I am rather unfamiliar with both fmriprep and fsl. I’m not so sure how to interpret the log but it seems to be stuck on this part of the stats below. Any insight into what is going on would be so helpful! Thank you

Stats

mkdir -p custom_timing_files ; /usr/local/fsl/bin/fslFixText /Users/scahalan/Documents/mri_analysis/fmri_FOE_GMU/data/FOE/SFN_new/sub200/rating_01.txt custom_timing_files/ev1.txt

mkdir -p custom_timing_files ; /usr/local/fsl/bin/fslFixText /Users/scahalan/Documents/mri_analysis/fmri_FOE_GMU/data/FOE/SFN_new/sub200/outcome_01.txt custom_timing_files/ev2.txt

mkdir -p custom_timing_files ; /usr/local/fsl/bin/fslFixText /Users/scahalan/Documents/mri_analysis/fmri_FOE_GMU/data/FOE/SFN_new/sub200/rating_number_01.txt custom_timing_files/ev3.txt

mkdir -p custom_timing_files ; /usr/local/fsl/bin/fslFixText /Users/scahalan/Documents/mri_analysis/fmri_FOE_GMU/data/FOE/SFN_new/sub200/outcome_number_01.txt custom_timing_files/ev4.txt

mkdir -p custom_timing_files ; /usr/local/fsl/bin/fslFixText /Users/scahalan/Documents/mri_analysis/fmri_FOE_GMU/data/FOE/SFN_new/sub200/PE_data_01.txt custom_timing_files/ev5.txt

paste -d ’ ’ /Users/scahalan/Documents/mri_analysis/fmri_images/RO1/derivatives/sub-CC200/func/confounds_timeseries.txt > confoundevs.txt

/usr/local/fsl/bin/feat_model design confoundevs.txt
Warning: at least one EV is (close to) a linear combination of the others. You probably need to alter your design.
(Design matrix is rank deficient - ratio of min:max eigenvalues in SVD of matrix is 1.36928e-14)
Contrasts involving these combinations will be set to zero.

/usr/local/fsl/bin/film_gls --in=filtered_func_data --rn=stats --pd=design.mat --thr=0.000000 --sa --ms=5 --con=design.con

Hi @Shannon_Cahalan,

The length of time for 1st level FEAT to complete with fMRIPrep-generated data depends on several factors, including data size, complexity of design matrix, etc. That being said, here are a few things to consider based on your initial post:

I would recommend the space-MNI152NLin6Asym fMRIPrep outputs if you have them, this space is equivalent to FSL’s MNI152 space (see here). This allows you to skip FEAT’s registration step (performed at the 2nd-level, see here for details). Additionally, FEAT enables smoothing via the “Spatial smoothing FWHM (mm)” option in the “Pre-stats” tab. You can select the amount of smoothing (in mm) that you prefer. This negates the need to smooth the data outside FEAT with fslmaths. I would also recommend you turn off “Motion correction”, "B0 unwarping, and “Slice timing correction”, as these have already been completed by fMRIPrep.

The confounds file(s) generated by fMRIPrep contain a wide variety of potential confound variables which can be used for different analysis pipelines (e.g., aroma denosing, CompCor, etc). However, as the fMRIPrep documentation warns, you should not use the entire confounds file in your analysis, simply specify the individual confounds you want into a separate .txt file and use that in FSL FEAT. I suspect this is what is what’s causing your FEAT to stall. However, you may still need to wait an hour (or two) for FEAT to finish, depending on the size of your data.

Hope this helps.

I am currently facing the same issue. I am using a Mac Studio with an M1 Max CPU. The same dataset can be done in a few minutes on Linux, but it takes one to two hours on macOS.

However, I have seen others mention that setting OPENBLAS_NUM_THREADS=1 in the file of environment variables can speed FEAT up, but it didn’t work for me. Perhaps you could give it a try, maybe it will work for you.

And if anyone knows why there is a stuck in FEAT, please share your ideas, I would greatly appreciate it.