bids-specification icon indicating copy to clipboard operation
bids-specification copied to clipboard

`rawdata` & root (top-level) BIDS dataset

Open dipterix opened this issue 1 year ago • 2 comments

I feel it a bit confusing reading Source vs. raw vs. derived data section. Currently it provides an alternative way to organize BIDS data in this way.

└─ my_dataset-1/
   ├─ sourcedata 
   ├─ ... 
   ├─ rawdata/
   │  ├─ dataset_description.json 
   │  ├─ participants.tsv 
   │  ├─ sub-01/
   │  ├─ sub-02/
   │  └─ ... 
   └─ derivatives/
      ├─ pipeline_1/
      ├─ pipeline_2/
      └─ ... 

My question is: what is the top-level BIDS directory in this case? Or how do I programmatically and reliably find the subject raw data in general?

Let's say

  1. I set my_dataset-1 as my BIDS folder: it has derivatives, but I can't find dataset_description.json. There is no direct subject data within. The other folders within are not BIDS compliant
  2. If I set my_dataset-1/rawdata as my BIDS folder, then I can't find derivatives as stated in BIDS specs (putting derivatives in rawdata does not make sense at all).

Initially there was dataset_description.json requirement under my_dataset-1, but https://github.com/bids-standard/bids-specification/pull/1741 removes it.

I wonder if it's a good idea to at least put some file in to indicate that this is the root of BIDS directory. This file includes file descriptors to indicate which components in my folders are BIDS-compliant? For example, ask people to provide BIDSDatasetLinks if the folder is structured in such way:

{
	"BIDSDatasetLinks" : {
		"rawdata" : "bids::rawdata",		# default is current directory
		"derivatives" : "bids::derivatives", # this is the default
	},
}

To address https://github.com/bids-standard/bids-specification/pull/1741#issuecomment-2059905338 , people should add .bidsignore.

dipterix avatar Aug 04 '24 02:08 dipterix