Preprocessing steps in fmriprep

Hi ,
I tried to find it here: Processing pipeline details — fmriprep version documentation
But didnt.
Which of the follwing steps are done in fmriprep?
detrend, standardisation, high-pass filter, low-pass filter, fwhm smoothing, motion correction.


I assume you’re asking about BOLD preprocessing, which gets the following:

  1. Head motion correction
  2. Slice-timing correction (if SliceTiming information is available)
  3. Susceptibility distortion correction (if sufficient metadata is available and fieldmaps are provided or --use-syn-sdc is passed)
  4. BOLD-T1w coregistration
  5. Resampling in a requested output space (See Defining standard and nonstandard spaces where data will be resampled — fmriprep version documentation)

Additionally confound regressors are generated that will allow you to denoise your BOLD series.

So of the steps that you list, motion correction is performed. I’m not sure what “standardization” is, but if it means resampling to a template, then it can be.

By standardisation I mean normalization (standard scaler) of the data for each .nii .
Is it common to run these steps after fmriprep?

Sorry, we’re still having some terminology issues. By “normalization” I typically understand it to mean resampling to a template, but it sounds like you mean something more like rescaling the mean (and possibly variance?) of the whole image (or within a mask). In any case, fMRIPrep does not do it.

It may help to think of fMRIPrep as purely spatial preprocessing, creating images where the time series at a given voxel is as close as we can manage to the true signal at that location in the brain. Anything beyond this will tend to vary based on the intended analysis technique.

So yes, it is common to do more manipulation after fMRIPrep. For some techniques it may be a matter of consensus, others may be actively debated.

@effigies Thanks!
I there a review of common or standard preprocessing step for analysis techniques?
Can you please explain the rational behind applying specifically linear detrending and what it does? (The other are pretty clear)

Linear detrending is usually intended to account for low-frequency drift in a BOLD series, so it’s a crude high-pass filter with an approximate cutoff of 1/(2 * scan_duration). I personally would not recommend it over other temporal denoising methods.

I don’t know of any reviews that list common preprocessing steps for different analytical techniques, although that doesn’t mean there isn’t one I haven’t read…

I would probably start with the analysis technique you want to use and search pubmed for studies that have used it and read through their methods sections. You’ll get a sense of what’s common, what’s used sometimes, and how variable the parameters are. From there, I would probably pick a small sample of my data and try out a few options to see whether the preprocessing steps tend to preserve the signals I’m looking to study. Once you’ve selected some parameters, you can run all of your subjects.

What are other temporal denoising methods? High and Low pass filter?