From e6a1ad71efa9cb60cfef9c2456983de869365f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Tue, 4 Nov 2025 15:35:45 +0100 Subject: [PATCH 01/11] First version of study dataset --- .github/workflows/validate_datasets.yml | 8 +-- provenance_manual/.bidsignore | 1 + provenance_manual/README.md | 72 +++++++++++++++++++ provenance_manual/dataset_decription.json | 20 ++++++ .../sub-001/anat/sub-001_T1w_brainmask.nii.gz | 0 .../sub-001_T1w_class-CSF_probtissue.nii.gz | 0 .../sub-001_T1w_class-GM_probtissue.nii.gz | 0 .../sub-001_T1w_class-WM_probtissue.nii.gz | 0 .../sub-001/anat/sub-001_T1w_dtissue.nii.gz | 0 .../anat/sub-001_T1w_inflated.L.surf.gii | 0 .../anat/sub-001_T1w_inflated.R.surf.gii | 0 .../sub-001_T1w_label-aparcaseg_roi.nii.gz | 0 .../anat/sub-001_T1w_label-aseg_roi.nii.gz | 0 .../anat/sub-001_T1w_midthickness.L.surf.gii | 0 .../anat/sub-001_T1w_midthickness.R.surf.gii | 0 .../sub-001/anat/sub-001_T1w_pial.L.surf.gii | 0 .../sub-001/anat/sub-001_T1w_pial.R.surf.gii | 0 .../sub-001/anat/sub-001_T1w_preproc.nii.gz | 0 .../anat/sub-001_T1w_smoothwm.L.surf.gii | 0 .../anat/sub-001_T1w_smoothwm.R.surf.gii | 0 ...space-MNI152NLin2009cAsym_brainmask.nii.gz | 0 ...2NLin2009cAsym_class-CSF_probtissue.nii.gz | 0 ...52NLin2009cAsym_class-GM_probtissue.nii.gz | 0 ...52NLin2009cAsym_class-WM_probtissue.nii.gz | 0 ...w_space-MNI152NLin2009cAsym_dtissue.nii.gz | 0 ...w_space-MNI152NLin2009cAsym_preproc.nii.gz | 0 ...ace-MNI152NLin2009cAsym_target-T1w_warp.h5 | 0 ...b-001_T1w_space-orig_target-T1w_affine.txt | 0 ...001_T1w_target-MNI152NLin2009cAsym_warp.h5 | 0 .../sub-001_T1w_target-fsnative_affine.txt | 0 ...sub-001_task-MGT_run-01_bold_confounds.tsv | 0 ...space-MNI152NLin2009cAsym_brainmask.nii.gz | 0 ...d_space-MNI152NLin2009cAsym_preproc.nii.gz | 0 ..._bold_space-T1w_label-aparcaseg_roi.nii.gz | 0 ...un-01_bold_space-T1w_label-aseg_roi.nii.gz | 0 ...GT_run-01_bold_space-fsaverage5.L.func.gii | 0 ...GT_run-01_bold_space-fsaverage5.R.func.gii | 0 provenance_manual/prov/prov-edit_act.json | 11 +++ provenance_manual/prov/prov-fmriprep_act.json | 16 +++++ provenance_manual/prov/prov-fmriprep_env.json | 8 +++ .../prov/prov-fmriprep_soft.json | 10 +++ provenance_manual/prov/provenance.tsv | 3 + provenance_manual/sourcedata/raw/T1w.json | 0 .../sourcedata/raw/participants.tsv | 0 .../raw/sub-001/anat/sub-001_T1w.nii.gz | 0 .../func/sub-001_task-MGT_run-01_bold.nii.gz | 0 .../func/sub-001_task-MGT_run-01_events.tsv | 0 .../func/sub-001_task-MGT_run-01_sbref.nii.gz | 0 .../sourcedata/raw/task-MGT_bold.json | 0 .../sourcedata/raw/task-MGT_sbref.json | 0 50 files changed, 145 insertions(+), 4 deletions(-) create mode 100644 provenance_manual/.bidsignore create mode 100644 provenance_manual/README.md create mode 100644 provenance_manual/dataset_decription.json create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii create mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii create mode 100644 provenance_manual/prov/prov-edit_act.json create mode 100644 provenance_manual/prov/prov-fmriprep_act.json create mode 100644 provenance_manual/prov/prov-fmriprep_env.json create mode 100644 provenance_manual/prov/prov-fmriprep_soft.json create mode 100644 provenance_manual/prov/provenance.tsv create mode 100644 provenance_manual/sourcedata/raw/T1w.json create mode 100644 provenance_manual/sourcedata/raw/participants.tsv create mode 100644 provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz create mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz create mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv create mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz create mode 100644 provenance_manual/sourcedata/raw/task-MGT_bold.json create mode 100644 provenance_manual/sourcedata/raw/task-MGT_sbref.json diff --git a/.github/workflows/validate_datasets.yml b/.github/workflows/validate_datasets.yml index c71ecf609..3b3edb2cb 100644 --- a/.github/workflows/validate_datasets.yml +++ b/.github/workflows/validate_datasets.yml @@ -38,7 +38,7 @@ jobs: - name: Set up Node.js if: matrix.bids-validator == 'legacy' - uses: actions/setup-node@v6 + uses: actions/setup-node@v5 with: node-version: 22 @@ -107,7 +107,7 @@ jobs: fi - name: Skip legacy validation for post-legacy datasets - run: for DS in mrs_* dwi_deriv pet006 pheno004 volume_timing; do touch $DS/.SKIP_VALIDATION; done + run: for DS in mrs_* dwi_deriv pet006 pheno004 volume_timing provenance_*; do touch $DS/.SKIP_VALIDATION; done if: matrix.bids-validator == 'legacy' - name: Skip stable validation for datasets with unreleased validator features @@ -119,7 +119,7 @@ jobs: - name: Skip main validation for datasets with unreleased spec features # Replace ${EMPTY} with dataset patterns, when this is needed # Reset to "for DS in ${EMPTY}; ..." after a spec release - run: for DS in dwi_deriv pheno004; do touch $DS/.SKIP_VALIDATION; done + run: for DS in dwi_deriv pheno004 provenance_*; do touch $DS/.SKIP_VALIDATION; done if: matrix.bids-validator != 'dev' - name: Set BIDS_SCHEMA variable for dev version @@ -128,7 +128,7 @@ jobs: # Update this URL to the schema.json from PRs to the spec, when needed. # If this variable is unset, dev will generally track the latest development # release of https://jsr.io/@bids/schema - run: echo BIDS_SCHEMA=https://bids-specification.readthedocs.io/en/latest/schema.json >> $GITHUB_ENV + run: echo BIDS_SCHEMA=https://bids-specification--2099.org.readthedocs.build/en/2099/schema.json >> $GITHUB_ENV - name: Validate all BIDS datasets using bids-validator run: | diff --git a/provenance_manual/.bidsignore b/provenance_manual/.bidsignore new file mode 100644 index 000000000..27c56e5df --- /dev/null +++ b/provenance_manual/.bidsignore @@ -0,0 +1 @@ +derivatives/* \ No newline at end of file diff --git a/provenance_manual/README.md b/provenance_manual/README.md new file mode 100644 index 000000000..d808983fa --- /dev/null +++ b/provenance_manual/README.md @@ -0,0 +1,72 @@ +# BEP028 example dataset - Provenance metadata for `fMRIPrep` + +## Goal + +This example aims at showing provenance metadata for a preprocessing with [`fMRIPrep`](https://fmriprep.org/en/23.1.3/index.html). Provenance metadata was generated manually ; this acts as a guideline for minimal provenance description at dataset level. + +> [!WARNING] +> Validation of the `sub-001/` directory is ignored through a `.bidsignore` file, as the aim of the example is to focus on provenance metadata. + +## Original dataset + +This dataset is a derivative dataset of the [ds001734](https://openneuro.org/datasets/ds001734/versions/1.0.5) dataset. ds001734 contains raw and preprocessed fMRI data of two versions of the mixed gambles task, from the Neuroimaging Analysis Replication and Prediction Study (NARPS). **Only raw data for subject `sub-001` was preprocessed for this example.** All `.nii.gz` files were replaced by empty files. + +## Directory tree + +After preprocessing, and adding provenance metadata, the directory tree is as follows. +Files marked with ✍️ were generated manually, other files were generated by the preprocessing step. + +> [!NOTE] +> Note that the `docs/` directory contains explanatory data (see [Provenance as a RDF graph](#provenance-as-a-rdf-graph)) that is not required to encode provenance. + +``` +. +├── ✍️ dataset_description.json +├── ✍️ docs +│ ├── ✍️ prov-fmriprep.jsonld +│ └── ✍️ prov-fmriprep.png +├── ✍️ prov +│ ├── ✍️ prov-fmriprep_act.json +│ ├── ✍️ prov-fmriprep_ent.json +│ ├── ✍️ prov-fmriprep_env.json +│ └── ✍️ prov-fmriprep_soft.json +├── ✍️ README.md +└── sub-001 + ├── anat + │ ├── sub-001_T1w_brainmask.nii.gz + │ ├── sub-001_T1w_dtissue.nii.gz + │ ├── sub-001_T1w_label-aparcaseg_roi.nii.gz + │ ├── sub-001_T1w_label-aseg_roi.nii.gz + │ ├── sub-001_T1w_preproc.nii.gz + │ ├── sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz + │ ├── sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz + │ └── sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz + └── func + ├── sub-001_task-MGT_run-01_bold_confounds.tsv + ├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz + ├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz + ├── sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz + ├── sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz + ├── sub-001_task-MGT_run-02_bold_confounds.tsv + ├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz + ├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_preproc.nii.gz + ├── sub-001_task-MGT_run-02_bold_space-T1w_label-aparcaseg_roi.nii.gz + ├── sub-001_task-MGT_run-02_bold_space-T1w_label-aseg_roi.nii.gz + ├── sub-001_task-MGT_run-03_bold_confounds.tsv + ├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz + ├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_preproc.nii.gz + ├── sub-001_task-MGT_run-03_bold_space-T1w_label-aparcaseg_roi.nii.gz + ├── sub-001_task-MGT_run-03_bold_space-T1w_label-aseg_roi.nii.gz + ├── sub-001_task-MGT_run-04_bold_confounds.tsv + ├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz + ├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_preproc.nii.gz + ├── sub-001_task-MGT_run-04_bold_space-T1w_label-aparcaseg_roi.nii.gz + └── sub-001_task-MGT_run-04_bold_space-T1w_label-aseg_roi.nii.gz + +``` + +## Provenance as a RDF graph + +Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`docs/prov-fmriprep.jsonld`](docs/prov-fmriprep.jsonld). This is a rendered version of the graph, also available in [`docs/prov-fmriprep.png`](docs/prov-fmriprep.png). + +![Rendered version of the RDF graph](docs/prov-fmriprep.png) diff --git a/provenance_manual/dataset_decription.json b/provenance_manual/dataset_decription.json new file mode 100644 index 000000000..bb62cc8fb --- /dev/null +++ b/provenance_manual/dataset_decription.json @@ -0,0 +1,20 @@ +{ + "Name": "Outputs from fMRIPrep preprocessing of the NARPS data", + "BIDSVersion": "1.10.0", + "DatasetType": "study", + "License": "CC0", + "Authors": [ + "Boris Clénet" + ], + "DatasetLinks": { + "raw": "sourcedata/raw/", + "fmriprep": "derivatives/fmriprep/", + "ds001734": "https://openneuro.org/datasets/ds001734/versions/1.0.5" + }, + "SourceDatasets": [ + { + "URL": "ds001734", + "Version": "1.0.5" + } + ], +} \ No newline at end of file diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/prov/prov-edit_act.json b/provenance_manual/prov/prov-edit_act.json new file mode 100644 index 000000000..00d751299 --- /dev/null +++ b/provenance_manual/prov/prov-edit_act.json @@ -0,0 +1,11 @@ +{ + "Activities": [ + { + "Id": "bids::prov#editRepetitionTime-DF2X6Slh", + "Label": "Manual edition of Repetition Time", + "Used": [ + "bids:fmriprep:." + ] + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-fmriprep_act.json b/provenance_manual/prov/prov-fmriprep_act.json new file mode 100644 index 000000000..d594e1915 --- /dev/null +++ b/provenance_manual/prov/prov-fmriprep_act.json @@ -0,0 +1,16 @@ +{ + "Activities": [ + { + "Id": "bids::prov#preprocessing-af6s5v2d", + "Label": "Preprocessing", + "Command": "docker run --rm -it -v /soft/freesurfer/license.txt:/opt/freesurfer/license.txt:ro -v sourcedata/raw:/data:ro -v derivatives/fmriprep:/out -v work:/scratch poldracklab/fmriprep:1.1.4 /data /out participant --participant-label=001 --reports-only --write-graph -w /scratch", + "AssociatedWith": [ + "bids::prov#fmriprep-zz55eds6" + ], + "Used": [ + "bids::prov#poldracklab/fmriprep-Nk3tFUvC", + "bids:raw:." + ] + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-fmriprep_env.json b/provenance_manual/prov/prov-fmriprep_env.json new file mode 100644 index 000000000..264f7bdd5 --- /dev/null +++ b/provenance_manual/prov/prov-fmriprep_env.json @@ -0,0 +1,8 @@ +{ + "Environments": [ + { + "Id": "bids::prov#poldracklab/fmriprep-Nk3tFUvC", + "Label": "docker image poldracklab/fmriprep:1.1.4" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-fmriprep_soft.json b/provenance_manual/prov/prov-fmriprep_soft.json new file mode 100644 index 000000000..c0e5d1b85 --- /dev/null +++ b/provenance_manual/prov/prov-fmriprep_soft.json @@ -0,0 +1,10 @@ +{ + "Software": [ + { + "Id": "bids::prov#fmriprep-zz55eds6", + "Label": "fMRIPrep", + "Version": "1.1.4", + "AltIdentifier": "RRID:SCR_016216" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/provenance.tsv b/provenance_manual/prov/provenance.tsv new file mode 100644 index 000000000..7cd38d7e4 --- /dev/null +++ b/provenance_manual/prov/provenance.tsv @@ -0,0 +1,3 @@ +provenance_label description +prov-fmriprep Provenance of preprocessing performed with fMRIPrep. +prov-edit Manual editing of . \ No newline at end of file diff --git a/provenance_manual/sourcedata/raw/T1w.json b/provenance_manual/sourcedata/raw/T1w.json new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/participants.tsv b/provenance_manual/sourcedata/raw/participants.tsv new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz b/provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/task-MGT_bold.json b/provenance_manual/sourcedata/raw/task-MGT_bold.json new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/sourcedata/raw/task-MGT_sbref.json b/provenance_manual/sourcedata/raw/task-MGT_sbref.json new file mode 100644 index 000000000..e69de29bb From 3333e57b1b10d172b58d148025a40652de1ba0b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Tue, 4 Nov 2025 16:53:27 +0100 Subject: [PATCH 02/11] Manual segmentations --- provenance_manual/.bidsignore | 1 - provenance_manual/README.md | 62 ++----------------- provenance_manual/dataset_decription.json | 2 +- .../sub-001_T1w_class-CSF_probtissue.nii.gz | 0 .../sub-001_T1w_class-GM_probtissue.nii.gz | 0 .../sub-001_T1w_class-WM_probtissue.nii.gz | 0 .../sub-001/anat/sub-001_T1w_dtissue.nii.gz | 0 .../anat/sub-001_T1w_inflated.L.surf.gii | 0 .../anat/sub-001_T1w_inflated.R.surf.gii | 0 .../sub-001_T1w_label-aparcaseg_roi.nii.gz | 0 .../anat/sub-001_T1w_label-aseg_roi.nii.gz | 0 .../anat/sub-001_T1w_midthickness.L.surf.gii | 0 .../anat/sub-001_T1w_midthickness.R.surf.gii | 0 .../sub-001/anat/sub-001_T1w_pial.L.surf.gii | 0 .../sub-001/anat/sub-001_T1w_pial.R.surf.gii | 0 .../sub-001/anat/sub-001_T1w_preproc.nii.gz | 0 .../anat/sub-001_T1w_smoothwm.L.surf.gii | 0 .../anat/sub-001_T1w_smoothwm.R.surf.gii | 0 ...space-MNI152NLin2009cAsym_brainmask.nii.gz | 0 ...2NLin2009cAsym_class-CSF_probtissue.nii.gz | 0 ...52NLin2009cAsym_class-GM_probtissue.nii.gz | 0 ...52NLin2009cAsym_class-WM_probtissue.nii.gz | 0 ...w_space-MNI152NLin2009cAsym_dtissue.nii.gz | 0 ...w_space-MNI152NLin2009cAsym_preproc.nii.gz | 0 ...ace-MNI152NLin2009cAsym_target-T1w_warp.h5 | 0 ...b-001_T1w_space-orig_target-T1w_affine.txt | 0 ...001_T1w_target-MNI152NLin2009cAsym_warp.h5 | 0 .../sub-001_T1w_target-fsnative_affine.txt | 0 ...sub-001_task-MGT_run-01_bold_confounds.tsv | 0 ...space-MNI152NLin2009cAsym_brainmask.nii.gz | 0 ...d_space-MNI152NLin2009cAsym_preproc.nii.gz | 0 ..._bold_space-T1w_label-aparcaseg_roi.nii.gz | 0 ...un-01_bold_space-T1w_label-aseg_roi.nii.gz | 0 ...GT_run-01_bold_space-fsaverage5.L.func.gii | 0 ...GT_run-01_bold_space-fsaverage5.R.func.gii | 0 .../segmentations/dataset_description.json | 12 ++++ .../sub-001/anat/sub-001_space-orig_dseg.json | 3 + .../anat/sub-001_space-orig_dseg.nii.gz} | 0 provenance_manual/prov/prov-edit_act.json | 11 ---- provenance_manual/prov/prov-fmriprep_act.json | 16 ----- .../prov/prov-fmriprep_soft.json | 10 --- provenance_manual/prov/prov-seg_act.json | 15 +++++ ...ov-fmriprep_env.json => prov-seg_env.json} | 2 +- provenance_manual/prov/prov-seg_soft.json | 10 +++ provenance_manual/sourcedata/raw/T1w.json | 0 .../sourcedata/raw/participants.tsv | 2 + .../raw/sub-001/anat/sub-001_T1w.json | 8 +++ .../func/sub-001_task-MGT_run-01_bold.nii.gz | 0 .../func/sub-001_task-MGT_run-01_events.tsv | 0 .../func/sub-001_task-MGT_run-01_sbref.nii.gz | 0 .../sourcedata/raw/task-MGT_bold.json | 0 .../sourcedata/raw/task-MGT_sbref.json | 0 52 files changed, 58 insertions(+), 96 deletions(-) delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii delete mode 100644 provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii create mode 100644 provenance_manual/derivatives/segmentations/dataset_description.json create mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json rename provenance_manual/derivatives/{fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz => segmentations/sub-001/anat/sub-001_space-orig_dseg.nii.gz} (100%) delete mode 100644 provenance_manual/prov/prov-edit_act.json delete mode 100644 provenance_manual/prov/prov-fmriprep_act.json delete mode 100644 provenance_manual/prov/prov-fmriprep_soft.json create mode 100644 provenance_manual/prov/prov-seg_act.json rename provenance_manual/prov/{prov-fmriprep_env.json => prov-seg_env.json} (62%) create mode 100644 provenance_manual/prov/prov-seg_soft.json delete mode 100644 provenance_manual/sourcedata/raw/T1w.json create mode 100644 provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.json delete mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz delete mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv delete mode 100644 provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz delete mode 100644 provenance_manual/sourcedata/raw/task-MGT_bold.json delete mode 100644 provenance_manual/sourcedata/raw/task-MGT_sbref.json diff --git a/provenance_manual/.bidsignore b/provenance_manual/.bidsignore index 27c56e5df..e69de29bb 100644 --- a/provenance_manual/.bidsignore +++ b/provenance_manual/.bidsignore @@ -1 +0,0 @@ -derivatives/* \ No newline at end of file diff --git a/provenance_manual/README.md b/provenance_manual/README.md index d808983fa..41d801ceb 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -1,72 +1,22 @@ -# BEP028 example dataset - Provenance metadata for `fMRIPrep` +# Provenance of manual brain segmentations -## Goal - -This example aims at showing provenance metadata for a preprocessing with [`fMRIPrep`](https://fmriprep.org/en/23.1.3/index.html). Provenance metadata was generated manually ; this acts as a guideline for minimal provenance description at dataset level. - -> [!WARNING] -> Validation of the `sub-001/` directory is ignored through a `.bidsignore` file, as the aim of the example is to focus on provenance metadata. +https://www.itksnap.org/pmwiki/pmwiki.php?n=Main.HomePage -## Original dataset +## Goal -This dataset is a derivative dataset of the [ds001734](https://openneuro.org/datasets/ds001734/versions/1.0.5) dataset. ds001734 contains raw and preprocessed fMRI data of two versions of the mixed gambles task, from the Neuroimaging Analysis Replication and Prediction Study (NARPS). **Only raw data for subject `sub-001` was preprocessed for this example.** All `.nii.gz` files were replaced by empty files. +This example aims at showing provenance metadata for a study dataset in which several experts performed manual brain segmentations from the same T1w file. ## Directory tree -After preprocessing, and adding provenance metadata, the directory tree is as follows. -Files marked with ✍️ were generated manually, other files were generated by the preprocessing step. - > [!NOTE] > Note that the `docs/` directory contains explanatory data (see [Provenance as a RDF graph](#provenance-as-a-rdf-graph)) that is not required to encode provenance. ``` -. -├── ✍️ dataset_description.json -├── ✍️ docs -│ ├── ✍️ prov-fmriprep.jsonld -│ └── ✍️ prov-fmriprep.png -├── ✍️ prov -│ ├── ✍️ prov-fmriprep_act.json -│ ├── ✍️ prov-fmriprep_ent.json -│ ├── ✍️ prov-fmriprep_env.json -│ └── ✍️ prov-fmriprep_soft.json -├── ✍️ README.md -└── sub-001 - ├── anat - │ ├── sub-001_T1w_brainmask.nii.gz - │ ├── sub-001_T1w_dtissue.nii.gz - │ ├── sub-001_T1w_label-aparcaseg_roi.nii.gz - │ ├── sub-001_T1w_label-aseg_roi.nii.gz - │ ├── sub-001_T1w_preproc.nii.gz - │ ├── sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz - │ ├── sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz - │ └── sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz - └── func - ├── sub-001_task-MGT_run-01_bold_confounds.tsv - ├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz - ├── sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz - ├── sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz - ├── sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz - ├── sub-001_task-MGT_run-02_bold_confounds.tsv - ├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz - ├── sub-001_task-MGT_run-02_bold_space-MNI152NLin2009cAsym_preproc.nii.gz - ├── sub-001_task-MGT_run-02_bold_space-T1w_label-aparcaseg_roi.nii.gz - ├── sub-001_task-MGT_run-02_bold_space-T1w_label-aseg_roi.nii.gz - ├── sub-001_task-MGT_run-03_bold_confounds.tsv - ├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz - ├── sub-001_task-MGT_run-03_bold_space-MNI152NLin2009cAsym_preproc.nii.gz - ├── sub-001_task-MGT_run-03_bold_space-T1w_label-aparcaseg_roi.nii.gz - ├── sub-001_task-MGT_run-03_bold_space-T1w_label-aseg_roi.nii.gz - ├── sub-001_task-MGT_run-04_bold_confounds.tsv - ├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz - ├── sub-001_task-MGT_run-04_bold_space-MNI152NLin2009cAsym_preproc.nii.gz - ├── sub-001_task-MGT_run-04_bold_space-T1w_label-aparcaseg_roi.nii.gz - └── sub-001_task-MGT_run-04_bold_space-T1w_label-aseg_roi.nii.gz ``` ## Provenance as a RDF graph -Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`docs/prov-fmriprep.jsonld`](docs/prov-fmriprep.jsonld). This is a rendered version of the graph, also available in [`docs/prov-fmriprep.png`](docs/prov-fmriprep.png). +Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`docs/prov-seg.jsonld`](docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`docs/prov-seg.png`](docs/prov-seg.png). -![Rendered version of the RDF graph](docs/prov-fmriprep.png) +![Rendered version of the RDF graph](docs/prov-seg.png) diff --git a/provenance_manual/dataset_decription.json b/provenance_manual/dataset_decription.json index bb62cc8fb..b154c7f7f 100644 --- a/provenance_manual/dataset_decription.json +++ b/provenance_manual/dataset_decription.json @@ -8,7 +8,7 @@ ], "DatasetLinks": { "raw": "sourcedata/raw/", - "fmriprep": "derivatives/fmriprep/", + "segmentations": "derivatives/segmentations/", "ds001734": "https://openneuro.org/datasets/ds001734/versions/1.0.5" }, "SourceDatasets": [ diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-CSF_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-GM_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_class-WM_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_dtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.L.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_inflated.R.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aparcaseg_roi.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_label-aseg_roi.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.L.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_midthickness.R.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.L.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_pial.R.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_preproc.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.L.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_smoothwm.R.surf.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_brainmask.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-CSF_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-GM_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_class-WM_probtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_dtissue.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_preproc.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-MNI152NLin2009cAsym_target-T1w_warp.h5 deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_space-orig_target-T1w_affine.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-MNI152NLin2009cAsym_warp.h5 deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt b/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_target-fsnative_affine.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_confounds.tsv deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_brainmask.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-MNI152NLin2009cAsym_preproc.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aparcaseg_roi.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-T1w_label-aseg_roi.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.L.func.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii b/provenance_manual/derivatives/fmriprep/sub-001/func/sub-001_task-MGT_run-01_bold_space-fsaverage5.R.func.gii deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/derivatives/segmentations/dataset_description.json b/provenance_manual/derivatives/segmentations/dataset_description.json new file mode 100644 index 000000000..53aaa1cef --- /dev/null +++ b/provenance_manual/derivatives/segmentations/dataset_description.json @@ -0,0 +1,12 @@ +{ + "Name": "Brain segmentation - Expert #1", + "BIDSVersion": "1.10.0", + "DatasetType": "derivative", + "License": "CC0", + "Authors": [ + "Boris Clénet" + ], + "DatasetLinks": { + "study": "../../.", + } +} \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json new file mode 100644 index 000000000..56cc55f7f --- /dev/null +++ b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json @@ -0,0 +1,3 @@ +{ + "GeneratedBy": "bids:study:prov#segmentation-af6s5v2d" +} \ No newline at end of file diff --git a/provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.nii.gz similarity index 100% rename from provenance_manual/derivatives/fmriprep/sub-001/anat/sub-001_T1w_brainmask.nii.gz rename to provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.nii.gz diff --git a/provenance_manual/prov/prov-edit_act.json b/provenance_manual/prov/prov-edit_act.json deleted file mode 100644 index 00d751299..000000000 --- a/provenance_manual/prov/prov-edit_act.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "Activities": [ - { - "Id": "bids::prov#editRepetitionTime-DF2X6Slh", - "Label": "Manual edition of Repetition Time", - "Used": [ - "bids:fmriprep:." - ] - } - ] -} \ No newline at end of file diff --git a/provenance_manual/prov/prov-fmriprep_act.json b/provenance_manual/prov/prov-fmriprep_act.json deleted file mode 100644 index d594e1915..000000000 --- a/provenance_manual/prov/prov-fmriprep_act.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "Activities": [ - { - "Id": "bids::prov#preprocessing-af6s5v2d", - "Label": "Preprocessing", - "Command": "docker run --rm -it -v /soft/freesurfer/license.txt:/opt/freesurfer/license.txt:ro -v sourcedata/raw:/data:ro -v derivatives/fmriprep:/out -v work:/scratch poldracklab/fmriprep:1.1.4 /data /out participant --participant-label=001 --reports-only --write-graph -w /scratch", - "AssociatedWith": [ - "bids::prov#fmriprep-zz55eds6" - ], - "Used": [ - "bids::prov#poldracklab/fmriprep-Nk3tFUvC", - "bids:raw:." - ] - } - ] -} \ No newline at end of file diff --git a/provenance_manual/prov/prov-fmriprep_soft.json b/provenance_manual/prov/prov-fmriprep_soft.json deleted file mode 100644 index c0e5d1b85..000000000 --- a/provenance_manual/prov/prov-fmriprep_soft.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Software": [ - { - "Id": "bids::prov#fmriprep-zz55eds6", - "Label": "fMRIPrep", - "Version": "1.1.4", - "AltIdentifier": "RRID:SCR_016216" - } - ] -} \ No newline at end of file diff --git a/provenance_manual/prov/prov-seg_act.json b/provenance_manual/prov/prov-seg_act.json new file mode 100644 index 000000000..e8ad3cbef --- /dev/null +++ b/provenance_manual/prov/prov-seg_act.json @@ -0,0 +1,15 @@ +{ + "Activities": [ + { + "Id": "bids::prov#segmentation-af6s5v2d", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-zz55eds6" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + } + ] +} diff --git a/provenance_manual/prov/prov-fmriprep_env.json b/provenance_manual/prov/prov-seg_env.json similarity index 62% rename from provenance_manual/prov/prov-fmriprep_env.json rename to provenance_manual/prov/prov-seg_env.json index 264f7bdd5..288694e14 100644 --- a/provenance_manual/prov/prov-fmriprep_env.json +++ b/provenance_manual/prov/prov-seg_env.json @@ -2,7 +2,7 @@ "Environments": [ { "Id": "bids::prov#poldracklab/fmriprep-Nk3tFUvC", - "Label": "docker image poldracklab/fmriprep:1.1.4" + "Label": "" } ] } \ No newline at end of file diff --git a/provenance_manual/prov/prov-seg_soft.json b/provenance_manual/prov/prov-seg_soft.json new file mode 100644 index 000000000..3b28fa791 --- /dev/null +++ b/provenance_manual/prov/prov-seg_soft.json @@ -0,0 +1,10 @@ +{ + "Software": [ + { + "Id": "bids::prov#itksnap-zz55eds6", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/sourcedata/raw/T1w.json b/provenance_manual/sourcedata/raw/T1w.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/sourcedata/raw/participants.tsv b/provenance_manual/sourcedata/raw/participants.tsv index e69de29bb..199ac24c5 100644 --- a/provenance_manual/sourcedata/raw/participants.tsv +++ b/provenance_manual/sourcedata/raw/participants.tsv @@ -0,0 +1,2 @@ +participant_id gender age +sub-001 F 38 \ No newline at end of file diff --git a/provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.json b/provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.json new file mode 100644 index 000000000..3c6ebf8fb --- /dev/null +++ b/provenance_manual/sourcedata/raw/sub-001/anat/sub-001_T1w.json @@ -0,0 +1,8 @@ +{ + "RepetitionTime": 2.53, + "EchoTime": 0.00299, + "FlipAngle": 7, + "Manufacturer": "SIEMENS", + "ManufacturersModelName": "Prisma", + "MagneticFieldStrength": 3 +} \ No newline at end of file diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_bold.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_events.tsv deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz b/provenance_manual/sourcedata/raw/sub-001/func/sub-001_task-MGT_run-01_sbref.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/sourcedata/raw/task-MGT_bold.json b/provenance_manual/sourcedata/raw/task-MGT_bold.json deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/sourcedata/raw/task-MGT_sbref.json b/provenance_manual/sourcedata/raw/task-MGT_sbref.json deleted file mode 100644 index e69de29bb..000000000 From 34c95f0589b4fc96fa413c6843f0c345644e670a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Wed, 5 Nov 2025 10:27:22 +0100 Subject: [PATCH 03/11] Add segmentations for 3 experts --- ...cription.json => dataset_description.json} | 2 +- .../segmentations/dataset_description.json | 2 +- .../sub-001_space-orig_desc-exp1_dseg.json | 3 + ... sub-001_space-orig_desc-exp1_dseg.nii.gz} | 0 .../sub-001_space-orig_desc-exp2_dseg.json | 3 + .../sub-001_space-orig_desc-exp2_dseg.nii.gz | 0 ...=> sub-001_space-orig_desc-exp3_dseg.json} | 0 .../sub-001_space-orig_desc-exp3_dseg.nii.gz | 0 provenance_manual/docs/prov.jsonld | 63 +++++++++++++++++++ provenance_manual/prov/prov-seg1_act.json | 15 +++++ provenance_manual/prov/prov-seg1_soft.json | 10 +++ provenance_manual/prov/prov-seg2_act.json | 15 +++++ provenance_manual/prov/prov-seg2_soft.json | 10 +++ .../{prov-seg_act.json => prov-seg3_act.json} | 0 ...prov-seg_soft.json => prov-seg3_soft.json} | 0 provenance_manual/prov/prov-seg_env.json | 8 --- provenance_manual/prov/provenance.tsv | 5 +- 17 files changed, 124 insertions(+), 12 deletions(-) rename provenance_manual/{dataset_decription.json => dataset_description.json} (98%) create mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json rename provenance_manual/derivatives/segmentations/sub-001/anat/{sub-001_space-orig_dseg.nii.gz => sub-001_space-orig_desc-exp1_dseg.nii.gz} (100%) create mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json create mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz rename provenance_manual/derivatives/segmentations/sub-001/anat/{sub-001_space-orig_dseg.json => sub-001_space-orig_desc-exp3_dseg.json} (100%) create mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz create mode 100644 provenance_manual/docs/prov.jsonld create mode 100644 provenance_manual/prov/prov-seg1_act.json create mode 100644 provenance_manual/prov/prov-seg1_soft.json create mode 100644 provenance_manual/prov/prov-seg2_act.json create mode 100644 provenance_manual/prov/prov-seg2_soft.json rename provenance_manual/prov/{prov-seg_act.json => prov-seg3_act.json} (100%) rename provenance_manual/prov/{prov-seg_soft.json => prov-seg3_soft.json} (100%) delete mode 100644 provenance_manual/prov/prov-seg_env.json diff --git a/provenance_manual/dataset_decription.json b/provenance_manual/dataset_description.json similarity index 98% rename from provenance_manual/dataset_decription.json rename to provenance_manual/dataset_description.json index b154c7f7f..203db9ff0 100644 --- a/provenance_manual/dataset_decription.json +++ b/provenance_manual/dataset_description.json @@ -16,5 +16,5 @@ "URL": "ds001734", "Version": "1.0.5" } - ], + ] } \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/dataset_description.json b/provenance_manual/derivatives/segmentations/dataset_description.json index 53aaa1cef..80b1b1e8c 100644 --- a/provenance_manual/derivatives/segmentations/dataset_description.json +++ b/provenance_manual/derivatives/segmentations/dataset_description.json @@ -1,5 +1,5 @@ { - "Name": "Brain segmentation - Expert #1", + "Name": "Brain segmentations", "BIDSVersion": "1.10.0", "DatasetType": "derivative", "License": "CC0", diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json new file mode 100644 index 000000000..71198a962 --- /dev/null +++ b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json @@ -0,0 +1,3 @@ +{ + "GeneratedBy": "bids:study:prov#segmentation-nO5RGsrb" +} \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.nii.gz b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.nii.gz rename to provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json new file mode 100644 index 000000000..1e5b05fea --- /dev/null +++ b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json @@ -0,0 +1,3 @@ +{ + "GeneratedBy": "bids:study:prov#segmentation-mOOypIYB" +} \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_dseg.json rename to provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz new file mode 100644 index 000000000..e69de29bb diff --git a/provenance_manual/docs/prov.jsonld b/provenance_manual/docs/prov.jsonld new file mode 100644 index 000000000..23cf92f05 --- /dev/null +++ b/provenance_manual/docs/prov.jsonld @@ -0,0 +1,63 @@ +{ + "BIDSProvVersion": "0.0.1", + "@context": "https://raw.githubusercontent.com/bclenet/bids-specification/refs/heads/BEP028_spec/src/provenance-context.json", + "Records": { + "Software": [ + { + "Id": "bids::prov#itksnap-Lfs6FRMn", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + }, + { + "Id": "bids::prov#itksnap-cJ4KRErk", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + }, + { + "Id": "bids::prov#itksnap-zz55eds6", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + } + ], + "Activities": [ + { + "Id": "bids::prov#segmentation-nO5RGsrb", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-Lfs6FRMn" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + }, + { + "Id": "bids::prov#segmentation-mOOypIYB", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-cJ4KRErk" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + }, + { + "Id": "bids::prov#segmentation-af6s5v2d", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-zz55eds6" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + } + ], + "ProvEntities": [], + "Environments": [] + } +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-seg1_act.json b/provenance_manual/prov/prov-seg1_act.json new file mode 100644 index 000000000..abf3d1014 --- /dev/null +++ b/provenance_manual/prov/prov-seg1_act.json @@ -0,0 +1,15 @@ +{ + "Activities": [ + { + "Id": "bids::prov#segmentation-nO5RGsrb", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-Lfs6FRMn" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + } + ] +} diff --git a/provenance_manual/prov/prov-seg1_soft.json b/provenance_manual/prov/prov-seg1_soft.json new file mode 100644 index 000000000..749c44299 --- /dev/null +++ b/provenance_manual/prov/prov-seg1_soft.json @@ -0,0 +1,10 @@ +{ + "Software": [ + { + "Id": "bids::prov#itksnap-Lfs6FRMn", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-seg2_act.json b/provenance_manual/prov/prov-seg2_act.json new file mode 100644 index 000000000..8c6a687ad --- /dev/null +++ b/provenance_manual/prov/prov-seg2_act.json @@ -0,0 +1,15 @@ +{ + "Activities": [ + { + "Id": "bids::prov#segmentation-mOOypIYB", + "Label": "Semi-automatic brain segmentation", + "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", + "AssociatedWith": [ + "bids::prov#itksnap-cJ4KRErk" + ], + "Used": [ + "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" + ] + } + ] +} diff --git a/provenance_manual/prov/prov-seg2_soft.json b/provenance_manual/prov/prov-seg2_soft.json new file mode 100644 index 000000000..8d9715df4 --- /dev/null +++ b/provenance_manual/prov/prov-seg2_soft.json @@ -0,0 +1,10 @@ +{ + "Software": [ + { + "Id": "bids::prov#itksnap-cJ4KRErk", + "Label": "ITK-SNAP", + "Version": "4.4.0", + "AltIdentifier": "RRID:SCR_002010" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/prov/prov-seg_act.json b/provenance_manual/prov/prov-seg3_act.json similarity index 100% rename from provenance_manual/prov/prov-seg_act.json rename to provenance_manual/prov/prov-seg3_act.json diff --git a/provenance_manual/prov/prov-seg_soft.json b/provenance_manual/prov/prov-seg3_soft.json similarity index 100% rename from provenance_manual/prov/prov-seg_soft.json rename to provenance_manual/prov/prov-seg3_soft.json diff --git a/provenance_manual/prov/prov-seg_env.json b/provenance_manual/prov/prov-seg_env.json deleted file mode 100644 index 288694e14..000000000 --- a/provenance_manual/prov/prov-seg_env.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "Environments": [ - { - "Id": "bids::prov#poldracklab/fmriprep-Nk3tFUvC", - "Label": "" - } - ] -} \ No newline at end of file diff --git a/provenance_manual/prov/provenance.tsv b/provenance_manual/prov/provenance.tsv index 7cd38d7e4..5c974ed28 100644 --- a/provenance_manual/prov/provenance.tsv +++ b/provenance_manual/prov/provenance.tsv @@ -1,3 +1,4 @@ provenance_label description -prov-fmriprep Provenance of preprocessing performed with fMRIPrep. -prov-edit Manual editing of . \ No newline at end of file +prov-seg1 Manual brain segmentation performed by expert #1 +prov-seg2 Manual brain segmentation performed by expert #2 +prov-seg3 Manual brain segmentation performed by expert #3 From fb1c8f9127a3ab0f12fd1386a27bede474cc1540 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Wed, 5 Nov 2025 10:49:48 +0100 Subject: [PATCH 04/11] Dataset description --- provenance_manual/README.md | 34 +++++++++++++++++-- provenance_manual/dataset_description.json | 11 ++---- .../sourcedata/raw/dataset_description.json | 9 +++++ 3 files changed, 42 insertions(+), 12 deletions(-) create mode 100644 provenance_manual/sourcedata/raw/dataset_description.json diff --git a/provenance_manual/README.md b/provenance_manual/README.md index 41d801ceb..f9cf5a806 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -1,7 +1,5 @@ # Provenance of manual brain segmentations -https://www.itksnap.org/pmwiki/pmwiki.php?n=Main.HomePage - ## Goal This example aims at showing provenance metadata for a study dataset in which several experts performed manual brain segmentations from the same T1w file. @@ -12,7 +10,37 @@ This example aims at showing provenance metadata for a study dataset in which se > Note that the `docs/` directory contains explanatory data (see [Provenance as a RDF graph](#provenance-as-a-rdf-graph)) that is not required to encode provenance. ``` - +. +├── dataset_description.json +├── derivatives +│ └── segmentations +│ ├── dataset_description.json +│ └── sub-001 +│ └── anat +│ ├── sub-001_space-orig_desc-exp1_dseg.json +│ ├── sub-001_space-orig_desc-exp1_dseg.nii.gz +│ ├── sub-001_space-orig_desc-exp2_dseg.json +│ ├── sub-001_space-orig_desc-exp2_dseg.nii.gz +│ ├── sub-001_space-orig_desc-exp3_dseg.json +│ └── sub-001_space-orig_desc-exp3_dseg.nii.gz +├── docs +│ └── prov.jsonld +├── prov +│ ├── provenance.tsv +│ ├── prov-seg1_act.json +│ ├── prov-seg1_soft.json +│ ├── prov-seg2_act.json +│ ├── prov-seg2_soft.json +│ ├── prov-seg3_act.json +│ └── prov-seg3_soft.json +├── README.md +└── sourcedata + └── raw + ├── participants.tsv + └── sub-001 + └── anat + ├── sub-001_T1w.json + └── sub-001_T1w.nii.gz ``` ## Provenance as a RDF graph diff --git a/provenance_manual/dataset_description.json b/provenance_manual/dataset_description.json index 203db9ff0..983ae1752 100644 --- a/provenance_manual/dataset_description.json +++ b/provenance_manual/dataset_description.json @@ -1,5 +1,5 @@ { - "Name": "Outputs from fMRIPrep preprocessing of the NARPS data", + "Name": "Brain segmentations from 3 experts", "BIDSVersion": "1.10.0", "DatasetType": "study", "License": "CC0", @@ -9,12 +9,5 @@ "DatasetLinks": { "raw": "sourcedata/raw/", "segmentations": "derivatives/segmentations/", - "ds001734": "https://openneuro.org/datasets/ds001734/versions/1.0.5" - }, - "SourceDatasets": [ - { - "URL": "ds001734", - "Version": "1.0.5" - } - ] + } } \ No newline at end of file diff --git a/provenance_manual/sourcedata/raw/dataset_description.json b/provenance_manual/sourcedata/raw/dataset_description.json new file mode 100644 index 000000000..d1eefab3f --- /dev/null +++ b/provenance_manual/sourcedata/raw/dataset_description.json @@ -0,0 +1,9 @@ +{ + "Name": "T1w image for one participant", + "BIDSVersion": "1.10.0", + "DatasetType": "raw", + "License": "CC0", + "Authors": [ + "Boris Clénet" + ] +} \ No newline at end of file From f6a4c80362999298fab7c104c99be663069d0924 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Wed, 5 Nov 2025 10:55:20 +0100 Subject: [PATCH 05/11] Dataset description --- provenance_manual/dataset_description.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provenance_manual/dataset_description.json b/provenance_manual/dataset_description.json index 983ae1752..db63726bb 100644 --- a/provenance_manual/dataset_description.json +++ b/provenance_manual/dataset_description.json @@ -8,6 +8,6 @@ ], "DatasetLinks": { "raw": "sourcedata/raw/", - "segmentations": "derivatives/segmentations/", + "segmentations": "derivatives/segmentations/" } } \ No newline at end of file From 8d1b188ab070ec82afa57c7851bdcf61fdf85a7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Thu, 6 Nov 2025 16:11:57 +0100 Subject: [PATCH 06/11] Two experts --- provenance_manual/dataset_description.json | 8 ++------ .../dataset_description.json | 4 ++-- .../derivatives/seg/descriptions.tsv | 3 +++ .../seg/prov/prov-seg_desc-exp1_act.json} | 0 .../seg/prov/prov-seg_desc-exp1_soft.json} | 0 .../seg/prov/prov-seg_desc-exp2_act.json} | 0 .../seg/prov/prov-seg_desc-exp2_soft.json} | 0 .../derivatives/seg/prov/provenance.tsv | 2 ++ .../anat/sub-001_space-orig_desc-exp1_dseg.json | 0 .../anat/sub-001_space-orig_desc-exp1_dseg.nii.gz | 0 .../anat/sub-001_space-orig_desc-exp2_dseg.json | 0 .../anat/sub-001_space-orig_desc-exp2_dseg.nii.gz | 0 .../anat/sub-001_space-orig_desc-exp3_dseg.json | 3 --- .../anat/sub-001_space-orig_desc-exp3_dseg.nii.gz | 0 provenance_manual/prov/prov-seg3_act.json | 15 --------------- provenance_manual/prov/prov-seg3_soft.json | 10 ---------- provenance_manual/prov/provenance.tsv | 4 ---- .../sourcedata/raw/dataset_description.json | 2 +- 18 files changed, 10 insertions(+), 41 deletions(-) rename provenance_manual/derivatives/{segmentations => seg}/dataset_description.json (65%) create mode 100644 provenance_manual/derivatives/seg/descriptions.tsv rename provenance_manual/{prov/prov-seg1_act.json => derivatives/seg/prov/prov-seg_desc-exp1_act.json} (100%) rename provenance_manual/{prov/prov-seg1_soft.json => derivatives/seg/prov/prov-seg_desc-exp1_soft.json} (100%) rename provenance_manual/{prov/prov-seg2_act.json => derivatives/seg/prov/prov-seg_desc-exp2_act.json} (100%) rename provenance_manual/{prov/prov-seg2_soft.json => derivatives/seg/prov/prov-seg_desc-exp2_soft.json} (100%) create mode 100644 provenance_manual/derivatives/seg/prov/provenance.tsv rename provenance_manual/derivatives/{segmentations => seg}/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json (100%) rename provenance_manual/derivatives/{segmentations => seg}/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz (100%) rename provenance_manual/derivatives/{segmentations => seg}/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json (100%) rename provenance_manual/derivatives/{segmentations => seg}/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz (100%) delete mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json delete mode 100644 provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz delete mode 100644 provenance_manual/prov/prov-seg3_act.json delete mode 100644 provenance_manual/prov/prov-seg3_soft.json delete mode 100644 provenance_manual/prov/provenance.tsv diff --git a/provenance_manual/dataset_description.json b/provenance_manual/dataset_description.json index db63726bb..901b44576 100644 --- a/provenance_manual/dataset_description.json +++ b/provenance_manual/dataset_description.json @@ -1,13 +1,9 @@ { - "Name": "Brain segmentations from 3 experts", + "Name": "Brain segmentations from 2 experts", "BIDSVersion": "1.10.0", "DatasetType": "study", "License": "CC0", "Authors": [ "Boris Clénet" - ], - "DatasetLinks": { - "raw": "sourcedata/raw/", - "segmentations": "derivatives/segmentations/" - } + ] } \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/dataset_description.json b/provenance_manual/derivatives/seg/dataset_description.json similarity index 65% rename from provenance_manual/derivatives/segmentations/dataset_description.json rename to provenance_manual/derivatives/seg/dataset_description.json index 80b1b1e8c..c436d996a 100644 --- a/provenance_manual/derivatives/segmentations/dataset_description.json +++ b/provenance_manual/derivatives/seg/dataset_description.json @@ -1,5 +1,5 @@ { - "Name": "Brain segmentations", + "Name": "Manual brain segmentations", "BIDSVersion": "1.10.0", "DatasetType": "derivative", "License": "CC0", @@ -7,6 +7,6 @@ "Boris Clénet" ], "DatasetLinks": { - "study": "../../.", + "raw": "../../sourcedata/raw", } } \ No newline at end of file diff --git a/provenance_manual/derivatives/seg/descriptions.tsv b/provenance_manual/derivatives/seg/descriptions.tsv new file mode 100644 index 000000000..371d9ef6d --- /dev/null +++ b/provenance_manual/derivatives/seg/descriptions.tsv @@ -0,0 +1,3 @@ +desc_id description +desc-seg1 Files generated by expert #1 +desc-seg2 Files generated by expert #2 diff --git a/provenance_manual/prov/prov-seg1_act.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json similarity index 100% rename from provenance_manual/prov/prov-seg1_act.json rename to provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json diff --git a/provenance_manual/prov/prov-seg1_soft.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json similarity index 100% rename from provenance_manual/prov/prov-seg1_soft.json rename to provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json diff --git a/provenance_manual/prov/prov-seg2_act.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json similarity index 100% rename from provenance_manual/prov/prov-seg2_act.json rename to provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json diff --git a/provenance_manual/prov/prov-seg2_soft.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json similarity index 100% rename from provenance_manual/prov/prov-seg2_soft.json rename to provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json diff --git a/provenance_manual/derivatives/seg/prov/provenance.tsv b/provenance_manual/derivatives/seg/prov/provenance.tsv new file mode 100644 index 000000000..a4fdd2bbf --- /dev/null +++ b/provenance_manual/derivatives/seg/prov/provenance.tsv @@ -0,0 +1,2 @@ +provenance_label description +prov-seg Manual brain segmentation performed by two experts diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json rename to provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz rename to provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json rename to provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz similarity index 100% rename from provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz rename to provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json deleted file mode 100644 index 56cc55f7f..000000000 --- a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "GeneratedBy": "bids:study:prov#segmentation-af6s5v2d" -} \ No newline at end of file diff --git a/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz b/provenance_manual/derivatives/segmentations/sub-001/anat/sub-001_space-orig_desc-exp3_dseg.nii.gz deleted file mode 100644 index e69de29bb..000000000 diff --git a/provenance_manual/prov/prov-seg3_act.json b/provenance_manual/prov/prov-seg3_act.json deleted file mode 100644 index e8ad3cbef..000000000 --- a/provenance_manual/prov/prov-seg3_act.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "Activities": [ - { - "Id": "bids::prov#segmentation-af6s5v2d", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-zz55eds6" - ], - "Used": [ - "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" - ] - } - ] -} diff --git a/provenance_manual/prov/prov-seg3_soft.json b/provenance_manual/prov/prov-seg3_soft.json deleted file mode 100644 index 3b28fa791..000000000 --- a/provenance_manual/prov/prov-seg3_soft.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Software": [ - { - "Id": "bids::prov#itksnap-zz55eds6", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" - } - ] -} \ No newline at end of file diff --git a/provenance_manual/prov/provenance.tsv b/provenance_manual/prov/provenance.tsv deleted file mode 100644 index 5c974ed28..000000000 --- a/provenance_manual/prov/provenance.tsv +++ /dev/null @@ -1,4 +0,0 @@ -provenance_label description -prov-seg1 Manual brain segmentation performed by expert #1 -prov-seg2 Manual brain segmentation performed by expert #2 -prov-seg3 Manual brain segmentation performed by expert #3 diff --git a/provenance_manual/sourcedata/raw/dataset_description.json b/provenance_manual/sourcedata/raw/dataset_description.json index d1eefab3f..c6ba04644 100644 --- a/provenance_manual/sourcedata/raw/dataset_description.json +++ b/provenance_manual/sourcedata/raw/dataset_description.json @@ -1,5 +1,5 @@ { - "Name": "T1w image for one participant", + "Name": "T1w image of one participant", "BIDSVersion": "1.10.0", "DatasetType": "raw", "License": "CC0", From 3174a8b8eaf6a00a3476cf706ca3f941cd8a48fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Thu, 6 Nov 2025 16:37:57 +0100 Subject: [PATCH 07/11] Doc + entity for raw data --- provenance_manual/README.md | 26 +++++++------- .../derivatives/seg/dataset_description.json | 7 ++-- .../{ => derivatives/seg}/docs/prov.jsonld | 33 +++++++++--------- .../derivatives/seg/docs/prov.png | Bin 0 -> 66539 bytes .../derivatives/seg/prov/prov-seg_ent.json | 9 +++++ .../sub-001_space-orig_desc-exp1_dseg.json | 2 +- .../sub-001_space-orig_desc-exp2_dseg.json | 2 +- 7 files changed, 45 insertions(+), 34 deletions(-) rename provenance_manual/{ => derivatives/seg}/docs/prov.jsonld (62%) create mode 100644 provenance_manual/derivatives/seg/docs/prov.png create mode 100644 provenance_manual/derivatives/seg/prov/prov-seg_ent.json diff --git a/provenance_manual/README.md b/provenance_manual/README.md index f9cf5a806..5d0697288 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -13,29 +13,27 @@ This example aims at showing provenance metadata for a study dataset in which se . ├── dataset_description.json ├── derivatives -│ └── segmentations +│ └── seg │ ├── dataset_description.json +│ ├── descriptions.tsv +│ ├── docs +│ │ └── prov.jsonld +│ ├── prov +│ │ ├── provenance.tsv +│ │ ├── prov-seg_desc-exp1_act.json +│ │ ├── prov-seg_desc-exp1_soft.json +│ │ ├── prov-seg_desc-exp2_act.json +│ │ └── prov-seg_desc-exp2_soft.json │ └── sub-001 │ └── anat │ ├── sub-001_space-orig_desc-exp1_dseg.json │ ├── sub-001_space-orig_desc-exp1_dseg.nii.gz │ ├── sub-001_space-orig_desc-exp2_dseg.json -│ ├── sub-001_space-orig_desc-exp2_dseg.nii.gz -│ ├── sub-001_space-orig_desc-exp3_dseg.json -│ └── sub-001_space-orig_desc-exp3_dseg.nii.gz -├── docs -│ └── prov.jsonld -├── prov -│ ├── provenance.tsv -│ ├── prov-seg1_act.json -│ ├── prov-seg1_soft.json -│ ├── prov-seg2_act.json -│ ├── prov-seg2_soft.json -│ ├── prov-seg3_act.json -│ └── prov-seg3_soft.json +│ └── sub-001_space-orig_desc-exp2_dseg.nii.gz ├── README.md └── sourcedata └── raw + ├── dataset_description.json ├── participants.tsv └── sub-001 └── anat diff --git a/provenance_manual/derivatives/seg/dataset_description.json b/provenance_manual/derivatives/seg/dataset_description.json index c436d996a..fba0b41d4 100644 --- a/provenance_manual/derivatives/seg/dataset_description.json +++ b/provenance_manual/derivatives/seg/dataset_description.json @@ -7,6 +7,9 @@ "Boris Clénet" ], "DatasetLinks": { - "raw": "../../sourcedata/raw", - } + "raw": "../../sourcedata/raw" + }, + "GeneratedBy": [ + {"Name": ""} + ] } \ No newline at end of file diff --git a/provenance_manual/docs/prov.jsonld b/provenance_manual/derivatives/seg/docs/prov.jsonld similarity index 62% rename from provenance_manual/docs/prov.jsonld rename to provenance_manual/derivatives/seg/docs/prov.jsonld index 23cf92f05..fd6b83fcd 100644 --- a/provenance_manual/docs/prov.jsonld +++ b/provenance_manual/derivatives/seg/docs/prov.jsonld @@ -14,12 +14,6 @@ "Label": "ITK-SNAP", "Version": "4.4.0", "AltIdentifier": "RRID:SCR_002010" - }, - { - "Id": "bids::prov#itksnap-zz55eds6", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" } ], "Activities": [ @@ -44,20 +38,27 @@ "Used": [ "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" ] + } + ], + "ProvEntities": [ + { + "Id": "bids:raw:sub-001/anat/sub-001_T1w.nii.gz", + "Label": "sub-001/anat/sub-001_T1w.nii.gz", + "AtLocation": "../../sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz" }, { - "Id": "bids::prov#segmentation-af6s5v2d", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-zz55eds6" - ], - "Used": [ - "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" - ] + "Id": "bids::sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz", + "Label": "sub-001_space-orig_desc-exp1_dseg.nii.gz", + "AtLocation": "sub-001/anat/sub-001_space-orig_desc-exp1_dseg.nii.gz", + "GeneratedBy": "bids::prov#segmentation-nO5RGsrb" + }, + { + "Id": "bids::sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz", + "Label": "sub-001_space-orig_desc-exp2_dseg.nii.gz", + "AtLocation": "sub-001/anat/sub-001_space-orig_desc-exp2_dseg.nii.gz", + "GeneratedBy": "bids::prov#segmentation-mOOypIYB" } ], - "ProvEntities": [], "Environments": [] } } \ No newline at end of file diff --git a/provenance_manual/derivatives/seg/docs/prov.png b/provenance_manual/derivatives/seg/docs/prov.png new file mode 100644 index 0000000000000000000000000000000000000000..84b74983d3a47f27c6c365eff7460c55601407c8 GIT binary patch literal 66539 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 Nl420i65+4k{|Do6`GWue literal 0 HcmV?d00001 diff --git a/provenance_manual/derivatives/seg/prov/prov-seg_ent.json b/provenance_manual/derivatives/seg/prov/prov-seg_ent.json new file mode 100644 index 000000000..d24590fb2 --- /dev/null +++ b/provenance_manual/derivatives/seg/prov/prov-seg_ent.json @@ -0,0 +1,9 @@ +{ + "ProvEntities": [ + { + "Id": "bids:raw:sub-001/anat/sub-001_T1w.nii.gz", + "Label": "sub-001/anat/sub-001_T1w.nii.gz", + "AtLocation": "../../sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz" + } + ] +} \ No newline at end of file diff --git a/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json index 71198a962..ed7ebc6a4 100644 --- a/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json +++ b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp1_dseg.json @@ -1,3 +1,3 @@ { - "GeneratedBy": "bids:study:prov#segmentation-nO5RGsrb" + "GeneratedBy": "bids::prov#segmentation-nO5RGsrb" } \ No newline at end of file diff --git a/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json index 1e5b05fea..28fed1304 100644 --- a/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json +++ b/provenance_manual/derivatives/seg/sub-001/anat/sub-001_space-orig_desc-exp2_dseg.json @@ -1,3 +1,3 @@ { - "GeneratedBy": "bids:study:prov#segmentation-mOOypIYB" + "GeneratedBy": "bids::prov#segmentation-mOOypIYB" } \ No newline at end of file From 526f0b302058378e04e2ad789e16f3e56b2b1855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Thu, 6 Nov 2025 16:42:42 +0100 Subject: [PATCH 08/11] Doc & aggregation --- provenance_manual/README.md | 11 ++++++----- .../seg/docs/{prov.jsonld => prov-seg.jsonld} | 0 .../derivatives/seg/docs/{prov.png => prov-seg.png} | Bin provenance_manual/sourcedata/raw/participants.tsv | 2 -- 4 files changed, 6 insertions(+), 7 deletions(-) rename provenance_manual/derivatives/seg/docs/{prov.jsonld => prov-seg.jsonld} (100%) rename provenance_manual/derivatives/seg/docs/{prov.png => prov-seg.png} (100%) delete mode 100644 provenance_manual/sourcedata/raw/participants.tsv diff --git a/provenance_manual/README.md b/provenance_manual/README.md index 5d0697288..5da240781 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -17,13 +17,15 @@ This example aims at showing provenance metadata for a study dataset in which se │ ├── dataset_description.json │ ├── descriptions.tsv │ ├── docs -│ │ └── prov.jsonld +│ │ ├── prov-seg.jsonld +│ │ └── prov-seg.png │ ├── prov │ │ ├── provenance.tsv │ │ ├── prov-seg_desc-exp1_act.json │ │ ├── prov-seg_desc-exp1_soft.json │ │ ├── prov-seg_desc-exp2_act.json -│ │ └── prov-seg_desc-exp2_soft.json +│ │ ├── prov-seg_desc-exp2_soft.json +│ │ └── prov-seg_ent.json │ └── sub-001 │ └── anat │ ├── sub-001_space-orig_desc-exp1_dseg.json @@ -34,7 +36,6 @@ This example aims at showing provenance metadata for a study dataset in which se └── sourcedata └── raw ├── dataset_description.json - ├── participants.tsv └── sub-001 └── anat ├── sub-001_T1w.json @@ -43,6 +44,6 @@ This example aims at showing provenance metadata for a study dataset in which se ## Provenance as a RDF graph -Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`docs/prov-seg.jsonld`](docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`docs/prov-seg.png`](docs/prov-seg.png). +Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`dderivatives/seg/ocs/prov-seg.jsonld`](derivatives/seg/docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`derivatives/seg/docs/prov-seg.png`](derivatives/seg/docs/prov-seg.png). -![Rendered version of the RDF graph](docs/prov-seg.png) +![Rendered version of the RDF graph](derivatives/seg/docs/prov-seg.png) diff --git a/provenance_manual/derivatives/seg/docs/prov.jsonld b/provenance_manual/derivatives/seg/docs/prov-seg.jsonld similarity index 100% rename from provenance_manual/derivatives/seg/docs/prov.jsonld rename to provenance_manual/derivatives/seg/docs/prov-seg.jsonld diff --git a/provenance_manual/derivatives/seg/docs/prov.png b/provenance_manual/derivatives/seg/docs/prov-seg.png similarity index 100% rename from provenance_manual/derivatives/seg/docs/prov.png rename to provenance_manual/derivatives/seg/docs/prov-seg.png diff --git a/provenance_manual/sourcedata/raw/participants.tsv b/provenance_manual/sourcedata/raw/participants.tsv deleted file mode 100644 index 199ac24c5..000000000 --- a/provenance_manual/sourcedata/raw/participants.tsv +++ /dev/null @@ -1,2 +0,0 @@ -participant_id gender age -sub-001 F 38 \ No newline at end of file From b721b4106a55fd7f63a35db90f85f5903946f2fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Thu, 6 Nov 2025 16:49:18 +0100 Subject: [PATCH 09/11] Typo --- provenance_manual/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/provenance_manual/README.md b/provenance_manual/README.md index 5da240781..2c01e3cc4 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -44,6 +44,6 @@ This example aims at showing provenance metadata for a study dataset in which se ## Provenance as a RDF graph -Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`dderivatives/seg/ocs/prov-seg.jsonld`](derivatives/seg/docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`derivatives/seg/docs/prov-seg.png`](derivatives/seg/docs/prov-seg.png). +Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`derivatives/seg/ocs/prov-seg.jsonld`](derivatives/seg/docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`derivatives/seg/docs/prov-seg.png`](derivatives/seg/docs/prov-seg.png). ![Rendered version of the RDF graph](derivatives/seg/docs/prov-seg.png) From e009280093fdcdd829233d411293271f33aac444 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Fri, 7 Nov 2025 13:55:51 +0100 Subject: [PATCH 10/11] Typos --- provenance_manual/README.md | 2 +- provenance_manual/derivatives/seg/dataset_description.json | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/provenance_manual/README.md b/provenance_manual/README.md index 2c01e3cc4..a9b17c855 100644 --- a/provenance_manual/README.md +++ b/provenance_manual/README.md @@ -44,6 +44,6 @@ This example aims at showing provenance metadata for a study dataset in which se ## Provenance as a RDF graph -Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`derivatives/seg/ocs/prov-seg.jsonld`](derivatives/seg/docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`derivatives/seg/docs/prov-seg.png`](derivatives/seg/docs/prov-seg.png). +Provenance metadata can be aggregated as a JSON-LD RDF graph, which is available in [`derivatives/seg/docs/prov-seg.jsonld`](derivatives/seg/docs/prov-seg.jsonld). This is a rendered version of the graph, also available in [`derivatives/seg/docs/prov-seg.png`](derivatives/seg/docs/prov-seg.png). ![Rendered version of the RDF graph](derivatives/seg/docs/prov-seg.png) diff --git a/provenance_manual/derivatives/seg/dataset_description.json b/provenance_manual/derivatives/seg/dataset_description.json index fba0b41d4..dc5e4cb16 100644 --- a/provenance_manual/derivatives/seg/dataset_description.json +++ b/provenance_manual/derivatives/seg/dataset_description.json @@ -8,8 +8,5 @@ ], "DatasetLinks": { "raw": "../../sourcedata/raw" - }, - "GeneratedBy": [ - {"Name": ""} - ] + } } \ No newline at end of file From 6a6f4004bf78fb40c946ab3de73d71ab5cb3ccd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Boris=20Cl=C3=A9net?= Date: Fri, 14 Nov 2025 16:05:52 +0100 Subject: [PATCH 11/11] Removing software provenance objects --- .../derivatives/seg/docs/prov-seg.jsonld | 29 +++--------------- .../derivatives/seg/docs/prov-seg.png | Bin 66539 -> 53389 bytes .../seg/prov/prov-seg_desc-exp1_act.json | 7 ++--- .../seg/prov/prov-seg_desc-exp1_soft.json | 10 ------ .../seg/prov/prov-seg_desc-exp2_act.json | 7 ++--- .../seg/prov/prov-seg_desc-exp2_soft.json | 10 ------ 6 files changed, 9 insertions(+), 54 deletions(-) delete mode 100644 provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json delete mode 100644 provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json diff --git a/provenance_manual/derivatives/seg/docs/prov-seg.jsonld b/provenance_manual/derivatives/seg/docs/prov-seg.jsonld index fd6b83fcd..cb6fd3550 100644 --- a/provenance_manual/derivatives/seg/docs/prov-seg.jsonld +++ b/provenance_manual/derivatives/seg/docs/prov-seg.jsonld @@ -2,39 +2,20 @@ "BIDSProvVersion": "0.0.1", "@context": "https://raw.githubusercontent.com/bclenet/bids-specification/refs/heads/BEP028_spec/src/provenance-context.json", "Records": { - "Software": [ - { - "Id": "bids::prov#itksnap-Lfs6FRMn", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" - }, - { - "Id": "bids::prov#itksnap-cJ4KRErk", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" - } - ], + "Software": [], "Activities": [ { "Id": "bids::prov#segmentation-nO5RGsrb", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-Lfs6FRMn" - ], + "Label": "Manual brain segmentation", + "Command": null, "Used": [ "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" ] }, { "Id": "bids::prov#segmentation-mOOypIYB", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-cJ4KRErk" - ], + "Label": "Manual brain segmentation", + "Command": null, "Used": [ "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" ] diff --git a/provenance_manual/derivatives/seg/docs/prov-seg.png b/provenance_manual/derivatives/seg/docs/prov-seg.png index 84b74983d3a47f27c6c365eff7460c55601407c8..5f112fafbb4091c64bfde009d4c4be7dbeea2b2a 100644 GIT binary patch literal 53389 zcmZs?1yodT)IJI-D4o(>igY(fcPL1AN_WSIw3LL>AT2E&Lk|toAw%a7(#;U}jKBZ) zzu#T!9$AC1IOpB(es?^3@8?8msL5lYlc6IaAz>*h$h=2FdOCxIgv|8<75I%CQg9yd z4b@y(UIytA@$W}laS{>|4U(daq?S+S-z9G!Evx0elcTisk%H&=G`T2Jn!zWNvPL30-z-oU0_p!^68_470;aKxHMt zTtB-39y&cejf;tj_Uy@ZfVfmHu6Rxrf1S3D&K&BR(S8})v%6;@l6H1>FCrk<0S}ap z5id}$sJ(E$EjgLilfjLgt4Rd2;3hbx_1(yB0!3(id}~h|)~+JZsC|;8*FB(Im`|g7 zKTqxc#Db~WU}~4WEao8sFU9?~re|U*;?ESJz;@s#S1TsS_}#GJS3IStqJjzh1Q9%5 zkpeWbM=V_nijI_tpW81iDniW}llS!G6VJiP8PfqfT;G*@HV{G&_@bh?e$97UhmaHpn{~#;K`9sHo@6gkHDf1SBxs<;Dadnp ziTrU$aLiKs_@bGUB*qXaK>S67stSQuK=E77k2U%9R2@0cx5h@4H;ts|k~B!cKNLAh zZ0SjOPvEq;zi`ndJ^4bVP=kL&joIL%r(Fj;SG&ZHh)pGdaeVf|5r@5}psI>xT;<)U3~b1_Dy6jaO=(%1PusT+T`JP|ZLcCApQmhb2`svH zIisSGi+NO3VkA{m8196#a0zPniy_Er@&!77tnCH68cLv~JN9-eQnbg<>CBd3(X3}T zKl-kQ_ff@jBt1PD&gH*{p@m%rJ^XRdHmoEux3F*pZ@4tCyEGg2^!2T~HDCHx&-1zf zCc3G>tQ8$e@s)AQ5o=EH5v}%QNpk+S1ZWK6)`I-o3W8qITegQC*E%sr$5% z+>kx#kFHDa=V2>catx_Dap;^?q3w)SzV&|-Cg^9-iAL~P)kd@ecDist0X;R zgXhTm_OYsApdj#4`0z_Uy{CO zdr$pA=LmgSB*e#)PfIIZOFLali$qIXQnq&)GPAL6?g}QDOm_0z%u6D@6U zPmc^f0fB3?;kys+TnBH{W>+Z;;du+d3UOc>nTbW#a znZ5eGy*=nSMYBV3fu%@qZ{f2i2_+d>Y8WNV+KGu$42+}dZ~ItW3f3yPre}ez}01 zb$3glqocom^Tr&0DW#;O^t193Ibn*gu;7n^Dwm=nm!c|{f@=NObbO&WJsGkF7ZN39 zRV5|W2Iu%YR(Af^%qa1%PEpd$NEnz}6oF-Gt!)bm3lp-l)%5krup{V)uHMSXq`v_o zo>0+U5XjMo{q^e~zg);sP*A3)Wz?`UznU^uG)vZ6GcgaMmXx5DFcab9^RhH3Xuiah za*a}StyWY7J{42*=rCj#AlLT^hXg+rMby`iH;r|8+*mUf&T*o9UUz~)sUSfjTDu%LWP@$ z&9biMM^u1pf%t1SzQJLfq>f$&jxkdM$w-X>2L4$|IXR}ZG{=E~0U92jBoeF)z=)&^ zfb14gP+IyWmRuk)BV!m^Uv}*CrdpRSDXiWWtAYnhzrJRi_2tFeXoV15Z27pE z*v_|dBO|8~D%F>jmEGLj{AK<7&FNVqE_Oyi@%+FL_n@6~t|K{ymw#PZxxu5a4VQ(< zUGNRY>FcEjfy6{?(149`b_Dn+O)4lzXl4evrdE^mY>`vHUP-Xr(JTF-*UqWcmu@(y z#lPcX@v4*8@4{j5o6foTU%!2Qqv=Tv>WDzntE%S3z%fE@9)c)$kzezycddCy9TGh! z{e_wv81IcJP2pY~jZ4CxigPIL%A9K}H(@DLWk(o>?w-`yWMV!Y!|91N+({SYUf~V| zRRS@?TLpn|Y>&O^G_@>Y+n-I53IxT~Ds-xbK|$gyI+d1NLtDwoJ}%%2kD>5~dxtt_ z8{S*@w~r4)%MOdWLw6{?@^v6j&rh|Zlw&9`@2z~C%1&O@%H~7*QE_Kc4A_#QO3cC6 z2ISWqSFU4$nk0{XpF@@pZ8Wt{=Oi94Bkd~fJ>Mxy2U1+xjJQiT-xLwpS9uE^>NPl) znGUYMs~>Jptxiv?ot>R`oJD~kW&Hj;V<)s)Q^deL_`{ncWVwwswMbEtc5^#iHwFA< zFi8gq^#EF5sGQ>Du|JE|xIlT3C@Zr`VxRsc}#RKxnHx`{5(=Jhdr$rUR%x@dBINCQsvj zzH*w}d|Bt5Bc=4E%u8>fLDABZ;drnhr+K&UA)+pJ%GP4CXXWYfICU}gF~7vM3u#K+ zj_aR#s*)`U;^X;b3S%8aUTNac4#=do5P_P@$L-=B*oV$+uaYXKkzk(bGu z0gSLcnl+p!i}ACvGFP)9jD@{%igwsdM(p#&M3Ji1qU&5SU~*_-DoVqpzMhM+B;j2q z55ghN?M7omTUXp_YT4Jik`Aqdhsp>7Ozcj*KfVp-yXg z0mlA;;snd^D2c}tmBWssI;dyFso}BT)4Tf#z1F)Siczs*0_s4QUhx#lflYOt<4w(# z#AHHgJw2>mMq_mJH`lji8AuXqn-0U{2S!vZFB=<=H?A5_Bi=n_W-VWz)`TAL`OcCS+nlUE zEk3HvS}~dp;S;(_=-4$=lVFP`ce+jWUN#EoTws6wlR-S_D0fUzv6_%ji|Uj=Vy|B) zL$K07-_alNr)e!>cTj8W?o{O#PQKb&HoU0j4)#RYOJ(bFLG1}$lB$@?%I-*xy9gxQ zYiqE$-RiLQ_j5;!ao?=wlkf+m0O8#?+jlPHzcavBddix96mf-RReKO=oJ{1-fnom{ z)V)M}j%rsBLOn=-hU_Bw)YLM5egOwTaQy~}mB(KR(GeYx zrF>NGi(32Z2e82oNQw!`aX}^=@_0FdU2YI4u@dOclcU~7R5l|8xOja%9}#;>SJZvQ zqF3#=GLZ8t+V)TJ5)Y9n#$?0mz0qh9kO}s8KymU_s$PMf;Kj4++x;q1kxLZq3jF~+ z8?u-dNFQnOe5AxRY#r5hx5lxjU&OA;#NE?mRJ?4%tZ}MZn#X}3<9B+q@7j%7L18b~ zb{O>~IFJUHj)K2h|LP&U+o=&3J*=b>o5CZ*^mtst^hjt?n3gttA|9vo;C^qWj1fsl zNEUqH-Hnz8#QPY2$HbF}YC7mvRHOnW0PSpL zw99q7FgQfV7MoX27FI|WeKTSS;0EMNw!bbtpd|;sw`oUBC)-gYX<)SCDLM1?Dv{n; zh*_b|*mqW=2G5QKAYqql4~s)mSE#$~>T${KC3g7v7joNP9#J@nIeeU3+WR|gJNI=v z%Mm3c_r8IE+@h-Op5D>Iq@MR%KP_2eqB#k76Aw^N82eK%`-7O5S_)4tMG_QerE)pl zVNTluHkOobV1IGqpxE?u8l(=;7TI1?MfLQM+&$n@sbeXYfL0uhv9kQwnd{*G+8Wf6K(%CmOWar{;M4m>>fvsV)M3R~*3XZE zYHYdDol}0Yuieh}O}uoSp|7knQ_v|7k4;6cV}_-EUF3#$%Ef9NSlsI2v#4k`*{Eo( z^t4(apO1!3U;Fh_&7#V3$}U90fYvEO_eqWy4pV`?g4KvSB=4P_79(RkPGLnKe%q{`75`ewlEB81rU-lXXrDdtjUo1Tt88vjpWYKWT2#B+8nbbO{T%ZN zynFH_8298vO+3eq&FQL=!({pXNd4|;-!MDS??qZ#)VnePD73D@6up)*KW_JzlaCC%ZN*LLglozyWoPCo-&t z8&57lbp2_<6bWX<;-KSS(DR$mtPi#rHksLBOHNyH3s+(ZlQ)nS?)&H&!j~Ur)K=@A zjJOsWKDcz<7~%M4gaD9SJg42S(H%uc`*!d*+ZwbCPIdD9MB3J3tQTI2lHRw0s|uto zJP4R)tu5!{3VT@p!;v8nX<#_}L!npS$E&5^JT-3Tw7a;ur?no@g~aU6P1MQ{2Rdz> zOuMW+o!XhtXY^k3bvrmsF-e0sHew5E7tWINlVb|c$qf^s=BQ@Hj=?O(e@ITSE6d1W zYfkM?;@dKGuW?cbU5gVbznn92bgT&`TU7@=e9p^zL*s@CEB&w_R1LC6683h&?o{S@ zQ~*Hp;v)X`$b7&!|KkbBWbFd=dWst4-g!{jUWzk6Um_}gyANFeZBm;|0`LI%?9G%>YLkv|?@ z320iAZSpM};AD4q0Zy&U;lnd^5g1;(lbM=h*Tig-8^>^I0K#?Gs^cK9_B>ROdd|IF z4zQ<9VyaqQbQeBZ;1NMO2Eu}+RiVqM(EMikoAvdz$F3usYN0V{Z8%|jx+neptu@tg zgN4Px$n84nA;ksrE3AMpQ%)85%FShW|68|J!nBq-sowL)Ws$%DpWx`m`KalS5mA*`Cbh>2pE=}tealg;(MNB zf}Aj)?|)(E+sQBNX*c>S*ND`|&7iV%FHqRB&@}yct|N1vfjT0ZL-_EM=il93n|6!k zyWbAWhT$vJ>xp;B^Gp?7}PR-%yaY#YsMw**aYmd?hc0?$*1N2PJppLfDA62R@DLqm`pj33pz(B5w5 zr;aK);<4;TEw~HGOnta`wyT&^cUz)abd$KLMT38;Eq1!c!+H@1)EGQs$0 z*7=FQ=kPia$jdiQm#9Uc>U0j9<<7K@UEHlV`;Bjrvi)g0KOq;pLv4#G1D*rMKzwd% zSb$s#bj|9frQ;9dLY!IY+%OG;dY|2%53U}8MC=>4$oZ2e+c%PYMETy8maqL<$W^xa zQ)m112ThTs!d+_*ovKR7BPJ_m^ zz9}hi0FjzZ*4vZ8vKE+?zVWdF4Iq9;_E;}cIyyHJ1V;bS(=+f~N4;6`^XK{jt|>yu zX|5lrTLFZeHN;y;?T{b{^kF~I1Qjn zH#iu@YNV~WuhJGH%W&J`scf+>uOkPJL1n}Jl=;DBQc-V$9q40Yhp3e>P9l+pcMZPE z=~h=(K}YAC`w^*NaeVL>H}`8;(EY6}m=Gu;FcHC1D@QzVU}R+T9!J`zZK6_cFIq8a z?rgB&A~^+~#^uffVb7GavihM0eQ+2;rSjS7mxj*nW4Ud8sMW1+iOKoy0IM0cS-n8T zX~8yKzLR37Izee%Iysd+6uL$-?Ul*$_D9lw3dK@OpRAv9(nP!d}D|Qy% z5$=$P0URT}Oqg0*RXU=Mk$Es`*b2f)!#^wMR+BWEmAErie1li-&w!8r7n2+s_eXbM zyej(du)1=$N+zK>U}fifGc3@p$jAY+$*xp7tki{r?UsF~)g|voh`lqR>w^YMmdGx+ zrf(AxKfC6lyE`EkCghGWFyP`2EvZ04gvHEn{SA)B+&oK}f!g*h9?OBB^M{6zy!Ae7f3~avXPP=Qa0LhdqU-ghVIUf za^$@Fmu&o(0fcK_BXU?;7zpOg~WKoTmod|0Y7mC<74in%n$k zOM7wszUWAX&WpDbmv+LIi~w3SupWhu++w|~U#K6A0cr>Fn~ENL2~+IDm<=b*1s z>JnKzqk{BM#;C{vyzye^1k}+3FZbVka}y<+-pg>B&SFg|pElvqmg<2~HOspWonKyA z5$7JnAUHfgyDBR4{lS*&Ff;QBm$}dLAmi#QW}gO!6Z2ZVohh&oQW4tPaV4xT8@_Nr z#Lc~^l0}4;eXp*t0jF+A=qN1p%1OkhK7jU4wRlqGKX7KqMqe#q7#kXf4A+-=^Rtht zxw`(AoTIcK98}YcTyqKSH>S1TTmsX9 z5P0i@GK=lfg;2vQijbcJ~wE{54o75(BaPM=b%9)Ensq8%&jc)Y%d z4U{Q-NYv^hj2u;oYV%Qq#PHW_7Z&L*S4Lu&&?7)CH~Tqoph@nF-_xVpeCIu1zmL=K z*v{)r1#w+^kEB~&LkS30tbVi|a66CM@KOf*@MuzqG&1zsC}t@1)W zYt_SuZE?e9axfgn;yLtDqoAlqLwoyqr&HtVAJ^)6%yho!B}cbPz>k=jxsaY45@TUU zgw>AO{XXa5KiSgp#iX444)iwUeVcQ(e`AZAO>2NLa20GnEV=qo7n~=g}(PBurKC@I_w>_zkRG|Nn4U`*w zPK`V+t8ZJpk4AAM?m7il*ft}CkZ&*eb`}Ee>0s zsEL=LRNd{{v{2``b-r!uxW}>>Gv2&sVJ&6i;lVbo+6ZiPD50~NshmHXtvnkq_U1wI z^H85ZYWYYiT)+kbc_6>KRNrX#_v5;cR&BjLb*rRE3p~z>*GL&1qyQPBYZf^%F!c>( zY>bstZc}1s+?`d+F1jw9@Y)kWfZ$_p;mE)w9H%e#{z_%a5+av$gVDWNj-HU7J~EzL zJdrPt!%B2v4>YBT{N#yk3-Iyr1&>sb{13_kkA99QLPCY*`XBnP1+=*zV!yHKk_a8n!!S;k;r7fNS4ZBD z+7*lC`bK??D~@KfDZa_Rci<&!Rn^Fvnt_ti_6KW>l-QkLV^CBayWuY{8O!zd&43UG zXoJ&7VMVn&;oIk-g?F6DS9IwSCeV{3l32DF%5?UAc6SdQN{b>}4I8)_=Oi z=u`GI**5@)yz*vdd`L$R-dJkI-_9cHA^TX|uI~@4z#(obzHOW~PLU~(FV_#epJ-{< zn_eH|EqX0v0Rdk*SYM_fp<4WOfIeOZ`~pwN@2{80!9pXfhv50w@8A3SRH@oCjD|kT zY8c}&@z2uG8n?||%y`!}PS%8BK#ho(3dPr?#7Gs9x8VWut-MnLt{AfImxbulQkm+4GZ=xRA=T8!1E( z`0~Y0LEXLD&Xe>|P-Jj$G~}T|Nhu(J+g40Z4^1l>jux)Mt>28(yfmBUn#ui((F+`Q zd4LZ@=7O2Hdlr_bl`+R)4P%r%k z7cOsO+TC4tBscAECx@Up8KyXRb7%8h zoM8SxT!5Ywld!Z~-><3}Y(QTn8iT#*lcu^@?Dp@B{SyK_+XBofEzmawO<)qK+a4e! zabNfKU_n_?rEaqNsmD;mcy$PhXP!b}t#w7jV_;Utm}iF&y+udyW$9R7dtHpNSjLQ+ z)b<4`DX$0mN`R+XGE0*52hFF=`;c;d$Hdw%zVci9V^MiKOOu(uQj;ud7WDA@C=m@mf zVm;3rBi%)`l`o1_VaXlQ(_vDHjvGf-`Cs@2dU?Bx6*8+{JNU21SN zDA%^H8-9tG;HLzPL*o>HsV`#awzZXz(-GykfQ}Z{-P5N(IKnyb(JC>`mNx%eSZeA= z9TvJLy}e8~2Hl&^T!X_rf3$HKC{R;|73JjYxp@qd5)ve>t&74vq9X@r5%WS}JoK;8Q^WMVuH}0T z(_a;x1uep%Gj_RF!yeq+&}r12O-ssQU`{5lhLAWN=+2*>oz2%+VT6UDI4m@T)zqM? zO!ch&`Z~L)Uj0*K1#Z|)yVY#c=uf~aHqRUEh&8{ zuG5j0k#v3IB3G{<7bA?Wxatl2JZUB{DaQPwtTHq#{dV(fLXV69GxP6{v#hb_=N^+& zQ?|>kLfBbH>M}BU|1O+NicvV_Dbt5?sFT?APR7z`BD_!U(`3wjjB zyxu2Dntzsba7aE1jl{*4mJN$47Ui}Cm$SwcFZOIyYrIFdvXb-)qKk_6PDqEwBqv)J z6cqu3;`eY(=|*7s-Hw=kqn6dwoDxfdLnkNSi)OzUrNa64Z5et1Fj%6Zv=i}F@d;S9{L3xc-uskse;y4 ziunGJ{*7EaTsd4h|X4)7a3yPC=ivg^0R-f_79 zV(OD_&2TZKF!L6bEXFVyms3?`5QPUY@$u1iueB{S%$GMAay1#UFCGdSRth4BLd}Nt z#ElDW3*4#?j6g$S6Tw`{8vrz;sTnc`%P%UjZd?fzUvcV~oAv>SY7f0NNL{8MI~>VT z1+$3$dSURB3sNR5y8}e5HO^{%dfFxHXhZYN1mn}x)PV<)r@}JfH98e+KOB0AgpHQT zA(0d&hkv+wmYm}2uoAwm;0p7EbPb?%!a`jB^ze4UR+^U?ep#G%tf)JFs;G>+TfhvX zTNA|P^*$$&er>sa6|&-ti%wdfD@5`+J)JWb_xc{L(A|Lx|2?PsaCKokT;b~a2cN*T zs1R=<52gBd#)i{;ViOTtr2Ty2CcmSC(^7g*OicI*50jY3NFkV|X6_Y` z&jqXQPrWaeIA}zLn0J}iBI9DCa(OcZffs)N&JZ9-%DgK(Dh75%L1s{gfs2o$Ew855Hq z^*=JxWet4_R%5iTU)bd}4}IcEc;0j(_t!~aD(Ddo>yd12`(LHGUG| z+2(ZzBiS>lnm=f&S35oguzHDDzYcBg4<24~NezCymQOBCuB4YYubxlkc4J7jJ~)}` zAjE#Ausa>~btV1+NqQA%c@-SmUN-`K3(dAb5oP1RZ?a<&>YlD#;byqYW0)UX7!#0w%=pFS{~f?aFcdocdgK;%-`F5%MZHeqsAf&C4KStQg$FR zjmLJmO+=#Y6g}G5Cs>2#?bUu|{z}_b;&_oNAqx>es=Gt@ar%$gTI-XO)vna8)u2~h zHGdAy!7wT{|Me&f!z_w{ZRd8g_0_It_dz2rsnhI6O_#77`#Ctv8{LOK@)6KBX=#Ha zJ-i!3Xzc-R>)MU>t{gasf)jvH188(M;1n$>0%yhX^$ExPl9Lm(DdErbw1r_B#mKCX z`}OMIS~M+f?#(Rk9lzd}{*DCL&vb>%o}A_QeK{CTN#b&$xu*{JiY*=S*-R!EaZr7O z_ybFn6X(86bi2IEEZ-Yy|g9PZXm`dyeGFF3p3r}KFTJ_ZB@oWFaR zDZ(;|C6nFy&L&@?gxIL+Kbb~`yjQl)?5kok-|QEr(3wGb(_GJfvj!gUt?SpX_bnQh ztJ%~kf6E_%ogANKICCEjzA9O6&l*iJLMTPWZmx2I9UycTbp11MDWZ;Ze3K5`Gab+m@N zvrJouQfd2k7XA7J3fWVbNRtlc*S`*(eDu5Yt@TCBGAV(}imZPOByocv%CK?Qz^U@gmyV1}i-PN|mrz$j5W&akuOVN;} z&J4bi2kvEf^6eWdxkNU~n7Fd6F_m7(bDmWWP_EVE!@mj zhX3=Y>2(Y#SvpI<%){UL5puC~Pr%Yz{k?CO{5gy`Iw+!-sQ&3GPWYdmx|1@7BVd^! zGi!+ZdTgu_J2n6Eoz?7tXY4DF*%KfEPMsBH?D$_T2__}}Q`5k^{C`_@Flo<>9~Db! z(ynOQJR6I0oMnYFDiUb7yV4`VigI5pgjY4LW1H+&;uy)5l=MGi8~rD+ivetOYojZ~ zb~*n!ao{a;-1YUx6ox0CI$ATg9v=kGvi-j7<T`(Yq3F!cFD*@eH(ej$IS~#t=>EYr>9YEgxRK#Yb&C&zlt04jKW60h1yp7O7)T_9|1Jb?;N0Vm? zd*i`8{V{7rSmZmN3y!QoC$fE3mYfHrWv`9egrQrMRBhG(Czb*05s1}DBN~xujmtwd z0?Vt50F&<8zH+|)RN^sMU?r5JBj%h{;({>K1K$uN_Uy^=PQHc_78TCj%A=${S-{0h zl^pCK2~3I?^l~!LbP)k=4?bozBGymZ6{{C>`K~F2QRrG9s!x}^(;m;Kk}C}4XIHy0 zucvZ83YorLS{lHS=-h~hSj0m`X&7T$^vlh5ToAG96Z+oAP@olOKG~mxG`S|M zW`0G&5r3i0;xPYYOcVgz3AC#`)}7FLPn|LVLinf8$jKCBW8B=U!0(UrM0~knpljNB zVxu}ZDkQuM2ya10i=;rK_8HPA@8zh_T`mi{;N~Kxn!|Ru=|jMaFuH!#t3xa=|ALA_ zgqaeNmiEcGHbUBS4((j~#T2R$986;Y?SRlq*diEJXj5y_o^OwW^(LR9xg# z7Enb3N1pY_^#$k|kdieJabmCf)7)@zilNl<-+4n(tD&`=&p%}`u8*a6<_W@a;?IAz z-P$o2J{~wHIQm_Nc1!6tapLpq*ZqWx(7B~zMu%ZT!Y9oBaGu(XSugKQ1h{pf@QOV6 z+%CF4U#e``+sTw-r$y#>3I*NKpIXfT>kszxJABeHj&j)Wkdp(I>*DQ}P>D7j?gJ1J zRT|+H*{9#Wak=hje9@`goYbrR=(`>ju`=*OG9hyxL7T0NNH!{;_fiR8Jps#BmavC zdTFhzIv=h~ckI?j@x>sKfIBWr8~Hfmijw)j1#HSySkC@sT;z1_wwNF1^+98^?-Y~Y zasUtDx@#tm(Bqk(@3c0zD2*-n4K`DE#T@7H(Pl0BWQ;kS+fWXmvf-bPZf*hZ{QTrK zv(P%60jL9VE)wLad>Np!fLpU?W07C4j_`0v)3U?2$rEd9aauzl$kc()RsxC9CX`d; z;)KMm46j$8rt-6K)6N$tg5!|y@6HBVCMO39R0D5i)bcN84HA|c>+R`>+l&Pt?-V$) z6vWmdqw_CFZN}jZ3jkuVp1(dB3A}Svnk%Oj5+T>ohjx+cHDE3WiMU~2Oco}gd-Abtya z0c3JwUO0eN#oo8NF;Zu_V^`MkvftdDNncMypZ&T;?4)+v3=zAo#EpfxJ0DAD9 zE3k%yAApKo1Wy^YhQH$y6O*<9l+c1J-?MFnCa0M<_?h0&8paxS7L0U(m3mPD0q$Kr z*eK9cw(L;Lid&{60y=N9|BUcYgDEmK4w;Nyqm$wJZm}Q%LB3I<0>nJs;qFwKD3%n` z!mO#Vzm(DLy`l;v@9ICiu`xigLy0KiE;_fXI<}KA*lEtDHH97_IMuyx>*ppn`p9n%qB+cU zJ>H`x=+CD8WYmjaR3^8D@d|=ZC_RRf9jY2ZvH3rYYd=-*v*SZ6o1jhD!KmwGCZMY4`0x~ zcbuS}<@kn|IxY;fA4{qEtRm~5?-T!%n+oW?0sLhV zN$FP^pWj2McZA&-h%(rqg#ZsS`CoGhC413OToCTyz{M4l$`#TS6N6aC^QX&+Ig#iU z1;YGt(iB&~M@4|%O})YYaq1A=cRJ5)dEYnHi^Wg+;{$+hnjAz^P@5Z;Ip=c`LTe}wHAR*Wx3F;d<)f7_fBt-J0 z24%8IJSh0Bv?HK-i;*iz_zc;>DPX(U2;_LD1mH@G*@MO@c$|pf*$vF|3nkvXDgbs_ z{nk*l)iV`<7lh86H?aK{JqQ~9{P~yyGypu`BJ4;90Ss3FIEhfhRJISmLj~fSc7qpN zbYGm+Zduj3g2Iovibg~&5(&J{^B-mN-|?VLZDu^DwtSdUci(m&o3NSw`B8^~4l5MM zJ2}R_VX_we_^0sQpe0X4af}abh(+A%_6)IC>?Bfju8r>o*Ehcfgsv{;gbw%05GKL< zHh4(sdo1N#rqN6QoJiZW!?d5p@bk0U&rDyeS` zk9!}8(*IZ+n?(EtCHf!9Bo zk;cNY0(>s#bshNSMp7jM_Gb~xrqh6Yg@zyRowvnq7-kk4r*3M71y6D#6b@$pc@eKK z`pjg3<1(f@P^zJqjGE4PP0nK*f$i%z*Qr4BfpqOb03>+sWlX;>uQT=m&+s@15FrO(nFn&_Z5edU-kH z5IWD?lC~W3P@%ZNg6hPoYm2(!1SYj3*yQv)@Y=3IonFN;v_JP_3hjk9G%m+4Zo05K z-T*13b=b!^`u=)f11*oZr57Y)8 zn<%k(&~j?$4eoW95PNelynHS|JORIXS0a7H)}Q&XO?MF@RXf(-Oh5H{mKL+sj=AAjSCmmVSd3u6J6&uv zATFNpMr#Jr^$Kj`viSjco6Ys|*Sr3jg8U)#YB_MI#VD`pHs}%01azWbr;NM`PIF#m zp7)x*!n3tI4_dwkEJP-b3DF_7{i$Dns8sA!{L5{A&SBU@Hacdset)+7E;#j%pnjuB zP!7EEcN#>bY8l|jiK3!@_{M1Hb)ZQxx6k^WBYRNZSz=_i^~2)Hv3!8g1*6+{Q1ozC z&rzlSmxtmQ)5{d+llkZI?=&?BQyWi_ubpN)Zv1Y`HY?M{{yaL+v**quJHuRNrnOFn zH0cNR9A?$ciN@eDijRSzk2Xi`8~Hz{p2vZ#;Y{;O=b;Rt18vl1IiJ&3rvC)3Bs*jxE-D2c7 z)=)vBF;LFFvws+E%HsUb3+I6%Pl?l;i1;5fyCtsLc|VTFQ^Qg%%AbWGx8GUvcCcnE zWildntn@QNs0*&rbdZ0PN?NN^k9{eeimGLJuV)-NrKjlNAc`X{lEcTc&FMJw+UrOc zcyGg++j;gGe}zHl%=e*Q$WieJYht1xIMKe&*sIkmuItYR&D(vj?rKVhn^-+qGmpvk zK1bjCjdIKLdz-}6#dHzsyYn9_u7OjAo=cj~1GaN7bkao5tb+6fN!yk~r`}1*?N=I} zrEt{^?YU`XI)KFfhYPS0jjNh<4x7wT2C?5adNF% zB&Z`LSlX!|5XM8d?K|rWDjfS%M&6bQd5L*_GquupdI|@V-VZ5#MwYP1Y5KJOneBYf zpS1YA{aO4%S4vI{6JrG%sh*L>hl?KwvAaLaiIG-k_LYMIMV($%iMlgNbHHCA1b^P8J*?E2n@WkO-xpSzIM_H z9tXbID=Or}hm`i+C;y$r8AnHkTJuu{l_B%#Ka7hvtHlv_ar+rX?PC}!5-AUck@SqR^|zAte(z7MqUA`DF*a3z_oVnan|kE#n4dFC7w6%=o)%9mRf}tM3P7-SR&Cg+~SPVzm0u6;D-7Zvnf2Le4Iv(tRk-LksDS1V)?0BiYRoY5LY$f ze;KCI7dzUx&uY$=t6#}oh2LCn^^a$7JKMB(`=%^L2VbR#SCT*%%zm%IFHsCfieWS$3nwx2azx&ovxC%;ahf3khOe{-5t z%*+N=%Vb20l~aEAVBMNc_THc#r*ZD1r>+BYGLiFhDRQNsc0HmWKFF3$QJ>#Rhj1|w zri_7C>~nSZ<4Sq0Z{%x6T^!msJ{#?yG*MdC9paz(Dd`)iSYs>*Ji2Ldp-)gKAp8um zFAUd$&2(T-lRq$=%tm8UbOqt6YWv=d9rt&PbFEz4Kc>oWJ&D|l;^mz=2?*@-UxUtE zqYivH`Y9}W_g!WA!iDuKvf=WeVVfg~o{_P>ZuyMfy-P7g3}laUuvkUnRcXW4dG zv7*{AEu&bS*>vqy??~1Sx>X?0vFtlwAp&xfpz$28baQeC6aChZ zxjszTUWe$gEadR1>FD{%UugAhYM*CoN`C1ZHGd%@1Ep#6>-?D6=0!0(CTxFFcboPh zog6V`YcKZV3v$#>A>!pe6rDxQqdJ|3T~{whlfggz95j4wlxp%QOa577$NTcso`yvv z`?M(_hPW9RIRQD&r@8-!s<)1-s(a!_vFMa;5J5VWP9>$g8>G7%RJswQOG1G|cY{dh zA*8#zyYD*wp7*`?{vm$OIcu*yYi8DWVy``;?DX5qHj(PC1@jFbY(EL%Y(oPv&%b4B zg%}$g1^St_&m3yDIP)4W&NvR&yl9-jMup!Ru76ZyQZ9VAbmqt~#++PY{oY#$y z!IEvSw8$AB+;ZARo^mL*17J^QL%b8+TxIB4L=*w4=}AqowfzmG@6|=Zp3y)+wRu%{ zjg|Gl3Gtf~oWET@Ex|41Hm0sz5x=;RFRjDeee8PW_-zsP`OXDm4Fb&*a)qMhP;cWN znjFUdO58Y6W{Z>*;H?mFH$TQ}*c6-{_~C~37GunC(p96uwKCnltnHU;%RsZ9uRAMC zoTjhD<`|N~^SNY>#|^~Un|}XrfYuFcFu)7%;}PT6c^jL$a-6bX~M}SW5HnM55wX5WaclWIx{LvBGRi<4DwDR zX~W?cwPc+$C?icD{q%&kp(43L_`-iBZr9@E1qt^l0zwk1tqi+R>+ZD9ha(G`?KajV zrt3|3yiO)osuIUqP6^G~wMZ^N?y>$`#~LFXSfzf;!<|Ri377I}QMSRQr_$)`7;hee zU}h@$MoW9Gev8cY!aNL@t<(m(_A6E$_^vJ55L8rgmK{~&#+KP@>>dI=^yPmPy~Y4s zydAnXU%W;IdewR9w6HRnDcHSvYQU*IU9tRTj+w7{sE$NzguRX=FXyY6(_?=|(;~3) zz|Q81B;H)c>{fa9NxM~=AMg!4ZlIaU`h1C)(5=5;j4Pi}(mdZ~^i8_uRK*qJ-ZSaw z=!*Lu8_6MfzO=jJcywQDSLwBxqJSEO4Bkt_8_IC+Ip<1VePx9D{EqS77ul)RGk#tA z*D)A3b~{j5_vz{xZCH?PUWNoKrojUjcJjptEts4cponnr(0y4~Ud5Y3w*;n}0J|3V zZ!AI{DX@Q<%9+N~+477YQrt}&;Z0O+^&LzjWI4Wt91^gf*_l^0zzZ#+ z>)wpfS2}gDgI5T}oE9Um2Kbx>;)dp-;)Nq`ZTeQTpbi^_py0~srJpzA7IjRR{!|6bA#jU;k(EV0tg6s9NnXEfEqo{GHBzHS%bv>V1_6mZF+gRl4MA z$!gVudXPTKl@Fu#869=!tjGOoGrD4&zn`mnJ{ybn%Gbnail{Mpjilf{Vy%VkrfXC zW(a*)zJvIJWp2^yXrL_yz{pS?kkSWWW?RHQ=pbUDIp)GfYFg9Ho%i5-->&;5aqV)j zYmq)_#V;QEy@X@wVMLR`vp5c)vTP>Zx5f7RLoq2x@sscUwRF1N4#-PZu^lLS=jn3*WekvF^OJu z+{FIPXv;3oGH1Mr2V>H?PKPtT?mfxI)bpA3oY2+p4df>9pigiW;m|CH+4sq z?xpkbwq#R$4a-S}Uoex{pDilGr?e{}#^tXA5+!;juo>*{eg>v)`QEUOzHL-orCrUL zEH&&XKE%#UBHbU3N?P0$&*LIhJ{{6Q(=SvwJF&;==0A{c}JUw=Hvc*`IP(g76942<6Xc2YbNi1o% ziRMM$pVhaE_t#C#cn{0@w#GA^T1xc?QSx$I@Y56Lrvp?By*_PAbhdisX zW0|yzm;47i#$<7rE5mCat1%U8jE-+r5)LVu-X-eJ`gRdz_I}QC%c3PpyHN7IwRo$Q z{>6axH=tKcMn}nAOTvZCRvp(OxgO4aZk+MT67^Zo1Gbg7c=K2xq_1JobSa-1cp)*f zyN*hud{4?QCZXl(_^YQ4Q`%LbzMD}UFBiks!xwWP-WV2y^?Nfd5dpa*Gp>TEOuH>P z5F-qMTOASCTVJ%H#w-`q=iZDNw{HU*C(AxP?4AkSntuHtB*fy44a6KhE4Nr_*JTjK z_hWvDN$B`C%tFU`(1}1+4X&o>Hfr>b>~nu#B`udMr)U(6YeMp&%W|(fGS>7q z0tq8WbPw&sn1pZP;yK2f37sn6*Owh;dwT@qqvnGqZtn{rQf(!wpVrUNTWg&9<*O{` zv3&$;y(I^?h#neS4&AP!AAfc!%FPa$RXUtceyZO0AJgm0o?f+|lJ2o}gP)gcm5Ta= z=z#k1alY#2u&cz%7`!-KB`vrATmDq9T~D=x&g?F9fHSY$aa%$qesj#PhqUPW{2hb= znU!d@OdbE*cnyYtr~bSFxpgFT>Ffztg>xIRbB{oxtkq_W*NzF=K~iz0*X>)Nx?P`Y zNUPE@SFU2H#)U;S#a&s#E{cBoB(|k_P3KrIUI|=#Fg(%VeMEcfD7QLr`tZS1?ed77 ztTz3y)i)!V{64&rxh_~k8W|2gCs5FAKB6;WVd*S&a>&qb#PlZJiEmz>ylXOZ4&ir{ zZ1_}_E4mqaecTt3M@f(Ep(F1K#~X#1+OV2*sOhlSWu?iy+jpFzyu%;b=8Gn*LOz!} zA2#QQd3T(}VS7xFF7;jTT&SF#up+y&&^`T4Cg01r-o71^%!%0&kpoO*w^GWb%O_oRooFm0BQ z^(?bU>xNBx!UuoEceX3g`*ASb`)Y=jok+l+#h2nPV@xlM=VG|lyWsG4(AtTYuZEF^ z05v8i_St71nv6=8hG-`iuZTsz)S<5NN^~AO%8o3_|DW*2c2J%9_N6ZNuHvgAba2Ed zCt`)WZADm*8cU#O8kDPG}&%g_I-hr6i(If?U*+|1XXUnhX1?h;R8JztF38ddL;I&4} zndJguE?snMfb z0q*^u8rBxo#{{e?Om$X}vM#d#QaAXw4|S+#zx~~@Ej$A?gK_;x1w4F?&q|qXXf$a zm2EY^ZTP&XeR$&kM8DbpV9Qy2#)YusB63lJq}X*=5!k2+NWdWmx$kt^A!vzGxR`Q-yF5} zmXfk#BnAW-G)0R%erCo-R=&Dt%tF4ml(-*)Vy2H32q*C4QR4y+TrSe8%XFq0bR;{#LM51~6> zk6u^ceT?%#uX3#&y>y3G>K~C>6M*#rK(S_{>pAScbL)%o)B8{km?QH47%^|(D8!3( zfB8T(o5)o|`aZa1v!d4g9kJR_u5vUAk&dg$G;{1Ix?Qk@v8w7?FjNjxI86gMiy^d? z>iEl-9{COlIU`#~o+ML+VNW!wospAy@(ka0Vos9KCasb_e8vER*65P#5`Jd-ur2`Xtk4m*)}nf5F_UB z;OVRVHW|HMq^ECt@TBulQK{-%ShL6TXDu^cJQ6i1SIs{lDhd04NK$_n+&>JYLCFn) zGx+?eVA!eO<_Z=I*~vS>v_q<)l&;RnD3gZ)v#r1P-quK(drS+$3lo`jdyjhP7>pZ5 z%qG1}NS{7k8rdD2>TuwqLYhq*8Y#?A-682|FaMIW5M#XOH)o}pY8ydy^2^HSO$)UDaWcKodVM52AmUGrn#O3 zmqk#aj&`mZSzY$UrryKW$bEhwri3U6W|nn>h11r4$$TNU3vm1OA{$QxI0yNbF-cRR zRlFkZc0S@41<#-P()XPp!ry_sT`B2{33-!iTYhG~4Fcktj=dubQwT&!ttmdY>SFoU z;=#d_;_PODA15-X<9iJV3IPPEvD|)l)kSz#1{AR$zZE+8m?83EK}tm>LL7y+87q&< zIm}tf^45NZtGgpEX|!a)gWQ@FS4^aHAsz1Z>&+h!dav+WgQ!r6ymty}4e0@EBt}Nq zR5Rn9&to#CNsEU*6QL@Ub79~F2IN}fL|(*X9+OMB*vM$Bssbc#--po9Fdu)WdIurO zt+2+oRp%&ASPP*-0IY4#;~pbMz&>hO#;MmT^k_(T(L1}%7^*&Z)OUO*_~}lSxuy>sIcCIn}bZ5A6NOq zE$c+}!8;)heZ9Q$eOGI(fNb-gZFbf>t%Zr7jE~27x z&~SbOOQZOEc<8sb05m?0gX6Br9D4Zt>21mR1g(})F`Xix6cY&6lvKj;O6YLLWjp_9 zLPyGH6)I+eZ1+`G88<6y?N)v@nu+tgb$A;a$?8y4z4o93f`bzet6^fJtL;X0p3^2j zQJmYX?3-59$K6@Qh@&f5#K?26ji|@~LWPNY&S$NQ{*$W)r!#g`wx_TE7gO>zY{>aN zweqGZo;~MT+NuY8A+r`H|8N+laLBJ5m?cl4C4xT2j9MZ3t!U4TZ)uQ2fkTUPk zm;0<*{Lxx%*0=V|l|$m;-sEo@`y7AxROMj4A>M{+N7Y9)ZW}iFtKB>qLI2qq2lxo? zNI?)VsUH)^nN81(!A$lP5+sQ|I1(kEMsa^D%J5Tp1>_K-tr4l(9s=;&qH4g|2CFQ8q56whx!b2MFUK- zesw5+=(rnP`$Lhv$zfj9R$#ZrJos<+zqxpnn6&sKN&beUkaIr%rY_a{+P(RqbbO4e zu+f`bIE0GkUZQ_QppqEw14qxk^23mx1YNY=iTU@Om%>#lvAzMAifqQ~s6&3+-gA0f z4?i;Bv%as5upL2{hRG#nmLC7-!EiouwBI$ipU-3ImH)#QJWYW4HyB^j>`Pg^(+d~s zkoAWp-lM@~<)GCQ)+bWIJ70JbAvJw#wp?wWi}vOC4bhP#Ms_aib}%-v=X4G z8vmxn`>WsGA$flOo=~p8+Q=wfu`*5$HV{(USJA&H zW)+RzZr@*F3sEfcFVU&&Rz$VwKEw{cxX-kF{P(|FD%j>xgX~S2 z#-Q3LqXk+^>Dbo$K&x9F>C!#DH>@yLQ^8nW$F?my=ht?>=k5FE61^F}Sxw*0fr-iw zg))Hqr9j0i2{?pd%PKh3J?@xAvd75F#~Z=q<7CAUIm8jAk6@Q^AG|ci_VB$r^>&>sP(X(z=9itzgfQgpwr-{Gs~HQ2j_)1uuR^*7oNXua6=Lh)5Xh)()gB2>t42 z)aJm2S;gLnN!rK(s=|9koarqruscNox7x{%a>mUiYk!`$EebAeGh}WQj_a2fdaGBp zgOvjWM4^-mDPZ_j;e4yqrTZ>QkjLlhxQ#s7V^fCrmrJgf>7{w_8z45qorGz$@ZLX_ z?HMMwPP6q{k7#$NbAGW{nQd|JG9z5wg+uU!6?YpgiU83ffbF)?ZmSWlW~|p6y;z6W z{=OG8m$A0e(Mrw$M^YFPp<RuA z7bv+w`xvo#;wbaXGC(Qr-U5i!BAbt7l(gwZtEmJZ31x?*oZKUxFp0WrZ91EN^s>Il z1N94ldw@ZTIItD*v_h8~&lko1Hx|Y;2ab(YHlRaf4O>~}!LPvTUJ(AZz)U=A3b++& z&HO5|{K(8EIPIW~y(t_T@`Ud?QFD*tZ9oRK;psO4i?S=OT0MAqDc5!f73_ z4NJlmE$8=LMVj6%%}E0GHR8xq7n||;RQS1$_A#ptMbmq^htCSmR?{J&%GGZ&$B#qx%thgc)%VgLY85&-9$MGn{Nr=f}) zwBi3Kj)75ZY}?lLVnCNGv0Ob`EaxK^RRHFz2C}-NCo-PcQ15%0fAj`?vQkHMka;mq zaVg)N*)LZgL8%)o3Ro0?`IXz4B!`)_lX$VUZ6daK1YH8rAr?GQ0mEhWc$3Gy)K2GA zp<;YEVC<{Cno7GI5laNJ)MJf*6Mw={RUJ1+0HWfl^ReX>nn*@z)bB~qf}flHNY8G7*3bZxYXR*B4O&i;h=p`uBNEmR;e%49})jr>340rl7C|CquN>1OL4+^LQK&a#X4r0=Az zuDjFyUT*@wWHb8!|9Fc!TAWXZQVvnK>KX9u`Smg`-`E-rxF99X7oqcO?00HIa6fdV_=3)fy7F3m`vM+O zB9#D*Th}V`dMURrqxCPY9Kv-GDYd>bcnEDLyO(S+IUT zE`-l$?!I^a4P#JH5sQYrt+;K@?5643+x#&KPCT3E1_r@j(nc;&txdJL-EdX#V$R>= znYr+XSMsI%=&ayn(|sEQfYL20Ci{YA$m3fahfTo$ISX(*)Ecc;qt4lV->FCjXDjgze@DOy}#QUh)VCI@Pr@63XwsY>KS!II7 zC*^k3 z0xW0$dY;Y@li9p*XmbFcV1s`Roz1jH-M7hyLk>JUO&MXCr=-e!WSG(rYL1obcltsi z^_3*G&`7nM^=hHkE-tIq<I$+*19vj$N9! z+rg4D4TdkVTQl9?H`y_J#=&r47$3vIr*(HbW4d|a`oorWmC0=42wO2#>%m=h+q-rW zG6XRG<6@0Z{g2rfa7}L?aStBWY!~Vd(8STndV$J#tn|OR+DeGtN*LMiX_cW&K~_Zs zPsT4s_aVowIlRZWp;)ESN$kQth8HLh2xKRFF#NByezS_Isw$Jy_W}%gFYdXLvI+(8 z8SVKqh()esvAtUU?#X0wzpCwr`Es}J532>o6ZwRfCi%>z(%_Qj zbARn|{LQ9(Ff}@%kZAhDtTXu9Wdo9Id1&UzWtmco-&}n2RM2I)EAYIl5CWOGE+5(% zwUNf)6$+lsqFGEYvZbE^Wxyd14Xf(a_wD=bP#TX3=KP zmGK=GK3}BT>+bGH1qokvC2*tj7v4Mjadtvmn=mLHt%hUGl}BVDLu#dcn^N zC6~F{)xVq=H9VhWgzO$QN%>vvuROXXc!O?z_ibkEOX@GjyvA>TEllQH)Zo}D*2Y^a zgMWow3xE2A$K4x`W7zJR?#-$P{cTkAf9HXDqtf50HDBMSw(pbO-F>Lu7qJ=V%bP1$ zxO*7fi8&Ve`;9zO1%)2vk4=Nni0=K_q&%Q&eDTCr`3+-|eGgO=oO%I=j3}dKVDKyF zh|Y!4#Ith#pK;vyf84ipLL3$Zn1t2os`e5Ye?!# z={vgrs9aodet;xjp1X9?05_#oasFfMbvJd+*cJh>{f{?m`UoAj5@>^VKFgj}L`>G8)`pB=Us%j1&30 zwiqN%`=j(}OPJB4D7O334MrPgb$R0S4?BI%~D}(BH zH!B>R&40%^ICVeC`r|l`U3g`>&&B_4mk`fZt4EuwNo==c;;!LT{ibH0SZ_$yY@wt7 zRL|7>KtYMA07o7F8S72h2yK|7#;#Mo1yNXS`Kfk=O|M}$`;U7#fGw%vTyaK{lw4Ga za}hc%x|dA-Zp?{K27t$o7}4O2L(X{p`Pivj0=4XV@`>Min!_e*{wW1n^P1v8k|ToC z#2{rCCN?v@(8IbhOseE;8S8wBmFCjs!<8AD0@F8pYJ%DigfM%wDiL9(koTeP-WG(C zD2GMWDaCVaSLkHv544l#jm%AZoRT)~8+~TzRsuxtWJQiSU46&Y}ZkQd@^WxD@T^XF7ma2DB~$X!obV3=Z0`KU0O>Z+#Ekk?B#0 zA_{;v7QstZIWb^)=E?4w614JSm^S5T;W21qvRYMr&z5f&d4hwt286Sp2d%@o9R(ea zJ}&6qF@rV`<~ZAZftV}y)ZNslOMw_~Z4bDS3z6GP-6Ri%U5z+dpkB$R4H@10{aHHnxT;@@!8-0nDua7{Vw>0*`^CSvR}THr)-3Zw6{P(H!-jAmn5xBV?hMmq=wawL9%|t6 zKAy!Nm}QOTvU86c+D>oJw92cJ<3GB7*5te|tsy&sed2>c+0pw;UXC0lSTFhuQJldq z2A^vrZ3w}9x}%M(E}bgk`aHaMzQCOxsT8kto>ii^q`xv8!+_zYqZtnr>YKrFZKY9d zg^Qtkh8bEOsx!B0)R$(`^!5-pVPB(5e%9A$#%^qDwuVJL&GUt6b8=AtdB1aZ z5S4FS-YsrVmXJG54z917kdJZJGXZx6hF|F>eDyzWU#!*i6}zQOTbZ5qvSh~Kq;^=? z$Wbv+7B09q=DHbP99AZmJHi8g4;?tWHlOaMEhNw5HhOqYj4{sFd~Z78=ft%$0!T5j zr`aAXnC(@dB?)ToJ+3E5qhJ!naOoQ)B&Pt}c`f54zL0Bva^GUN7D>1uMvmp>7 za3l$HP=5YCuF=eSbF9^mXy0Bd7Y2uk;!QaFtRN=T^nwK*Cv8kczDCs%qCRQ+^oyPN z3@u9;S(l<9`iY|BF;f6R_JY1K!>L zeAMTr-o+uyxUjDh;jtKBFM$a((rkfX-8_K%;$Q5@8Qk4AR++I8)#f%#SuIl4ZlMUn zG^z!Xwyx~Rw8`@(^I#Cl4Q7asux>!uysK{*fC6If+sjG8{Q2F*`i!yJG&v({qpEhS zm83YBw;#M8nk;|R*Q5>$r+OWFVX+)ARF?Qn-cN9ckP`$d_R0=Hr6}`h*i-(MG8{Er z7>zUcX2=L6Cvey}uD_6P_~)<8sHJfLbE!q)M>2y-Qg$Z4Da#D5;f%fzs7 zb|eCp2Qja@&07F*4fEt>qu_t@>X>@dxTSmH=a@zQn$skMh0lWluqapj+VB)(KRqWBNSt6olZq`XOo73bO?C*hv=Z7 z*P5vKPW%`K)Kz;Rtr!JMiq36Udu9+`peiTG8j3B1!Ng|1@^9w90fE>(r30G<3>jgr zv>*}Ef#fu}JvrQ}>vxdqsSgXF*&SdkCQ{J^2k7m(?4iS6J#qt4Ai9SQ&Y?wKEg|g2 zNcA%S8zcwZE*mKh5Hj+^tknbWMIZu;H|zfx_eSUO;=cawd;j&N*<%;^87xyGiVZty zoUO;#@A}rT?YX!vFLLTM-oJ!KNWQz_6^b>}bYHNvU<4p7ga(!j7HuX=eIOt_CWN^) zIbhwwh*%uyV|-4hzf%d%*J;zp%z&~9vw!%f7G;)~^beQ)kFcpgw(y_23X6^_tMdo8 zuP&{7ut8S=m|n$2KDv+eBer z0}Stusk(A#rC@giDWm`pr;?{mcY%lo8XW4_j1!$&((fnsY|3r`&h3jM>z5-tlX!2D~E7}z?SRzOY#S8MFC^atT%?N6AP0Q5)_d!1|e&R;W( zsmX=^lg4`>jpy=1-mxG#19FU9|C6$;9>_%M%x-FtUEMut^0k94Of(trp~@aON2eFj zcBg;W<*}?H{v)^&h8%0^Yo`<0wJ)H;7A`z5*X5(TvA@;sI#xm; z2y6R6j*l&zdQZRj)ZeF7IS~l>uut4^<9rX%n75sLGDeODW@|IBR?+rv3lPWl*t332 zBepa~tVJ5+duum2vU`r@F>B5)J|I#!F21&Ze_D^p6qwzIh?0#2+OUCMf!>1TwzYhB zwV(-tyWOKOcLggtHBTm#ST4y0H0YD3!0g!MEBkH37-ykx^p=4A@3f$>88+Qh-nCb=xK%t81n_B_?7g z8S0;hSz>3b_P{Ns{CS(gB42Mcdlj&!jUhP!X}R#+n$H;P6ca!<_=313qU8 zG*%d~iCV>9+sarFh|v@pp|zYs!4GOUtV9?Cx?mBJx4+zO=C1soSf8hD|D0?upX1s) z4{|)r%BQcJN7y(rP-xqo$8Vf%_FI7WGkDy-Wa`;Pj9Tj_i8o=rteZ1&)A*SvqupqGe>!2%!JbG2ps;vmW@Y zSIVV>>c!9OEojGGAGC0~dQR3fHNJ~`=7}br^HneJ$2erULtVXY$2rSYYriF1wUp|P z|GTJFxIueMZk?Z^HTz5EklkO{-5F4XYJ{hjD5nbeD(c_8_%Tr-%aI7t64V59wQS4h z1>kw$#_DNcn0u>!+o8H;=Hcx7BX{8!El{^3rl&cI(R!sQ_;XonHh{~M+7YQTG%_^U z;yG-0Zu3syQN+%Uql1XY-S6~yJ#Rr4+ghvExr6rAV^ZhmdkPEV25$phKN6p1=~%Ht zXv4H_S(0R=Y$&z8M5}8Uif8MsIT^5^?fX{YD-HW_6#V24d*kb?ytcJrkf0MA-GlS} z#5@tc>Cm28J^fF5i;0^Y%cK_&q8VnyK^FI(^i$q+yk@=N-YUN~n+`x+<2#?nru%M^ zhigRuUYaBoF zvW5EY^Jj@3o(9eYFDN@S`d{6jyJgbEJ&7wQnc@s4_hbBh$0|G0~^EW`}ay_;E(+@F+NxVEJ}YH;TYGz-MRMTy1&X0pN|X|u z_aHoPfQY+!>*y+DLndS|aq|$JlteIKdW!U*BC1R&b}sqn@G=;C_u-M31bxrdYu}2a zPDc)?-S~Kvr~FR{L)f6{i*!zBoGEMceL~Ju5wVi#Tv0);U}VEeO{7dtYEkLsOaFdc z`VL)Y+*+?zzxi9C$t6cD-fS`j`}(ik>7W(mvt4H`8JcINPWhNzsm5%;>t)0Ph1O}} z3ND(5Th$6xqoPn8!11j6seM;K!n69O2F~C{`}#TV^aIam%;1x{uhT_spH$dV$Kjpa zw<1b?JouUAJ`82!GWBLTy3dceC5GFRVN|0jDP!k@S`q1T;his~b#!!W(7A$7U482L znVIF}^o5Wc2?@Xl$k-p-3;W zMYaspLP8Z;Q!fR$k}uMwr~|m!cI2F#>Q!`X^9vNM$d?@b$Lb%QWcL@pJVSP9){~Zr zNS>M^0PR;pL77Ej;_z`xYEDkP@J``>Jue-w{GlM3m)Y>@I@+VDp`n4(j}Nrvk1RSeGX7~(Xl(Y)bCl;#msi{$UwP>N zsh(`vh~VasE>sPP95)J84hdHd4OI*c{W4|mprcKjO2Mfnmx{OYX~S_GZ>ePFYvVAtrb8^_P^w;Xa@FUp6+#X;2*+eP@Gk4aILQ}J{ zw)rZ@OQG4_-QAzzIPwW}@C6LorAsNyFJc6VO5PP)9MekpRMqft$V>84qskyxS8c|u z^mzw|Tk%}*%*Y%CUW9LCKZ*h!ftw_YL{GCoNw-)*6>WU{TV7^&XR_7l#TP#4uABgV zB$e1XIjBR}*WdqmMEf&4`(>ilqO3=xI2vbR(3LxGA+ELBi$dI$Rq#I=Uie--cxvzc z^+SG15M;-|ro325l~igfK0a&mQfP$~+xQhFWkyE_4k#{9MaJfc9L3$`EvPTRBPsK_qk|$8DeKOrl5VO9xx5@=jfzYuD)98n z%-31;`1lX>^q>hUb9CXdSCCaT(aI`Q^$RygQS|8OXgi11inJ=RY6wI{MMXhL>80=9 zyf$dh^}^TB93w)nl#=ZOHhl^GbL|@daC;+f(P9fsZF;9#~utKp#!;R14`~H55S(Gz1aBWRRNqG#k zHKqoWudRJ@ezRR&`bJDqS67!*kw5V}j-plrmk$4%*ISaZijtC9uB9%t+ggkjhTzD9 zY#;;z_TV~hwPb_v&)nxym%=6{^Fsg8EA4Mtw2SV|^YYHCgJSHv;)Ya8bJ zZ`eTt+-L-;OL)M?*wF?*)wH2u3v-&dFI82bb?&I7v@{jyeOgsjWty2Q&j~aNv}aY; z(UEa*!20=Z4mgJf=08Nn)yA<%t%UF$eq-n zq%YB(O5u1+TH1R{OHjGG;M1p1F`yMyIiarI?5A)`RaH6$h8$3E8T1=EIdxN1Q4t2d zw)x+fj9--0V$@8k;4fgxH%0D1%Ywz~)L{OswozwZrtNK5D_BtT zKW<<^2Iz1Osbl!EGw)^pawBL1+r57BW8}S5MbuxF_`f(GWzk4OYo^zDVZ4>R^RsN(pI7l;p9cQP9zLHD&uMXGamSmUp02VO6SpOFLI5_Zhj4D%c zGcz+#R(bBVYmfN8)Nx;*l?FS)NtlL_hlp=v!n!*LnE3YtwJ>o|^D z#eX^^`>(8bi0Cf_KX~6QyRo0*Td&s4<~g)or`y+i59pW0_mb=M|EQcLQzJ&CUU`$5 z0iALPpVH>v30bkQ;IyXA>ZW6PcLzD}ewcRYcF~0QPq3Not6#5Sxq@Cv*WZFRrMo97 zVaE53)^eG~KCPwL*Qr+MFJI!kd|8z?`tEG*a8gO7C^nP)b?c9iV(oCv8f!w#hL%Fv zR98@1J|-^Cf7~+CXl)SGgr;O+i3Yus!Lq~^6_MJ0NLd#p44`gh6viYMyvb4R=L?s~ z8w2&l4X2KJ=gyl{d5lw4j+e8JC2x|nnuik$d42(qw5gqO4YYGr{0r;lM)dSOY%K!AGb zQqZo~6IR!`S0w}&l&KSssZ~{V;?-Y#LfvmK9G`w!daQI?SXRWfdiH43`|EPS3sI6H zfGA}Y3oAYwM@;cs_>ZSGg?i_Z%SyviM5E59Pw7>8r4D0a#61sP#wz!3jeCV-ZIGTk z+dK4dC#%>@ORgO_NCT&yNYhXl1l0Kdl zIW-q9OtW+6AsVQH3p;{&@xN$X5YkiCC0t$kkB>J&mn&}G87u+<;g25?0Z>eiXOt8M zDiyru;!+b8Sp;Tb+#6d;zzPC&ROK{=Uo|o(AZjQDt@jvOxp86xw^WcEl%E0u~ zl_ACtudt3Y@w+g|t_4e*8iH#VlFZKp1_vGWZWr|g@AnX0T$m!r@n@KL7f@wViICoZ zZe3L^mY~I9HFaifEfIolzk8uxU6S!NE{;0%xS!pRTuAX+(FO7qe$_RovUB7b(!C)C9}75ch$q}dT~B$RQ5|`WPrYJip${6 zE|MY3WLV)eb16QbrIr3;iKU|t+4k4RilNc? z%tE)?`<~K^* z0)&rFa8}ll{1FP&EBpH>`Lrd~T=BdvO)GpFUz(YD0sbPPp;1#%EJ5~r4=z5qXlfFI zAo}&|4n;-9$m(iDKOtN%J5fdk3M@sq}%1 zeHjJ!RC0RbsQdbQx%j-XEwkzMY#iK`i;s8hY<5vmM#t-O--9Vi-@kv^zojb&M%M}~ zEZDTOq^7RtnyFC4bFMDiN*fq-Yvyg3@<{gnWasR&cP@L)I$R)2ps1-SK$whsH$D3A8=OOP2Xyn&8QjRanUJ4eP+B zudu-46;=5tou8d|MyegUBWNijs*5If`WP33D}zO(vmmrjA7P`sf_v;Za0s^gUWLxiVwW zZ#c>?PlUx6ks~8tRaB^cGR1XR5ykSlJm_p|i_&ZM1QmwAl$IX4yu&hPR4VumIzT8X z$4SaVMQNW4=~Ge#qadQhFYS05Z(D&bi=Y{aRatE%kOh*H6Pw?CI@0IVLNqKaTiSSf zbdrImzh|`m{P-f6vN<>)`gejeE=4U$gYos-Kl26;!6M*o9rGA0-0=%9{vWMe=jTi$ zylIhAfo)!0(J1Q~ggc?9zkWq6ZXT3%_9|chovd8~B2$RLw%A^0=jh#@?amQF^fb)+ z{#BUn)wdWuLuL(aH~tiAmeQc6JImKEu@>|$Y<%tFrEo(fscCWOJp=0vEG+K2?#|AT zrTTa5UCL?L|B9Vnm#@}?={QYpy~>tjKbd^?qKl*Dcmi+OUJ%IcHZ z7RnqPvbj36RII7CyFXA#kGE#7?hNC@}Nm^c%vM z(JQj*L^}ij@+v9IJKbG5FfzUdjYBZ;@We$$pPSAnE#+v#kH^QycXW0-9L!ndj(Vo0 zb)2EAV~uEk&Fem|yctX1dt?ADpg7-d*XV_aKK0f0%YX{j$F=!;Uz^yF6t?hwaQvej z5Zw3*4~55-F%kcvGVXl$z_{y-R+gu7<4zc8uc~U~YwASD#Wdd{J&xjbjLmhhiX6WP z^9n!d<2Bu1-JTMW8~gO0xsgErXh_HMPy9iiTDE9rateaQla zdspRcO-~a(naV`3Y>ntxTfe?*a7AZkZotMVP@&iJw!jxE;%NtlYiy3uY;5BbS-MaN zFjFBKjGq=CP#-S+Zm*Uby{5~K`L%0*9vufOBci*mv;|K%_4oYdyw%S1u;uf!mNEih z3!chq-k(eA=oW_xHFlVL)%2aO_ZiF7=WsDIPps*teYfb08EWu;>!bDkgV&C*e)`6S zQAGtrqwI+571i9e!=TLbr%$M zx%G7HKyqc^-BtSlv8Td3nY8p1tmYS@XL#94A3kJ-1u|^_FyMKR+>C**XU>j zc}ruWgRzM7M0#wtFQM&x(0Ev4V)}-sRhXvFrL%f|t)Moz)^xEJPg~oGpGEE_6I?f^ zGf--^X%0^+FVq-0-#AvkTY`9UYIS9-{EFDOIkVjO>yw^7h|z)nZhoPa;og)1q%d`= ziYL@_OaC-)V77Q+QRz}bI;A_MLs}XH>F(}s z>F#b2>Fx#r>F#cj?yftW@0{s|0L&&1xp*faa&5g?#>j)0@h=GcO8MfDR_zyTTuyoCE9Z+?Omi5O%H7Q;c&`aAPX>vtiN`p%q9CEo zgR?$zE(#BEzF)R^Kcqcg+#$7!0Rt81U@*IjV{3PI46MV^Xmzry6NzqRh2X=)but}7 zf9?H2Eb!k+K8r$W>wW%8WwFy0i8NlENFAK`#Jl{j00Z&8vuhBR1N_t!%r|Mdn6#LI z-%{VqSKH!)f++5<4gxbXSJ5MtnwJ!*;>BN^z8`LD)i}TDODru(o#UvS#uPy+eGvB+j6Ds=l_h4#}N5?KsfIn zeY*_3e!q5LCC%v7DH4DTzczm7D@&!g#FkG$&D)OS&FjIPvoaAoJ$8NGWWYREZ)gdGwU@+OfyeA-VtEw(u zh+{TYh}vmZP@L|YJ1b7MIg!yfdQ>yA?HMS7@<#HoH%pI?4=<3#YRPXNGYZYF^qgB% z`>-+?&*zy6UvSmpa7l%qbVFU(FQaEjmXjykS%!yfmUASXNw+p!f6eSD$zatw9zi?fSG~%_^Z}qSz1*nCA&s1rn0rSSmiIW67s zbOqjBTtx1dGJ=Fp>GaeQ*W5-#j!x~y3+dGSpJa<9R zO*)e@tE%ejiFZ4-v;YNB$PnVr` zt?g?*lNl0%1@91VEiat3U#OCjlEUS6Pm1Jw20izlJN`BWaa0c}U;hfK%oY9(aV1Pu zj2+CU^$S)onSu8*1Qmwomf!2oANAX_d^^q)ISK`UkO6br4iXYjph5>Q)c1x0ZP{r; z)yU%PRPf#DjnkMUH#?VFZU2w`gJR8(R5S{K{qB$b9|Z(877*S*Xu7EIe7M&c#=5^g z8+&X}Rt~~q}@Ge zU}Qm;-Gi`J$cKN6y{P^Ig|NPC0pN_2b1x|}f0zm&O24}6j^b%nCGVi74=3VYiWkLS z?la0H$a88i3pBqtGFkn<2d!1!OAFuBYq6VwA8)`Z5A*XZm(}v`#yb7^PbsPBDc@*O zO}TmAOJb7m6p|VawTOmw(`1I@u$}gk6W9RsrK+m>Z1S--N4^j!yz7fr?S@zT({b@+ zjGi>ytqOlG3yB2;CEuCKB8vk$LXxlU`t9j)vbn54QdCqT!^M>Z;6L-_gpv#1M)h>} zN)LkNdnTG#>aeE#=6@x$Afl+$*}tEkS3F!uhw5lPSz0lCNGUIGC7W{CEdvVZfN~4P z59T-TlkC+neW4$!++;X=dTNJ~Jxt`S9&cq+QnwG6;)}jV;BkHLA1>W_exSSR2LKw- zU1ETp`JB{UXL=Vi+zc;?Xomc+4t9)b%X4yk;4ub*8fgYbM@G`#c!_Rogg6Y0XB>HH z60+5&^n~ixA~8Vtavod+6M(gx&d-YxxeYM&wp_I>y@s3n8ykpu zUp6prRx!Gg#ygeNU&4QeBO>6F=ytk)gvSv3hyG)9JlE@DT$G^7V(|-TWyYoPdz^Y& zJTC@Fo>f+>_*>_nbnjs?IfZlwE(?8Kkda;^3F`Q+;117N<|_{HGthu-{i8l#$CEeg z;$E7R8j6K|5Ga(Bfo>`DJr)Ry zx*Ip<(dD6Q6FcZAV7)vNFvS9FFvY_$2Qm2_Qzvx01xAXQVgJ?I^=;8JcDXcb^mkVnGRD&#wAKb_-YF3WuhN+h_ z--D{~4y$(Z^FJ54|CS$izKu;|`3d|(C;O$86t!>4*eg9%?Q|mj{Orcp6&OkK<;!&u zsqh{RXz6&kQ0u#~A^-EO@KA=yZ;rBVAvMd)DR?6z>HvhNG?VYS&f1m;^->7U8x(%0 z)>k(apL1iv!r+EIr+xs=rE8IQEVytpE+xgp-+EKS`lz-FdYmemf5bnAE4X@pMWO@1 zzsnsfV24^^LEl&1j?*|-MU;~yQkj;P%&qOJb#|q%yg^I29~W+F@;NJRsi{h(lM%b4 z#jEHGM)Hrax|7pG7clNagMyJCJ1YcTO*J8lX;rQz?~a)eW_@<r#|5Np^GXO}*3yy8|)wz=*#2 zb}xFP(G0`$Ez0*$`;mPOpn=|0g~j3z;F-a~qcb0srP8k}8=YO(ZEjWe-fdNPm8@E4 zfSd~;h~JUg?w&e2bHEI*uzv_Tb>zh}H1wkSi|ICt6v0wkWLbf1p#Q@ihq34PtK~@z z`<_pwI(y;aOr~b3$s7+DwsytIoUABpN@n1Hu-<&pkPI=_D}B0YaM&QEY>b|K|mfe>D>t(tv%@_E!}mmx2JPSt*!M_VScF6*>w3t8%7GEXQn5w=vSY(^7a%< zdycECeTq+NILl9w|II}X^MkVKiFP2%)V;X)fZ?t8Wo_qXqyBIQ6w_=X};>6uMC)n0MfXxPFT7CeI{cwB0HN zU8?`A{VH1dTB}ZHbaT9%#%}YISC05^_(we>qy3=puY?~M%nVt8bQ~M6*wek(zJ7<{ zsD75!)X?yWfPf2d=M*9M(j<*Tb|}Qly{J=xJo)Ghx$MH#B)6u}vbmg^nh5VVqH*Hr zFRq79hQnbygY;ADpbyDz_2cq8Z_c>E>FJc8Zwp7N07pJMtDJ2@)&Se4R?n;vfPB1+ z!UE%t>FK7)2l*W0WtW%bMU`f{jJ=!3pu9XRFsABLEy1vi^xC>FU7*KSvedLcZ@Sv} zHi&~YRZNrf$6P|o7>Bez~uPHh=kbv2EaOQeU9npU=asHQZukYNPWhGTE$8r23;Sj{lMm}BOOMz-w~&j1nAe7Olr4F?i=B>uyi z)qYoa&+4kr&1(7(NVg;BPA@zDFNgX-Xpj=w(>ykAz7@WsH_g#;JQn}VllzuG zcC08%wn$~XC2a;(?zp|2pi=OWQ#~@oe%7>CYo_RC`p0Zds&j#Y47YQG6P+%M_Epgy z0`@r;{fiSuc(|>*`yq#?y%YH zHf8bxrSW=mshwQpW9|MbTJx0{bB6r`a8w8KGx2o5H@iM^LE~y3DWAg96CJZ4*E3(j zdv3$V{H)~S!bAUPL@o&RP_;JRnKF8DZpyMqA!RH|=-uWaBy<^|*Ngt>q0P6qS16hK zMbJuKKHaK{mX@|e<$~wzEI)~HILyQ;6>2Jdy|n&i;*pPGEIRq-I!~ksKdUz2lcJ&% zU9_06@Vk6zj8`7%CjcQAeQfbu8_+S7fi7iYg4f@lmtqu&J1k6PF_VU9JOm^qUNz&~ zqM~SKBlt!OT}&w{TT|1N(+N9-ZXgk{dlHum{!IE2fOxfg8@z;+&E&1g6+wV8kX#LE z@#7Z&U}>D`^;7AOx=$8hoy(V&YA2=O-itG$0Vk$PDka zK1arA>;&w@DIxM3d>lDSyMv2@PC6z3AGrB@|1dQF z$5O-JO6K7_Jer!eG;R9?U;Dm>0whw23m2yov-WWtYwzTnpvDU%MsgYa?L;k40lN0{ z-0-mNwN792xeA{)k2snn`Y(tDT%9+3Y1sv0Ja0b1L2_SQ(t=vp;hR?0LL;O3N@ny* z<-TrM9cSk`$6Fo;`x+7uhMpNUAFrH#1R6c`I)D7MqdNuWj7ZH`Z*;|;hIY8YK%cOO zv^Jfb=(4=^nKc?-5y7|H+_+Kbkm6*->^$DrQdYr($))qUG9)BRJ zvyH~}5&74IVfrZl;`N);zo`!#)(oK*YC8@l{D^<&k9naXuihb(9 zq#ZQwzJS)f!SqU!(~?Pp`f$9@m#2!cS0aKm0Ux`Bx$lFpq{4+uRIf<$^75KaX0Nm5 z3%7PNy?#|y1&Qti+t@HVbf<4$po{L!j>aMhox8A>W;VsHSN0wCc0jFrC| z!j&~O6kyZHm~n74D#E;v*xH^wy<}cIJ+ESIKymKfvi`j^o=Q4ccRnanZEPM_d01Eq zNLUOPSs;$bXl;cswSj>HaEgG0xfM*BYGYrsb+;>`17v#V2I^H$uarJ9Cm`Gb#=f#M z|I+%!hsSLa>x(VqC?A`+ou!eXAt{J{7nvBM7rPPgl4+NSqud_w`1oIdAVQ1=cUhLu z{=Cl);)TKdPShD0bqKg?xxBWAjYnbl=-qc0J-_l2&D!1(5skE*K2of> zoACj!LNfD{e`+dXd_1DEn#3#an6J)pxj1?%kY(JTAp~jB#f4R}iB@t~n+Kf0Jc)pd zziJP`5!d?sURKY%Q9X-;FS_#+A6;)YOa*}`=k-z_S?DBMWv5g`cH;*u#R^%aTxj5- zqVxg6^QuYF&~_sb;PbzRMi~s_<6w{!imQ1ufy#zclm7)_dT+{RO7dFBvU(c;?(k zJm%ByAPj!vY%iI#7{FXew36iFb|(o0Sfp!$w2PIzFfMVn+OzBK%Qsmm%)r!Q?>pqs zJA?Ez0?*rsK!S|O*zdhxsALNj@EnH;cwFP29&S$mb?HvF71N#f=Zmu2Fhy2Xx#HqZ zG5-c?SJwPu^;!M6XS2od6*|5pp}Na1#q2Ts8&^7W#{Tp}Bq8RJ1jWYTmszz`O$jZ2s@ ziJ^CKU3m33M2>P9^+N&RO7d7$1<>Vp;Wv@*v1$K|WfHgwoV$a}UgkLwx%F7y|ic0+LJtu>w zIt=pA(WpPXL5Zrz&xQu#q2V4OQMdEUs%SLyStipVs^N_K!N#iu{^zCZs2RPH8knq`1#pgF7?_0gvl?@31ivA@o`hNlmrYE zv-z1z{irgQGp6*^)Ub>7Bg_kJWDB4iW#hogKr)3T8R8ujre{{D!jB*4Js6qHhH+6k zf^H%)H3#8f3_rX)VoFNH!CZHCj?k!L7Q^P378tKh&)!63Xnqy)!+8}3u8%No4^AXs zzgrK6NcBs(O#QX6iGUybs+JNdWo@Lb%_WPu$6q5%+F zf#f17Cr4XbJDgG~rK#!IazDVH3-vPqP}Mu19lX4n8YFUZYG5r*_ythMQ}N!Oet5Vx zTKi|*pEf^^h9>q}8<1;>xWPwXM802VA*0jv_dOikFLqAViROB0XO)J3$Un+BSF(}J%wShNd3=F*vu7=Z1GfL`cZEhW z1o`JL_)9?5xZB&UM!-KDRI`#4Dpc5;;^4@WESEue-6V(ZHyR&lyiVSTMr<*F>`&jy zjtyM+!Bw7)6_33>eYgO`i(Rks@O-DKK-a~t6EBkUGx8=S38k_m)62D~D7=%@$;k3{ zj=V|ffQ5L*XV0rE9w3cW+4d-ulnlKF<}X&?MDpYrb)DbPx3dH&YNcy~1CEWYk3eu7 znIC8oc&(_eUR*m|OAmI8lDhlHzy;EH3xjdJ$|W}$t=vPi99kwU_lMTE64V4cBOVo9 zS4h65$&!B`PTB{@h{P>hdstF+Hufht3nI9hy9@jjXPHe*wz(Va;X%5iPDt24Nsuqp zy*ajj4TS9$4O(V(XQ{zBg*=xEUN;JjmY*C?;_W~Ub$+Jjr|i@H5<;t`2A}gPc!0Y$ zI60UWyB#E*x1fbC9XIO{Z(b&I)E!ow?f9+`X)UflNaTU8z^2rOx1&9`NC*t=(zWvoJG4|1X4oF{XKq6jJQoplCvPj--Qd;UGW7$r@BGv z&M06ETt3_z#vT|Fk*Rh^=SsyTBy6nPIFLnDRWV`mqD^`)_-Vqy=l#O2#9*PB>RF4< zViP2I?)^=&;&NkEG@!Lt!MQ>{;0rMHLK;*ya2#A(?MRQZxfZwMwfj~}zd@I?@+g+2 zLR!&7l+ghzvkC#ZNG-M?DPo98CkR~&pDn4NXMFtpH|Be6-^4_`=9^!P7N#W6&q!0# zwXbg2i>D{_E7!Em4$JMey-Luj%GYrfZ)Vv#x%OQ!6PAfTFzj4vVbvL$mXIb-q?Yt( zfc5R}!8p6a=tWqmca}Ru>Vq-G{&eAK}UnKVjMISj?`~#7E=>`DF;%jlo-K_8# zSK!9-Tupvo$RqNyTAW~fyipwkOOVXKHoFq&1oKi>TDt9v%)7RNWq66iM#{!$bH)A& z+Ie{;zkWr8fQXPx`!I8q-0Ow{lDzxVFl7Y(AgHB=u(SIJV$TvIM~lRKw-t+J&Holx zB`8#>%B48XDANN89zL{KzL#yawX@1xM)qk0)4GP2*p ztfj#NUo4mSb#&lDpGkMH2?|aA_`#x*NiIdz)O74>4ZyN#Kx+$KP%y9 z7zISuo7gV>=f{%%A=R13#%AdBZ}i9zM%VBlieBy)m$xlELl6)UMBwuXYqtFiS`jFd zr$a}5VKCWaHD5~V_l8)ud(UrRfJ*&?48^N0#z!QFufdVrn z!RHKdyJ~@0izY61&m2D)KCa00^!Ef-N21Y}3T559JYP?)+YT*PQ~ovf>7NdAayVR} z7>=a*CnulnPC9*3Qc{A0JLhn0390x1@#Dwu;b}JF>FHtjQ#tO>qRx(L$!4CC+Ybct zN$j1Y1rHM9*mt&y#L&p-aw_wZ<(fz$8qKQbH$qJhPQ1+D2L{Sx`iA0A@RmJxqqU@d zO?=|LrHF{l7w2#;fGJcEF%I&`ANU9BntFelnwr~-hRd0=Ho|o>k%B60CQ(sct#`Zx z-9LzNHc4;0zi;{Y9*qrEJTIiY{oBsAlC(8l*#lCElWi3tOLskP}-iVqGsulcwrt6=edIulQ3+|*1<*kD$HpzPC5kjEBpKqis)+P~{p@cW%Vh$BV<+;2obI znzB)NE1EM~Tbg{Zg{G#er&pEhg?ZyN9!vmcOX%EWv`EK~qh4B`3?5&X24@7z!@6Df z&)15M{Q4FPnxc)lW{&Kk)6>)AJ8R>!%B!_Kig)@ee9w2!&64lrVgBi&U1nos;P^?8 zdBk!tqie0x5*RsPgXr~Xv(;IQGCCib4z9)mRagIM0ajV9tD&rX{d3J) zK1(cKc3oq9fBk2lx&9T!(K4I|GSRiY&6efY&f-*=isO0<{Q9mn)`q6@8y4OdeG)-E z2cvs>nvxUy;~m3(@H20s#QcPWIc#>!cgg#jzn_%NwYJhD-d&3yFrSTnm&@Kr zJwZ!jhjm)@VDp7Wo^dH(sppW9k$Ju<@11M&z%la*C#R4dy0sDDUMjD)xDX6pn)0Z0ms)1N=2mU64QP;qlm&`}UX(08S_@Pdq!Ed;(bh@mcg!4{7*o9G^}1xrDPD zqZ%w*cKM}VAV8-y&b1W%t-et3sO_07Ib^^PZGP zhDJr-8!DO(USgUEWz228y3Z-*oz1WR@^pDOhS_}ZKzBT!y81Wq=*2R!?EZ&GykAWn zBsDeT{CusSKPSUW^a@@E+u5kRY=Q2qC26CJEff-NAF#DQhL&4wFa!(z;kj8FOlCHk zYrK#dA@9Rt78lE;Sa-OQ_xx;kE5^uI(%3QNCOG$^1Od)|euBv6p}CKGnf?`9KRCh# z#j$5|?Zh^=RUQ5PKPTjm@^OJCLi0JmjX}2|e`YrlkKSN##{7r7Cp-s7?c?bt|@bew{J@j;$Y;KJ6-w4?pr3ciIw2D=JK%y}sI#~m%ue^j2Nm=Zn_3XQ!hkZ)Zz%%&Sx1o}^yGMyIw(zs?Gp}r4CYP;? zt_?u~FP78~N7@Yh0A`-!h4kKl@MP{gXM#`M*go~Mc}DjArNf#{_EwQ)Oed}6m}+XU zD)Y50tb?$ybw)$RR=#cjsO~RkerM7(hS!3Q5xQ<#buSOLm(v(%`n}9DSDVLNzU(eV z3VM8~Jick_q-I`<6#((R7m(Q*%^cn8k1fCRzPG)tPvQGAsC*ay^Y%g< z?LN|u%_ba^cgVMTcK{ZqVml85nlP4f{xtQzW%I~uM;?T#epHXfgAsmJRRmGQkz{lM zNj{}?P~@}T52DqZ+lR%CHErpyIvS}=pN1mWj@a~o{I+qlZB#S!IlfNY(z8%QEh#ig zTn$0Nf(CyjKw#Sc*7U;E-NP|SU8ek zt!-WhP|lv9b^JIb7J22l4pD;Mi`yKE4EGk~6E93rO-&7G4v^zru2)5qU#zWO*QUvp zgTS+d?ja#sGmS?{+SHWw-F@>!apLFjaJZtP6bOgoWUqGXILM37&gW;m6!FGn2Ul_m zQyo?L$QP$A)}QEt%$b8GN$bD3?M<}uG!5W#_l3_99e4K>*293q{CbcCvOBWqRZYy} zVv`kfRT__rRu(S7Z&W(Y-e`n{*qd$+UVCXpwB0LEIq&sAJRXdT#l#k4ewk{Bw?v(V zDpcq>ZnfpTQx~xf;fN()?aYmQ9$W*DYL_TzMPz0YL~@@~^!N9Jijb)3RkY1rYQsKl zh}J)TziHNA7*Lo$N=xtietUW{2X~sBH0kI*xj$&Y?d%YXL^3^|(|&+~fp4v8TA1I3 z=+?bL2})1*TO_-;y%qcDBn_*5=VtUxMhW?^D8fzmkYvz#)y+G9fxK_GStqJW<9VUU z$)_89u&Cs>w*RadW36uT3%`vdl zqe}pZIOyMzm`O6{jc;fuq?UWKjB>#{z1~~QT8-|}lZlTa3mI%IUui#N-3_NP@+6Tb z;=k3N+%X4O3#wyyIArXD8(N42UadgkpP@r}g0cfJ#lIyENPOetF|%bmY6^Y0Z(8od z^!x>S=Bu|4=Tl__eQ`}n@9S?nI*I=X;8{B<(c>fF?E460>w;vasxRKA9uLEB9K@qI zJ)Fj&wjy%!%t!|?!IUIbB+fzC>;644qQ@&|)@>lKtHUEtH#1dbU`92`aB!&2s+zFQ zh68s3a z`0QwW(X;J-`HfqK{$Q3YCY##TZ1SXjmAQ6+Hj$dkz{z5@XC!NMv=nuH)g$v~X{it@ zk?uw&DZN&I;UuV9L|0Z*1D+@Y6f*u&;jf(Z6iy77_n_VHhmRk>N=qY&M&cWGS(zv+ z!|b7w68_HYL&IL_az50GzP($hxL364`1Ae?^DLN=6ogfL{2!d<4(NLJl{ILSa|J8TxAPdVegSjLZa*jhe*r_{(bG^O z?^=4C81(V?clDm1D*)aSmz`l?9c6XvO8#hEt%`qr#fR}R?IpwBk6k?Tw`yd~j=OS- z(_yK_q&nFF%*HcQHUHEVXZ{->S|fHhsA>{m_bb}LVx)x@^OJoiiZ*^3Zdk(55YBv! z3kIQO3$4YNMOM8d>gVwL&Q^_-`iGgnvSfSa?ch*i6>4eQY;OOVT))tMCQ%lXEK3s40 z%cmQ_y?-l$aI@7+KnDsNe){@0{%EAT5vDHwLCy$zS&V=D0kYf-zWuyFp@KvIu|`i+ z=EcRqt>-Xg+kKheS5EpilMcl!#|^WvZn185<*X!J}_85Yi}4(0XAcPB=gG3%zNlX zyAz&H5szMX_mcj;sf>7y#HEG9Jc*lY&V4FWZGiu{Z~56@v9FO<+AiRRs@qNf|2`sh zQaV~uyqunOW$9P5>L!j35|b|c(=-28NvW&)nXD|W$`)L=fI~rnR8Z)%v9ZzZ4tf?6 z71h(Td%~3iwDxmPm7PY`ecry&Pt z0>}+jR$gE8p{5ryv=~I)4cGQ}4Cf6U#(U;}M)C&F#>GZuWk^C| zvUf=Bf;o~(y!PEcG%wsK_`TG^>F&}>+5T0b`6-&G31MHPdC|tiW@akXUv4ErjjftKhd}10T~y^ z0wnk@=o7?As+$6}*10;Kz}kZe6JyzO?}(=9!T+*QI!X-CL&IeKG+GxRrEgNLBqtp{ zW$qUiaFmpa`nyxav6LpJ@(ed^3>nI{K`(8NF`7C+IqYwEX=5;4LH+Zm2ikdex%&O> zqOO_Q-=kR00J>E+uDD$-?!VW3cG3NDBqR!^KX5}su#L@QzAH?5=jWpX76@umZEX*% z?ODh{P-(u|ijF50CVYc~!)!Q=U~o$KgynydiuX4rA4$iM?9T+~Hm349FE1S2T}lUe zNhyjg1Z#&m(EABq%1tW547Jejx;l-q ziCktQH5%MpEf;d5dQU(&7I!Ww7O8h^EC=%m>^gwhdl*MU&+Tw`r%&rpy}czQ>F<_5RG05wGh z%(==@15`%4`F-q~))@!%-=vPKmdU(;E45z#?8u4o{rkD|$x#y;7kLe%gYnFH4te6w zX>>bjCfOAg836ZPUD*OQM9$L+RjKUV*q8*8XOfFmkmho4_?5v?lfCBi39Nu1ZV;bV zggB&>6x{17&t~~psybNlF_sk%g-KGjmq=~az90c*o7g4_>i0&;+U8iF$sz6nwq!F%tR2+`y(6- z{6WRVCXmg|>~3YadGh|%v5+XiK{>h(0h>vlbbZ@YRd%M)gXn(mxr_xGN62e5EH1CB z{&sc2#fuB8x*`&FUV}SDs;Y5#8PF8;RyjFU!CCxVufHR%7PPnfQL* z9SI5%Rx&W%%zEKP1{fY5Ooxy-U0D{w=2Lzh}mX>(i7^7jwi@nJ}5q9{mswD3J z#MzuZ||vgx*mK{5-0xW&KQFj$~p1@7Y#2w^*!o zkBUNVV%ZjFGBP4+lq4AVh~8AT7yGI%f$9;ajhR)IhYRPF6twqHbEZsQ@3yw5 zi4v*Lu4;*ZimHSm@%T7ZJPYDtTmtLHx}|@pgc%AYC~vr$ny&wVsXhC<T{_D zQOApXdZEd53eSPZ1AA;d?errargmU>IM(1QS24#~t^<+Y)qot-g&r6)Q}wT;;AxjH zRaIuJCnP{Q+IG`usuxvDE`5>#^uo3=q{Mtrc-g$NGWy>o@Y{0@;Wem%tL}F*;VBTp z=*q>OWHv36xPy3Xs1Q~ zd)u;stR^0C5%%)ZeqwU6Z)hm1Q6-?ZHt3Dl=?y9<4#d_^ZLr-KRjTk5445$k;_3`G zlhc+lqn20f(5#k&W%(^%4~|v3;U8x$DX5`=0kWNuMc}@6JF4Dfh$y*_qh~rnYB;Xe zx!Bgny~xZuF;8*^jSR?xcuh=>fsKs@u5zQIp-GB~Q4kRk%_h8c{lj2<8W z;7qGD5XxW7w^loz?R!C=4=&i3j{ciy%^yeCvhUf|_?o!P=WLZUL;H4C&4Z0=|7%Um zAuc*cg*9!2b95 zl?{#I0uuy~((Uan zlescOTU#6W7a^LaO5FwyBr`KJh@5nW%#T>t5v!medkD*__xE)N0~lr_&Pn^BR{(PFp}*JzQ4umW2V9 z6QgGu^2gS6&Qdp-T6*1lA&zUyP7DRed~>+9LTx1ZJj^dOSg z)RY2d|Mk--`tlkY(EJ608yi1Z(G#t#tR0bd41V`6E$#pNpAY=QAfCs`Vf@ucemM{W zhJsotOQEQuuC8No5yQ%gK#Gqp8q=$3e0q(5K*21xuy9XzSDpXsS6)a+a37nE_yf4? zjispx$Iau{&;)1WgsMG%fq^Ln2KuL4@mHIsunAUN0u?2loV+YyR*Qg-IAmSj4`;WB zjqUC5$Vg;OP0gg#1DO#0oC69pIB{`tx`W<}f&$sy4;9s@n@5lt_*6?vQy)!{kba|E zyiPzva&&)IiTXE_!jK6jbV$g3(6?6-xQ8&nkZNg}dS?tg%)=u$O?~l5Trl3>zkf?X zYskwBe2=}y)iX2uXj!(l17%qzu(Z@MEgZC$-v8=}TGFJXOfiG_CN4gx5ElFtD`_=GG zV&J!9R!}H1Djgh9jEgIvpvD0E0eTcA7*k0JV`;e+F!-L~VMOpJQaQ8du0$jx27B6? z{XjW@xI`!=Ep1+zvMI4>+LnG~YAU&<<#7t{Qh)zm6DGgeW)r@`K@J!^C<%D6I+0Ap>8WLS3{gxP zCbL;pyLf3|eqm+(o~&J+jJJ#o4dGY^o+h%-x67bHj|tx+RdjKV^a~3NgnoQ}IB|Bq zeTR%3i3!z&6+6+PLvPJafs6Duu(jii;&j`1Ej`o32s7ZWh6T}@lR8b>jtl$;O4?}6 zKBt^28?ge39si}-Z+G)7=;7f3nObwlA?3G9$oAB8N2b?va8XYA8ncuS1(WsMyWY>% zEf}GLE|eTy3_}kL5&Rj&)0;;Ali$|X>3w>8Atr@BGQ&9Do^SK9ufhiUP+Ycdz^7V*t&Bfd_ zKqskPP~+X+HzFx?{7G1oqNv|*_r7J9?LE{X3Tn4UMv*v)#kegkFB5%3A^G;RYrSJV z8G;}3A|L4m-o#b&M}bNLe~hvi5^BtQF{I+I+@N=CV92XFm_GvZ3sWApPPy|vB;F9h zaFg^yd^$P?)ihM{~NT%SSV?2?M1FBo|OaxiJqZ}&`u7Rx$0A_Q@foY-+G zXb6y?aU(^+c+X~)7+->Zo0Q>7GcS7)O34_jweI`C?do_NiHmH*Jg++ogE z3PXovO|gIq`NOXQv1`}<-iR`Ne%Wbopt5V-o8+7Gg^YE9Cn{dUB#Ur@LEi=L?gf^L zqezBPUlr~qJMAvCPcS>vhhEein7Q7!Hj?P)6z|;$xDWm?49P^w^D9EAltt~rsrzFLkXdY|VE`*ytK}rUq z!vV3oGMHUHNY9_*{l;8}rwkIZAjIUO&kH74x$<8o-Z={Fnf>c7UwdhoqqgCM8Fg?e zq2P!hE( zCSgK|faurBxrqm*K!hwnFwmgUxaCeOGPIi{1xrBOBxKOOEM>Tz<>dJ+JU#Z{* zriz}(3VZb~w8KLbK&duR^7N<#JEi-6n~d#2sxQ=PX^@yuH-B82{R zdEMkIBtf4J=%3!9{}8&|z3i1|kmx0_XIW(vph8gkE*$bO`Tb8A5O(5q`!_6)&e6#(sOHs}W53P)!b(KV>26pwy0Ax1#FJoL)eG+ zj6VsLRWSpCa$w}pI=A*Xc4Bkl1XL3Gst^Ts)L7$P^s?O#t+UAL7hpn@Bi_77RzvcXoGzQ<*LGglW(0k`(R z`^P$x5C+5Rp{;$0{o?%4ivVew@8c%>hHazzuzR8b$BiADaKP`vXamS5%ZB?B16VPW zj*Iudiq~9B)9*5jI(e*k_GdwuX&htjm*OHwbun})6ryGc4{m}=`9U}uNd9%61<^SJ zesofYLkP3X0w;-shI!~laMV@nK`pYdL35UMpvv=n-T?}?x@&sFf(O2>VF~i5H=Cwj zQf9PH$23(%&-U=)xd07P`N7^dStw%%WlX537;eu4t7Veap%)hGg6FIni_oGX@Bpdo zEGu2&;6(l`wL0DQPV1+7KGVfdb4Lh=-0$Rz8huhE1_2$O$(8V+b7mYGWI-HbK?_@S zJO(eh7Voqr;V2dysAiv(zpK)Lan1-`whUahgdWWex#YY~XtPw0HcZM))xrE^wOTj5 zNLnQB)}r!7YWiRJY=%R_uQe(BcBIXFR?WSBhSABJ`nEP3m*Vt@>CI9BMJeNyz5c6T z_7#gJO3hGwhGKbScu9WxuN7A*VB$&@h=vIYb#|> z+!o40bkxy`?R7XKj1*( zSaPWAx%em#$Bwl2&9!Ezs-nek(cXTy&B9lym5~o}v!IJ%4A~U+@7BrmV%M9Rbk%p~ z%t)CT;|)46Vtf4JPS2f8(`+3AWSTO800?Q7@ zSZMD(of(tN)Mt|*rQ+@3R=p3Tm580p7hI<6ASU1A?z&2{y?I;bz*9%l#Hh`S-&Il9 zrZh!h_4gga5X!VJ9+bc5m=4xIPX9Vq!_FA~2hCxfyF0>?N(=Zpi%thTcBERhWO2&% zCOYnuJu`W6O~YY^A>^-={&f~|vsYx!?OSKq7HagnmmZOA1eypt*n=rgw216=-UgHn zbZbqfXN_^y^%g0lPPiQ`{YS3mm9ezH0g)jpRi;j2Ym)IcKc_4QwT(eAz>nm5sgG1*5w%gPp~7 z+2Iy=)qRaw9ZV>&YwIkGbZ&55v~KoVusv3@Pu##fnWT)>*&jANo9ZRiXL-|VFG4|D z#QymLd3nW6IUAMd%kc)rruA~!VTRP6v)jy)Eu+!nh4fOYTMg!GHKbZi!HNLMo) z61rMmLDj?3!)C#l#c^{Di4W_WNmlPV*0M6jhz^Dj4oqrmu368>e&758FBLOE}y{h+suJ*d-mw@n6tr^P7@<+ zRrg?OcFf0K0&Lp)@>MHUnn<|)pR5&7x>B=PO0#1(Z#BwCr*-bGeqPbab6$-5f6%2A z_jwVyj~LfT~K#k%omZ+Tu)mcSqDtejVG?qM01gw$~+x{N;YsGST=cluV3>C$y zE#248tY>J?YO7TL(tF_goaL(jrEbq=?B!dYzmWNL^b3a520&})OUl04|7_2?*Y|Av z#o4yq5nCRgBpq?;4H`h2)f_F`k>zam;OP7 cko?5|%t_P#8u!fq(ZT=(p00i_>zopr0NkUnuK)l5 literal 66539 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 Nl420i65+4k{|Do6`GWue diff --git a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json index abf3d1014..907b7e45a 100644 --- a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json +++ b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_act.json @@ -2,11 +2,8 @@ "Activities": [ { "Id": "bids::prov#segmentation-nO5RGsrb", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-Lfs6FRMn" - ], + "Label": "Manual brain segmentation", + "Command": null, "Used": [ "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" ] diff --git a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json deleted file mode 100644 index 749c44299..000000000 --- a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp1_soft.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Software": [ - { - "Id": "bids::prov#itksnap-Lfs6FRMn", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" - } - ] -} \ No newline at end of file diff --git a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json index 8c6a687ad..109b177ed 100644 --- a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json +++ b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_act.json @@ -2,11 +2,8 @@ "Activities": [ { "Id": "bids::prov#segmentation-mOOypIYB", - "Label": "Semi-automatic brain segmentation", - "Command": "itk-snap sourcedata/raw/sub-001/anat/sub-001_T1w.nii.gz", - "AssociatedWith": [ - "bids::prov#itksnap-cJ4KRErk" - ], + "Label": "Manual brain segmentation", + "Command": null, "Used": [ "bids:raw:sub-001/anat/sub-001_T1w.nii.gz" ] diff --git a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json b/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json deleted file mode 100644 index 8d9715df4..000000000 --- a/provenance_manual/derivatives/seg/prov/prov-seg_desc-exp2_soft.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "Software": [ - { - "Id": "bids::prov#itksnap-cJ4KRErk", - "Label": "ITK-SNAP", - "Version": "4.4.0", - "AltIdentifier": "RRID:SCR_002010" - } - ] -} \ No newline at end of file