Fmriprep --dummy-scans purpose?

Hi, I want to know what the --dummy-scan option does.

As far as I know, if I use dummy scan option, I will get non_steady_state_XX columns on my result report and then I use that info for my subsequential analysis(First-level analysis).

I know that simply using --dummy-scans will not remove actual volume images from my data. I just want to know what is the benefit of using that option. I want to perform similar preprocessing work on below.

The first four time points of the functional images were discarded for the possible instability of the initial MRI signal

Thank you all for seeing my question.

Junyong Oh

fMRIPrep will, by default, use an algorithm to detect dummy scans. If you know exactly how many there are, you can override this. This avoids situations where some runs are estimated to have more dummy scans than others, or simply allows you to generate regressors that fit your analytical needs, when you would drop more volumes than the algorithm would detect.

The main places this has an impact are slice-timing correction and CompCor. Slice-timing correction will leave dummy scans untouched, to avoid polluting the first non-dummy volume with non-steady-state effects. CompCor will ignore the dummy volumes to avoid giving you regressors that capture non-steady-state effects that will be accounted for by the non_steady_state_XX regressors.

Also, one should note that the fmriprep’s CompCor components are calculated on high pass filtered data for which DCT are calculated without the “dummy scans” (non steady state volumes). Ideally if you use the CompCor components from fmriprep, you should use the same DCT regressor for high pass filtering in your GLM.

A lot of great details in the fmriprep documentation:

fMRIPrep does high-pass filtering before running anatomical or temporal CompCor. Therefore, when using CompCor regressors, the corresponding cosine_XX regressors should also be included in the design matrix.

1 Like

Thank you for ur quick reply.

I have additional question. You mentioned. " CompCor will ignore the dummy volumes to avoid giving you regressors that capture non-steady-state effects that will be accounted for by the non_steady_state_XX regressors."

I googled non_steady_state options and I thought that I can use this options just like using —dummy-scans or —skip-bids-validation.

what is the exact meaning of non_steady_state_XX and how can I use them for additional analysis?

Junyong Oh

The non steady state regressors are just indicator columns to include in your design matrix when fitting a GLM. They will absorb all of the signal in the corresponding volumes, so the volumes will not impact the parameters of interest.

So you are saying that non_steady_state_regressors are just merely indicators right?

I don’t get it about that they will absorb all of the signal in the corresponding volumes. Are you saying that there are non_steady_state_regressors per one volume? and I get to decide whether include them in my design matrix or not?

Thank you for your fast reply.

Junyong Oh

The idea of the GLM overall is that we imagine the signal at each voxel is a linear combination of signals, some of which are “neural” and interesting, others of which are noise and uninteresting. By constructing a design matrix of the expected variables of interest and non-interest, we are modeling what we think are the significant contributors to the signal we may see at some voxel, modulo normally distributed noise. When we estimate the GLM, we get a collection of beta parameters, or effect size estimates, at each voxel. A beta for a variable of interest is the degree to which we believe the neural signal we expect to see is present in that voxel, and the beta for a variable of non-interest is the degree to which some other source of noise affects the signal in that voxel.

If we do not include variables of non-interest, or nuissance regressors, then the signal attributable to those regressors would influence the beta parameters for other variables, possibly including variables of interest. Effectively, these variables “absorb” portions of the signal that correlate with them, reducing that influence.

If we add an indicator, or a column of zeros with one 1 in it, as a nuissance regressor, the effect is to completely prevent that volume from having any influence on any other variables. If you were to delete the corresponding time point from the BOLD series and the design matrix, you would get the same betas.

You do get to decide whether to include the regressors in your design matrix, thus censoring those volumes, but you also need to be careful about the choice. If you’re using slice-timing correction or CompCor, then there has been processing that assumes that these volumes will be censored, and you will violate those assumptions by choosing not to include the regressors.