bids-standard / bids-examples

A set of BIDS compatible datasets with empty raw data files that can be used for writing lightweight software tests.
http://bids-standard.github.io/bids-examples/
169 stars 134 forks source link

HCP multi-pipeline to BIDS #444

Open elodiegermani opened 4 months ago

elodiegermani commented 4 months ago

With @cmaumet, we would like to organize a dataset into BIDS but we need more information due to the particular properties of the dataset. It is a multi-pipeline dataset with statistic and contrast maps at the subject and group-level for 24 different pipelines. These pipelines are named with the following convention: software-FWHM-number of motion regressors-presence of hrf derivatives.

Here, we propose a first attempt to organize these data as closely as possible to BIDS specifications. The goal is to make it suitable for hosting in the platform public-nEUro.

More information on the dataset are available in the data paper preprint: https://inserm.hal.science/inserm-04356768.

Thanks for your help!

Remi-Gau commented 4 months ago

Making some comments for general guidance and trying to alignb with WIP BEP 41

https://docs.google.com/document/d/1KHzp-yk8KXvkUIhtN71WU0m4P4kKT9C1yvI-i9_kNeY/edit

con maps

sub-100206_task-righthand_desc-con.nii.gz

becomes

sub-100206_task-righthand[_space-<label>]_contrast-<label>_stat-effect_statmap.nii.gz

t maps

sub-100206_task-righthand_desc-tstat.nii.gz

becomes

sub-100206_task-righthand[_space-<label>]_contrast-<label>_stat-t_statmap.nii.gz

group level as derivatives ?

Not sure but it having a group level as derivative nested within the dataset containing the first level may help make privenance a bit clearer (Note this is not part of the BEP)

hcp_multi_pipeline
├── derivatives
│   ├── fsl-5-0-0
│   └── spm-5-0-0
│       ├── dataset_description.json
│       ├── first-level-analysis
│       │   ├── sub-100206
│       │   │   ├── sub-100206_task-righthand_desc-con.nii.gz
│       │   │   └── sub-100206_task-righthand_desc-tstat.nii.gz
│       │   └── sub-100307
│       │       ├── sub-100307_task-righthand_desc-con.nii.gz
│       │       └── sub-100307_task-righthand_desc-tstat.nii.gz
│       └── derivatives
│           ├── dataset_description.json
│           └── group
│               ├── task-righthand_desc-con.nii.gz
│               └── task-righthand_desc-tstat.nii.gz
└── README.md
effigies commented 4 months ago

The way I organize things with fitlins is as a collection of sibling derivatives:

node-L1/
  dataset_description.json
  sub-01/
    ...
node-L2/
  dataset_description.json
  <no subjects>

node- is nothing official, it's just a naming convention that matches the stats models spec.

Remi-Gau commented 4 months ago

The way I organize things with fitlins is as a collection of sibling derivatives:

node-L1/
  dataset_description.json
  sub-01/
    ...
node-L2/
  dataset_description.json
  <no subjects>

node- is nothing official, it's just a naming convention that matches the stats models spec.

yeah that makes sense as well: I don't think things need to be nested but having separate BIDS datasets makes sense

elodiegermani commented 3 months ago

Hi @Remi-Gau and @effigies ! Thanks a lot for your help. I made a new commit with modifications according to your comments.

I am just not sure about the dataset_description.json included in the different nodes. Is there anything to specify in these files to add the information about the level of the statistics? And I am also not sure about what is the "XYZ-specific metadata" mentioned in the BEP41 sent by @Remi-Gau ?

effigies commented 3 months ago

"XYZ-specific metadata" is probably boilerplate from the BEP template that didn't get updated.