Reviving the fmridenoise project: how's in?

Denoising in resting-state fmri really is quite a hot topic on this forum. I feel like many of us are either relying on in-house script or personal experience to eventually choose a denoising strategy… clearly we need a standard tool!
fmridenoise is basically what I’ve been looking for, but the github page seems unmaintained since a couple of years (GitHub - compneuro-ncu/fmridenoise: Tool for automatic denoising, denoising strategies comparison, and functional connectivity data quality control.).
Running it now produces a lot of errors (partly due to the fact that some requirements have evolved and versions are not frozen in requirements.txt… partly because fMRIPrep also has evolved (no --use-aroma anymore, etc), partly for some reason I don’t explain :slight_smile: ).
I am moreover not sure the owners of the repo are still active (I have a simple pull request open for months, with no reaction).

I feel a bit sad that such a nice project is halted!

How’s interested in reviving the repo? I have my own fork, it is not stable yet, but I’m working on it. Of course, if you have a better fork, that’d be awesome.

Alternative question: do you know of an alternative to fmridenoise (that, preferably, is still actively mainteained?).

Disclaimer: I am not a professional programmer :slight_smile:, so don’t expect top notch programming from me!

Hi @arovai,

You might be interested in our preprint / code at here Continuous Evaluation of Denoising Strategies in Resting-State fMRI Connectivity Using fMRIPrep and Nilearn - PubMed and NeuroLibre: A reproducible benchmark of resting-state fMRI denoising strategies using fMRIPrep and Nilearn.

Best,
Steven

1 Like

@Steven that’s very interesting… I’m downloading the data and will play around.

As far as I understand, this is not wrapped in a BIDS-App. Do you have any plans to do that?

We do not have any plans to make it into a Dockerized BIDS-app, but by nature of Nilearn’s fmriprep interface it is designed to work with BIDS data.

Ok thanks. Having a BIDS-App would, I humbly think, help people (or at least, me!) use it as a tool to analyze their own data, and that’s why I liked how fmridenoise was designed (although it is not a BIDS-App). As of now, I am facing quite some work to adapt the scripts of fmriprep-denoise-benchmark to compute the metrics etc to my own dataset.

I like by the way the idea of having a notebook to explore the results (similar to what’s content/notebooks/results-group.ipynb of your project).

To be more explicit about what I have in mind, here’s a sketch of what such tool should do:

  1. Be callable like any BIDS-App, namely (I am using the name “fmridenoiser” but this is fictitious)
fmridenoiser /path/to/rawdata /path/to/derivatives participant
  1. This would fetch fmriprep outputs (e.g. within derivatives/fmriprep or something similar), apply a set of denoising strategies, and compute a set of metrics as well as connectivity measures for each strategies,
  2. All results for participant-level outputs should be saved according to BIDS derivatives specs, including some easy-to-read html report;
  3. A second step would then be to run
fmridenoiser /path/to/rawdata /path/to/derivatives group

which will gather all results at participant-level and compare the denoising strategies at dataset level. The output could be an html report or a notebook.

Steps 1. and 3. are basically a matter of wrapping things in an appropriate way; steps 2. and 4. are essentially already done within fmriprep-denoise-benchmark