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 ).
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 , so don’t expect top notch programming from me!
@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:
- 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
- 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,
- All results for participant-level outputs should be saved according to BIDS derivatives specs, including some easy-to-read html report;
- 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