non_steady_state_outlier_XX not found in confound files

When running fmriprep version 20.2.0 I’ve noticed that none of the confound files in my fmriprep output contain non_steady_state_outlier_XX columns. However, from running MRIQC earlier, I know that most confounds files should contain some non-steady-state columns. My fmriprep command is:

unset PYTHONPATH; singularity run -B /N/slate/$(whoami):/N/slate/$(whoami) /N/dcwan/projects/irf/containers/fmriprep-${fmriprep_version}.simg \
		$bids_root_dir $bids_root_dir/derivatives						\
		participant														\
		--skip-bids-validation 											\
		--md-only-boilerplate											\
		--participant-label $s 											\
		--fs-license-file $FREESURFER_HOME/license.txt 					\
		--ignore slicetiming 											\
		--use-aroma 													\
		--aroma-melodic-dimensionality 100 								\
		--output-spaces MNI152NLin6Asym:res-2 							\
		--fd-spike-threshold 1.0										\
		--dvars-spike-threshold 5 										\
		--nthreads $nthreads											\
		--stop-on-first-crash 											\
		--low-mem 														\
		--mem_mb $mem_mb 												\
		--use-plugin $bids_root_dir/fmriprep_plugin_${s}.yml 			\
		--verbose 														\
		-w /N/slate/$(whoami)

Hi, I will start with a question: Do you have sbref files in your data set?

I am not totally sure how this is done internally but here is an observation I made recently (I have sbref files in my dataset):
I ran fmriprep twice on the same dataset, once with and once without the argument: --ignore bref.

  • without the argument –ignore bref, there were no non-steady state outlier in the confounds_timeseries.tsv file. (of note: it is also indicated in the fmriprep HTML report in the summary section at the beginning of each run)
  • with the argument –ignore bref, the non-steady state volumes reappeared in the HTML report and as extra columns in the confounds_timeseries.tsv file.

I do!

That’s strange though, as I’ve never used --ignore sbref, and in the past my confound files have contained non steady state columns, unless I’m misremembering a different dataset.

I’m interested myself in the answer. I don’t have sbref files in my dataset, and I don’t have non_steady_state_outlier_XX columns in my confounds file.
I found this on the website:
This workflow estimates a reference image for a BOLD series. If a single-band reference (“sbref”) image associated with the BOLD series is available, then it is used directly. If not, a reference image is estimated from the BOLD series as follows: When T1-saturation effects (“dummy scans” or non-steady state volumes) are detected, they are averaged and used as reference due to their superior tissue contrast. Otherwise, a median of motion corrected subset of volumes is used.

If I understood it correctly, fMRIPrem computes non-steady state outliers either way, with or without sbref files. Am I wrong?

It is not exactly what I understand. From what I understand, the heuristic is the following:

  1. if SBref is present, it will be used as reference and the non-steady state volume(s) won’t be calculated nor used.
  2. if there is SBref, fmriprep will look for non-steady state volume(s) or dummy scans. If the latter are present, they will be used to create a reference volume.
  3. if no SBref , non-steady-state volume(s) nor dummy scans are detected, then the mean of a motion corrected subset (the HCP uses volumes 11 to 20 for instance, one should look in fmriprep code to see what it is done) will be used as a reference.

So, to my understanding, you will only see the non_syeady_state columns in the confounds file if you are in case 2.

But I am not a fmriprep developper, that is only my take, I may be wrong.

If I am right, I would advise to change the html report in the case of SBref files: instead of writing non steady state volumes : 0, I would prefer: non-steady state volumes: not calculated.