Openneuro and fmriprep minimal derivatives

I am posting here because I am not 100% sure if this is just an fmriprep documentation issue or also an openneuro issue.

With the latest releases of fmriprep (> 23.2.0) it is possible to run fmriprep in what I call “hard drive friendly” mode (officially called “level” with option: mininal, resampling and full).
From my understanding this aims to generate a minimal set of data and transformation information from which the output to any of the space supported by templateFlow can then be deterministically created (this is my rough understanding, please correct me where I am off).

This gives datasets that are both lighter and also ore flexible in terms of what output they can “contain”. I believe that most of the datasets on openneuro processed fmriprep will now be of this lighter type. See an example here: ds004215-fmriprep/sub-ON01016/ses-01/func at main · OpenNeuroDerivatives/ds004215-fmriprep · GitHub

From the data user perspetive, the current issue I have is that it is not explained how to generate those new potential derivatives. I have not been able to find such information in the fmriprep or openneuro websites. Or at least not in the places I would expect.

The level option of the CLI is described here: Outputs of fMRIPrep — fmriprep version documentation

There is some extra info in the release notes:
https://fmriprep.org/en/latest/changes.html#january-10-2024

But the current FAQ does not explain how to generate new derivatives from a minimal fmriprep dataset. Similarly I could not find any information on the openneuro FAQ.

A search for “level” in the fmriprep doc did not give me more info.

My suggestion would be

  • to improve the fmriprep documentation to explain how to generate those new outputs (probably in the FAQ)
  • maybe update the openneuro FAQ to point to the fmriprep FAQ
  • one additional thing would be to make sure that the fmriprep dataset README contains also the info how to use the dataset and the proper container image that generated it to create further dervatives

@effigies @oesteban any suggestions?

The way to generate the rest is supposed to be (right now):

fmriprep $BIDS $OUT participant --derivatives $MINIMAL ...

We’re a bit allowing our practices to outpace our capabilities right now, as we’ve ensured that we can in principle generate the remaining derivatives from the minimal derivatives, but have not written the tools yet to regenerate without using the whole app. @tsalo’s work on fmripost workflows (see GitHub - nipreps/fmripost-aroma: Run ICA-AROMA on fMRIPrep derivatives) is an important part of that effort.

1 Like