BIDS derivative at subject level

Dear (bids) experts,

I would like to ask your opinion about the following: At our facility, I wrote some scripts to perform automated export of DICOM files to NIftI. I’ve also attached a meica pipeline and now wrote freesurfer, mriqc, and defacing ‘pipelines’. In the BIDS specification, these derivatives are only specified at the dataset/group level. However, for a setup attached following data acquisition, it is easier (for me) to export within the subject level (so at the subject level, I now export “raw”,“nifti”, “bids”, “qc”, and “meica” per subject). To conform to the BIDS specification, would it be allowed to keep it this way, or should I convert to organization per project and have a single BIDS directory for all subjects? My (wrong) proposed solution would then be to have within the subject folder “bids” -> “sub-xxxx” -> { anat, func, derivatives/pipeline-x }

Looking forward to your expert opinions, or suggestions,


Hi Jan-Bernard,

From a BIDS-Derivatives standpoint you could write the results of each pipeline under their corresponding subject, with the following conditions/consequences:

  • Underneath each workflow, the structure MUST be BIDS-Derivatives compliant (i.e., you’ll have the subject ID again under the subject, which leads to some verbosity, consistency problems if you wrote the results for another subject, and redundancy as common files will be repeated).
  • The top level folder will not be BIDS compatible.

I think I would go with the defaults of BIDS in your case. It might be a bit of work today but I’d say your future self will really appreciate that you stuck with the specification.

Thanks for your reply oesteban, I’ll spend some more hours in it then :wink:
Looking forward to discuss and learn at the hackathon in Rome!

1 Like