nipreps / fmriprep

fMRIPrep is a robust and easy-to-use pipeline for preprocessing of diverse fMRI data. The transparent workflow dispenses of manual intervention, thereby ensuring the reproducibility of the results.
https://fmriprep.org
Apache License 2.0
612 stars 287 forks source link

Filtered framewise displacement #2094

Open rciric opened 4 years ago

rciric commented 4 years ago

Respiratory processes introduce high-frequency “pseudo-motions”; the image is factitiously shifted (principally in the phase encoding direction) as changes in abdominal volume perturb B0. To account for pseudo-motions, it is suggested that we use a filtered version of framewise displacement that removes the high frequencies where pseudo-motion is typically most apparent.

Following work from Gratton and colleagues, filtered framewise displacement is computed as follows: (1) padding of motion parameter time series (2) low-pass filtering of motion parameter time series at 0.1 Hz using a first-order Butterworth filter (3) computation of FD following the Power definition (sub of absolute differences) While computing filtered Power FD is straightforward, filtered Jenkinson FD would require additional considerations to implement.

tsalo commented 7 months ago

I think this can be left to post-processing workflows (e.g., an fMRIPost App or, if I'm going to self-promote, XCP-D). The Gratton paper was specific to single-band data, while the multiband version from Fair et al. (2020) recommends a notch filter with parameters selected based on either direct inspection of the data, or at least based on participant age, and would require adding more parameters to fMRIPrep. Since FD would be used for censoring and denoising in a post-processing step, it seems like the filtering can be done there as well.

effigies commented 7 months ago

Is filtering motion parameters purely for denoising, or should it be applied to the parameters for motion correcting?

tsalo commented 7 months ago

I believe it's just for the denoising, and for flagging high-motion volumes to censor. @madisoth does that sound right?

madisoth commented 7 months ago

Right, just for denoising and motion censoring in postprocessing (e.g. XCP-D, DCANBOLDProcessing)

tsalo commented 7 months ago

Thanks @madisoth! I think it's safe to consider this a postprocessing concern then.

effigies commented 7 months ago

Might be good to come up with a column description field to indicate whether the motion parameter has already been filtered, to avoid multiple application.