Best way to organize inputs for a post-preprocessing BIDS app

Hi all
we are building a BIDS app whose inputs are:

-preprocessed resting state fMRI data (3D or 4D nii or nii.gz)
-brain (or a subset of it) mask (nii or nii.gz)

This input should be already present in the BIDS structure, either put there by the user itself, or read from the BIDS output of a preprocessing pipeline (i.e. FMRIPREP).

What’s the best way to tell our app to look for the appropriate input, or to ask the user to point to it?



There is no standard for this, but I would suggest the following as a good start

your_app <bids_root> <preproc_dir> <out_dir> <analysis_level>


  • bids_root is the root of the BIDS dataset
  • preproc_dir is the root of the BIDS derivatives folder (for example produced by FMRIPREP)
  • out_dir is the output directory
  • analysis_level is the processing stage (participant, group etc.)

You can also opt for making preproc_dir optional and look for a specific folder in bids_root/derivatives. Might be worth checking out fitlins as well