Skip to content

Commit bb9f5be

Browse files
committed
Directoy tree for fmriprep derivatives
1 parent 189b5f3 commit bb9f5be

8 files changed

+91
-508
lines changed

examples/fmriprep/README.md

Lines changed: 91 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -79,11 +79,19 @@ bids_prov_visualizer --input_file derivatives/fmriprep/prov/workflow_provenance_
7979

8080
## Storing provenance in the dataset
8181

82+
> [!CAUTION]
83+
> TODO: split provenance traces into the following directory tree
84+
8285
```
8386
.
8487
├── code
8588
│ └── merge_prov.py
8689
├── prov
90+
│ ├── nipype
91+
│ │ ├── workflow_provenance_20250314T155959.trig
92+
│ │ ├── workflow_provenance_20250314T155959_bidsprov.jsonld
93+
│ │ ├── workflow_provenance_20250314T155959_bidsprov.svg
94+
│ │ └── workflow_provenance_20250314T155959_compacted.jsonldprov-fmriprep.prov.jsonld
8795
│ ├── merged
8896
│ │ ├── prov-fmriprep.prov.jsonld
8997
│ │ └── prov-fmriprep.prov.png
@@ -93,24 +101,92 @@ bids_prov_visualizer --input_file derivatives/fmriprep/prov/workflow_provenance_
93101
│ └── prov-fmriprep_soft.prov.json
94102
└── sub-001
95103
├── anat
96-
│ ├── sub-001_T1w_prov-fmriprep_act.prov.json
97-
│ └── sub-001_T1w_prov-fmriprep_ent.prov.json
104+
│ ├── sub-001_T1w_brainmask.nii.gz
105+
│ ├── sub-001_T1w_class-CSF_probtissue.nii.gz
106+
│ ├── sub-001_T1w_class-GM_probtissue.nii.gz
107+
│ ├── sub-001_T1w_class-WM_probtissue.nii.gz
108+
│ ├── sub-001_T1w_dtissue.nii.gz
109+
│ ├── sub-001_T1w_inflated.L.surf.gii
110+
│ ├── sub-001_T1w_inflated.R.surf.gii
111+
│ ├── sub-001_T1w_label-aparcaseg_roi.nii.gz
112+
│ ├── sub-001_T1w_label-aseg_roi.nii.gz
113+
│ ├── sub-001_T1w_midthickness.L.surf.gii
114+
│ ├── sub-001_T1w_midthickness.R.surf.gii
115+
│ ├── sub-001_T1w_pial.L.surf.gii
116+
│ ├── sub-001_T1w_pial.R.surf.gii
117+
│ ├── sub-001_T1w_preproc.nii.gz
118+
│ ├── sub-001_T1w_smoothwm.L.surf.gii
119+
│ ├── sub-001_T1w_smoothwm.R.surf.gii
120+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz
121+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz
122+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz
123+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz
124+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz
125+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz
126+
│ ├── sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5
127+
│ ├── sub-001_T1w_space-orig_target-T1w_affine.txt
128+
│ ├── sub-001_T1w_target-fsnative_affine.txt
129+
│ └── sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5
130+
├── figures
131+
│ ├── sub-001_phasediff_fmap_mask.svg
132+
│ ├── sub-001_T1w_reconall.svg
133+
│ ├── sub-001_T1w_seg_brainmask.svg
134+
│ ├── sub-001_T1w_t1_2_mni.svg
135+
│ ├── sub-001_task-MGT_run-01_bold_bbr.svg
136+
│ ├── sub-001_task-MGT_run-01_bold_carpetplot.svg
137+
│ ├── sub-001_task-MGT_run-01_bold_fmap_reg.svg
138+
│ ├── sub-001_task-MGT_run-01_bold_fmap_reg_vsm.svg
139+
│ ├── sub-001_task-MGT_run-01_bold_rois.svg
140+
│ ├── sub-001_task-MGT_run-01_bold_sdc_phasediff.svg
141+
│ ├── sub-001_task-MGT_run-02_bold_bbr.svg
142+
│ ├── sub-001_task-MGT_run-02_bold_carpetplot.svg
143+
│ ├── sub-001_task-MGT_run-02_bold_fmap_reg.svg
144+
│ ├── sub-001_task-MGT_run-02_bold_fmap_reg_vsm.svg
145+
│ ├── sub-001_task-MGT_run-02_bold_rois.svg
146+
│ ├── sub-001_task-MGT_run-02_bold_sdc_phasediff.svg
147+
│ ├── sub-001_task-MGT_run-03_bold_bbr.svg
148+
│ ├── sub-001_task-MGT_run-03_bold_carpetplot.svg
149+
│ ├── sub-001_task-MGT_run-03_bold_fmap_reg.svg
150+
│ ├── sub-001_task-MGT_run-03_bold_fmap_reg_vsm.svg
151+
│ ├── sub-001_task-MGT_run-03_bold_rois.svg
152+
│ ├── sub-001_task-MGT_run-03_bold_sdc_phasediff.svg
153+
│ ├── sub-001_task-MGT_run-04_bold_bbr.svg
154+
│ ├── sub-001_task-MGT_run-04_bold_carpetplot.svg
155+
│ ├── sub-001_task-MGT_run-04_bold_fmap_reg.svg
156+
│ ├── sub-001_task-MGT_run-04_bold_fmap_reg_vsm.svg
157+
│ ├── sub-001_task-MGT_run-04_bold_rois.svg
158+
│ └── sub-001_task-MGT_run-04_bold_sdc_phasediff.svg
98159
└── func
99-
├── sub-001_task-MGT_bold_prov-fmriprep_act.prov.json
100-
└── sub-001_task-MGT_bold_prov-fmriprep_ent.prov.json
160+
├── sub-001_task-MGT_run-01_bold_confounds.tsv
161+
├── sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii
162+
├── sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii
163+
├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz
164+
├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz
165+
├── sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz
166+
├── sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz
167+
├── sub-001_task-MGT_run-02_bold_confounds.tsv
168+
├── sub-001_task-MGT_run-02_bold_space-fsaverage5.L.func.gii
169+
├── sub-001_task-MGT_run-02_bold_space-fsaverage5.R.func.gii
170+
├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz
171+
├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_preproc.nii.gz
172+
├── sub-001_task-MGT_run-02_bold_space-T1w_label-aparcaseg_roi.nii.gz
173+
├── sub-001_task-MGT_run-02_bold_space-T1w_label-aseg_roi.nii.gz
174+
├── sub-001_task-MGT_run-03_bold_confounds.tsv
175+
├── sub-001_task-MGT_run-03_bold_space-fsaverage5.L.func.gii
176+
├── sub-001_task-MGT_run-03_bold_space-fsaverage5.R.func.gii
177+
├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz
178+
├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_preproc.nii.gz
179+
├── sub-001_task-MGT_run-03_bold_space-T1w_label-aparcaseg_roi.nii.gz
180+
├── sub-001_task-MGT_run-03_bold_space-T1w_label-aseg_roi.nii.gz
181+
├── sub-001_task-MGT_run-04_bold_confounds.tsv
182+
├── sub-001_task-MGT_run-04_bold_space-fsaverage5.L.func.gii
183+
├── sub-001_task-MGT_run-04_bold_space-fsaverage5.R.func.gii
184+
├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz
185+
├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_preproc.nii.gz
186+
├── sub-001_task-MGT_run-04_bold_space-T1w_label-aparcaseg_roi.nii.gz
187+
└── sub-001_task-MGT_run-04_bold_space-T1w_label-aseg_roi.nii.gz
101188
```
102189

103-
## Merging JSON in a JSON-LD file and plotting graph
104-
105-
The python script `code/merge_prov.py` aims at merging all these provenance records into one JSON-LD graph.
106-
107-
```shell
108-
mkdir prov/merged/
109-
python code/merge_prov.py
110-
```
111-
112-
From that, we generate the JSON-LD graph `prov/merge/prov-fmriprep.prov.jsonld`. Then we were able to plot the graph as a png file. We used this command:
113-
114190
### Limitations
115191

116192
* For now, we use a simplified description of the provenance, leaving aside software and environments as well as keys such as `Digest`, `Version`, `EnvVar`, `StartedAtTime`, `EndedAtTime`.

examples/fmriprep/derivatives/fmriprep/code/merge_prov.py

Lines changed: 0 additions & 99 deletions
This file was deleted.

0 commit comments

Comments
 (0)