@@ -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 ` .
0 commit comments