diff --git a/.codespellrc b/.codespellrc index 4092a9a7bf..22cd48ca96 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,6 +1,6 @@ [codespell] skip = *.js,*.svg,*.eps,.git,node_modules,env,venv,.mypy_cache,package-lock.json,CITATION.cff,tools/new_contributors.tsv,./tools/schemacode/docs/build -ignore-words-list = fo,te,als,Acknowledgements,acknowledgements,weill,bu,winn +ignore-words-list = fo,te,als,Acknowledgements,acknowledgements,weill,bu,winn,manuel builtin = clear,rare,en-GB_to_en-US # this overloads default dictionaries and I have not yet figured out # how to have multiple https://github.com/codespell-project/codespell/issues/2727 diff --git a/.github/workflows/schemacode_ci.yml b/.github/workflows/schemacode_ci.yml index 8188370cdd..b02fda9ed3 100644 --- a/.github/workflows/schemacode_ci.yml +++ b/.github/workflows/schemacode_ci.yml @@ -26,7 +26,7 @@ jobs: os: ["ubuntu-latest"] python-version: ["3.11"] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} @@ -56,7 +56,7 @@ jobs: fail-fast: false matrix: os: ["ubuntu-latest"] - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] include: - os: macos-latest python-version: 3 @@ -64,12 +64,13 @@ jobs: python-version: 3 name: ${{ matrix.os }} with Python ${{ matrix.python-version }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: "Set up Python" uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true - name: "Display Python version" run: python -c "import sys; print(sys.version)" @@ -129,12 +130,12 @@ jobs: runs-on: ubuntu-latest name: Validate schema steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set Up Python environment uses: actions/setup-python@v4 with: - python-version: "3.9" + python-version: "3.11" - name: Install the schemacode package run: | @@ -157,7 +158,7 @@ jobs: needs: [test, validate_schema] steps: - name: Checkout - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Download artifacts uses: actions/download-artifact@v3 diff --git a/.github/workflows/validation.yml b/.github/workflows/validation.yml index 8e48d85bb6..aea69e6e93 100644 --- a/.github/workflows/validation.yml +++ b/.github/workflows/validation.yml @@ -16,14 +16,14 @@ jobs: codespell: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: codespell-project/actions-codespell@master # Markdown formatting remark: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: node-version: 14 @@ -36,7 +36,7 @@ jobs: yamllint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 3 @@ -49,7 +49,7 @@ jobs: python-style: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 3 @@ -63,7 +63,7 @@ jobs: latin-phrases: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 3 @@ -86,7 +86,7 @@ jobs: validate_cff: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 3 diff --git a/.lgtm.yml b/.lgtm.yml deleted file mode 100644 index 0734210407..0000000000 --- a/.lgtm.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -# This file contains configuration for the LGTM tool: https://lgtm.com/ -# The bids-specification repository is continuously scanned by the LGTM tool -# for any security and/or code vulnerabilities. You can find the alert here: -# https://lgtm.com/projects/g/bids-standard/bids-specification/ -queries: - # https://lgtm.com/rules/6770079/ - - exclude: py/unused-import diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index c601adf20c..178ebb0f1e 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ exclude: 'tools/schemacode/bidsschematools/tests/data/broken_dataset_description.json' repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v4.5.0 hooks: - id: trailing-whitespace - id: end-of-file-fixer @@ -13,7 +13,7 @@ repos: - id: check-added-large-files - id: check-case-conflict - repo: https://github.com/psf/black - rev: 23.7.0 + rev: 23.10.0 hooks: - id: black files: ^tools/(?!schemacode) @@ -38,17 +38,17 @@ repos: - id: flake8 args: [--config=tools/schemacode/setup.cfg] - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.1 + rev: v3.0.3 hooks: - id: prettier files: src/schema/.*/.*\.yaml - repo: https://github.com/codespell-project/codespell - rev: v2.2.5 + rev: v2.2.6 hooks: - id: codespell args: ["--config=.codespellrc", "--dictionary=-", "--dictionary=.codespell_dict"] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.4.1 + rev: v1.6.1 hooks: - id: mypy # Sync with project.optional-dependencies.typing diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 40fae2e3ea..882e852455 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -163,7 +163,7 @@ The BIDS specification is written in American English. We follow certain "soft rules" in the way we format the specification in Markdown. -These rules are sometimes for internal consistency in terms of styling and aesthetics, +These rules are sometimes for internal consistency in terms of styling and esthetics, but several of them are also there because they help the workflow of tracking changes, reviewing them on GitHub, and making code suggestions. diff --git a/README.md b/README.md index 54b7bd11d7..f5c548feca 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ [![Validation](https://github.com/bids-standard/bids-specification/actions/workflows/validation.yml/badge.svg)](https://github.com/bids-standard/bids-specification/actions/workflows/validation.yml) [![CircleCI](https://circleci.com/gh/bids-standard/bids-specification.svg?style=shield)](https://circleci.com/gh/bids-standard/bids-specification) +[![Mastodon Follow](https://img.shields.io/mastodon/follow/109520103085644521?domain=https%3A%2F%2Ffosstodon.org%2F)](https://fosstodon.org/@bidsstandard) [![@BIDSstandard](http://img.shields.io/twitter/follow/bidsstandard.svg?style=social)](https://twitter.com/BIDSstandard) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3686061.svg)](https://doi.org/10.5281/zenodo.3686061) diff --git a/mkdocs.yml b/mkdocs.yml index 1a24697360..3b2d3f6aa1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,114 +1,145 @@ site_name: Brain Imaging Data Structure v1.9.0-dev site_url: https://bids-specification.readthedocs.io/en/stable/ +repo_url: https://github.com/bids-standard/bids-specification nav: - - The BIDS Specification: + - The BIDS Specification: - Introduction: introduction.md - Common principles: common-principles.md - Modality agnostic files: modality-agnostic-files.md - Modality specific files: - - Magnetic Resonance Imaging: modality-specific-files/magnetic-resonance-imaging-data.md - - Magnetoencephalography: modality-specific-files/magnetoencephalography.md - - Electroencephalography: modality-specific-files/electroencephalography.md - - Intracranial Electroencephalography: modality-specific-files/intracranial-electroencephalography.md - - Task events: modality-specific-files/task-events.md - - Physiological and other continuous recordings: modality-specific-files/physiological-and-other-continuous-recordings.md - - Behavioral experiments (with no neural recordings): modality-specific-files/behavioral-experiments.md - - Genetic Descriptor: modality-specific-files/genetic-descriptor.md - - Positron Emission Tomography: modality-specific-files/positron-emission-tomography.md - - Microscopy: modality-specific-files/microscopy.md - - Near-Infrared Spectroscopy: modality-specific-files/near-infrared-spectroscopy.md - - Motion: modality-specific-files/motion.md + - Magnetic Resonance Imaging: modality-specific-files/magnetic-resonance-imaging-data.md + - Magnetoencephalography: modality-specific-files/magnetoencephalography.md + - Electroencephalography: modality-specific-files/electroencephalography.md + - Intracranial Electroencephalography: modality-specific-files/intracranial-electroencephalography.md + - Task events: modality-specific-files/task-events.md + - Physiological and other continuous recordings: modality-specific-files/physiological-and-other-continuous-recordings.md + - Behavioral experiments (with no neural recordings): modality-specific-files/behavioral-experiments.md + - Genetic Descriptor: modality-specific-files/genetic-descriptor.md + - Positron Emission Tomography: modality-specific-files/positron-emission-tomography.md + - Microscopy: modality-specific-files/microscopy.md + - Near-Infrared Spectroscopy: modality-specific-files/near-infrared-spectroscopy.md + - Motion: modality-specific-files/motion.md - Derivatives: - - BIDS Derivatives: derivatives/introduction.md - - Common data types and metadata: derivatives/common-data-types.md - - Imaging data types: derivatives/imaging.md + - BIDS Derivatives: derivatives/introduction.md + - Common data types and metadata: derivatives/common-data-types.md + - Imaging data types: derivatives/imaging.md - Longitudinal and multi-site studies: longitudinal-and-multi-site-studies.md - Glossary: glossary.md - BIDS Extension Proposals: extensions.md - Appendix: - - Contributors: appendices/contributors.md - - Licenses: appendices/licenses.md - - Entity table: appendices/entity-table.md - - Entities: appendices/entities.md - - File collections: appendices/file-collections.md - - Units: appendices/units.md - - Hierarchical Event Descriptors: appendices/hed.md - - MEG file formats: appendices/meg-file-formats.md - - MEG systems: appendices/meg-systems.md - - Coordinate systems: appendices/coordinate-systems.md - - Quantitative MRI: appendices/qmri.md - - Arterial Spin Labeling: appendices/arterial-spin-labeling.md - - Cross modality correspondence: appendices/cross-modality-correspondence.md + - Schema: appendices/schema.md + - Contributors: appendices/contributors.md + - Licenses: appendices/licenses.md + - Entity table: appendices/entity-table.md + - Entities: appendices/entities.md + - File collections: appendices/file-collections.md + - Units: appendices/units.md + - Hierarchical Event Descriptors: appendices/hed.md + - MEG file formats: appendices/meg-file-formats.md + - MEG systems: appendices/meg-systems.md + - Coordinate systems: appendices/coordinate-systems.md + - Quantitative MRI: appendices/qmri.md + - Arterial Spin Labeling: appendices/arterial-spin-labeling.md + - Cross modality correspondence: appendices/cross-modality-correspondence.md - Changelog: CHANGES.md - - The BIDS Starter Kit: - - Website: https://bids-standard.github.io/bids-starter-kit + - The BIDS Starter Kit: + - Website: https://bids-standard.github.io/bids-starter-kit/ - Tutorials: https://bids-standard.github.io/bids-starter-kit/tutorials/tutorials.html - GitHub repository: https://github.com/bids-standard/bids-starter-kit theme: - name: material - favicon: images/favicon.png - logo: images/logo.png - features: - - navigation.sections -copyright: Copyright © 2018-2022, BIDS Contributors - CC BY 4.0 + name: material + favicon: images/favicon.png + logo: images/logo.png + features: + - navigation.sections + - content.action.edit + icon: + repo: fontawesome/brands/github + edit: material/pencil + palette: + # Palette toggle for automatic mode + - media: (prefers-color-scheme) + toggle: + icon: material/brightness-auto + name: Switch to light mode + # Palette toggle for light mode + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-7 + name: Switch to dark mode + # Palette toggle for dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-4 + name: Switch to system preference + +edit_uri: https://github.com/bids-standard/bids-specification/edit/master/src/ + +copyright: Copyright © BIDS Contributors - CC BY 4.0 + extra: - generator: false - social: - - icon: fontawesome/brands/twitter - link: https://twitter.com/BIDSstandard/ - - icon: fontawesome/brands/github - link: https://github.com/bids-standard/bids-specification/ - - icon: fontawesome/brands/google - link: https://groups.google.com/g/bids-discussion + generator: false + social: + - icon: fontawesome/brands/github + link: https://github.com/bids-standard/bids-specification/ + - icon: fontawesome/brands/twitter + link: https://twitter.com/BIDSstandard/ + - icon: fontawesome/brands/mastodon + link: https://fosstodon.org/@bidsstandard + - icon: fontawesome/brands/google + link: https://groups.google.com/g/bids-discussion + extra_javascript: - - js/jquery-3.6.0.min.js + - js/jquery-3.6.0.min.js markdown_extensions: - - toc: - anchorlink: true - - pymdownx.superfences + - toc: + anchorlink: true + - pymdownx.superfences plugins: - - search - - branchcustomization: - update_config: - - branch: /(?!^master$)/ - +extra_css: - - css/watermark.css - - macros: - module_name: tools/mkdocs_macros_bids/main - - redirects: - redirect_maps: - '01-introduction.md': 'introduction.md' - '02-common-principles.md': 'common-principles.md' - '03-modality-agnostic-files.md': 'modality-agnostic-files.md' - '04-modality-specific-files/01-magnetic-resonance-imaging-data.md': 'modality-specific-files/magnetic-resonance-imaging-data.md' - '04-modality-specific-files/02-magnetoencephalography.md': 'modality-specific-files/magnetoencephalography.md' - '04-modality-specific-files/03-electroencephalography.md': 'modality-specific-files/electroencephalography.md' - '04-modality-specific-files/04-intracranial-electroencephalography.md': 'modality-specific-files/intracranial-electroencephalography.md' - '04-modality-specific-files/05-task-events.md': 'modality-specific-files/task-events.md' - '04-modality-specific-files/06-physiological-and-other-continuous-recordings.md': 'modality-specific-files/physiological-and-other-continuous-recordings.md' - '04-modality-specific-files/07-behavioral-experiments.md': 'modality-specific-files/behavioral-experiments.md' - '04-modality-specific-files/08-genetic-descriptor.md': 'modality-specific-files/genetic-descriptor.md' - '04-modality-specific-files/09-positron-emission-tomography.md': 'modality-specific-files/positron-emission-tomography.md' - '04-modality-specific-files/10-microscopy.md': 'modality-specific-files/microscopy.md' - '04-modality-specific-files/11-near-infrared-spectroscopy.md': 'modality-specific-files/near-infrared-spectroscopy.md' - '05-derivatives/01-introduction.md': 'derivatives/introduction.md' - '05-derivatives/02-common-data-types.md': 'derivatives/common-data-types.md' - '05-derivatives/03-imaging.md': 'derivatives/imaging.md' - '06-longitudinal-and-multi-site-studies.md': 'longitudinal-and-multi-site-studies.md' - '07-extensions.md': 'extensions.md' - '99-appendices/14-glossary.md': 'glossary.md' - '99-appendices/01-contributors.md': 'appendices/contributors.md' - '99-appendices/02-licenses.md': 'appendices/licenses.md' - '99-appendices/03-hed.md': 'appendices/hed.md' - '99-appendices/04-entity-table.md': 'appendices/entity-table.md' - '99-appendices/05-units.md': 'appendices/units.md' - '99-appendices/06-meg-file-formats.md': 'appendices/meg-file-formats.md' - '99-appendices/07-meg-systems.md': 'appendices/meg-systems.md' - '99-appendices/08-coordinate-systems.md': 'appendices/coordinate-systems.md' - '99-appendices/09-entities.md': 'appendices/entities.md' - '99-appendices/10-file-collections.md': 'appendices/file-collections.md' - '99-appendices/11-qmri.md': 'appendices/qmri.md' - '99-appendices/12-arterial-spin-labeling.md': 'appendices/arterial-spin-labeling.md' - '99-appendices/13-cross-modality-correspondence.md': 'appendices/cross-modality-correspondence.md' -docs_dir: 'src' + - search + - branchcustomization: + update_config: + - branch: /(?!^master$)/ + +extra_css: + - css/watermark.css + - macros: + module_name: tools/mkdocs_macros_bids/main + - redirects: + redirect_maps: + "01-introduction.md": "introduction.md" + "02-common-principles.md": "common-principles.md" + "03-modality-agnostic-files.md": "modality-agnostic-files.md" + "04-modality-specific-files/01-magnetic-resonance-imaging-data.md": "modality-specific-files/magnetic-resonance-imaging-data.md" + "04-modality-specific-files/02-magnetoencephalography.md": "modality-specific-files/magnetoencephalography.md" + "04-modality-specific-files/03-electroencephalography.md": "modality-specific-files/electroencephalography.md" + "04-modality-specific-files/04-intracranial-electroencephalography.md": "modality-specific-files/intracranial-electroencephalography.md" + "04-modality-specific-files/05-task-events.md": "modality-specific-files/task-events.md" + "04-modality-specific-files/06-physiological-and-other-continuous-recordings.md": "modality-specific-files/physiological-and-other-continuous-recordings.md" + "04-modality-specific-files/07-behavioral-experiments.md": "modality-specific-files/behavioral-experiments.md" + "04-modality-specific-files/08-genetic-descriptor.md": "modality-specific-files/genetic-descriptor.md" + "04-modality-specific-files/09-positron-emission-tomography.md": "modality-specific-files/positron-emission-tomography.md" + "04-modality-specific-files/10-microscopy.md": "modality-specific-files/microscopy.md" + "04-modality-specific-files/11-near-infrared-spectroscopy.md": "modality-specific-files/near-infrared-spectroscopy.md" + "05-derivatives/01-introduction.md": "derivatives/introduction.md" + "05-derivatives/02-common-data-types.md": "derivatives/common-data-types.md" + "05-derivatives/03-imaging.md": "derivatives/imaging.md" + "06-longitudinal-and-multi-site-studies.md": "longitudinal-and-multi-site-studies.md" + "07-extensions.md": "extensions.md" + "99-appendices/14-glossary.md": "glossary.md" + "99-appendices/01-contributors.md": "appendices/contributors.md" + "99-appendices/02-licenses.md": "appendices/licenses.md" + "99-appendices/03-hed.md": "appendices/hed.md" + "99-appendices/04-entity-table.md": "appendices/entity-table.md" + "99-appendices/05-units.md": "appendices/units.md" + "99-appendices/06-meg-file-formats.md": "appendices/meg-file-formats.md" + "99-appendices/07-meg-systems.md": "appendices/meg-systems.md" + "99-appendices/08-coordinate-systems.md": "appendices/coordinate-systems.md" + "99-appendices/09-entities.md": "appendices/entities.md" + "99-appendices/10-file-collections.md": "appendices/file-collections.md" + "99-appendices/11-qmri.md": "appendices/qmri.md" + "99-appendices/12-arterial-spin-labeling.md": "appendices/arterial-spin-labeling.md" + "99-appendices/13-cross-modality-correspondence.md": "appendices/cross-modality-correspondence.md" +docs_dir: "src" use_directory_urls: false diff --git a/src/CHANGES.md b/src/CHANGES.md index f6b0a97cd4..5190da2f23 100644 --- a/src/CHANGES.md +++ b/src/CHANGES.md @@ -2,7 +2,19 @@ ## [Unreleased](https://github.com/bids-standard/bids-specification/tree/HEAD) +- FIX: Do not require notch frequencies to be parsed as numbers, accommodating multiples [#1605](https://github.com/bids-standard/bids-specification/pull/1605) ([effigies](https://github.com/effigies)) +- \[ENH] Allow Levels field of column descriptions to be objects with TermURLs for each level [#1603](https://github.com/bids-standard/bids-specification/pull/1603) ([Remi-Gau](https://github.com/Remi-Gau)) +- \[ENH] Add optional low_cutoff and high_cutoff columns for fnirs channels.tsv [#1597](https://github.com/bids-standard/bids-specification/pull/1597) ([Remi-Gau](https://github.com/Remi-Gau)) +- \[SCHEMA]\[ENH] Remove atlas entity and replace it with seg in prep of BEP038 [#1579](https://github.com/bids-standard/bids-specification/pull/1579) ([melanieganz](https://github.com/melanieganz)) +- \[FIX] improve longitudinal example [#1576](https://github.com/bids-standard/bids-specification/pull/1576) ([Remi-Gau](https://github.com/Remi-Gau)) +- Adds Kim Ray as maintainer. [#1571](https://github.com/bids-standard/bids-specification/pull/1571) ([arokem](https://github.com/arokem)) +- \[ENH] Allow for "echo" entity to be used with T1w and other nonparametric anatomical suffixes [#1570](https://github.com/bids-standard/bids-specification/pull/1570) ([yarikoptic](https://github.com/yarikoptic)) +- Update `templates` in modality-agnostic-files [#1564](https://github.com/bids-standard/bids-specification/pull/1564) ([sappelhoff](https://github.com/sappelhoff)) +- \[FIX] Clarify that electrodes.tsv is optional for MEG, for use with simultaneous (i)EEG [#1555](https://github.com/bids-standard/bids-specification/pull/1555) ([effigies](https://github.com/effigies)) +- \[ENH] Allow UNKNOWN and NONE ContrastBolusIngredients [#1547](https://github.com/bids-standard/bids-specification/pull/1547) ([Remi-Gau](https://github.com/Remi-Gau)) - \[FIX] Update links to BIDS examples [#1545](https://github.com/bids-standard/bids-specification/pull/1545) ([Remi-Gau](https://github.com/Remi-Gau)) +- \[ENH] add schema in appendix [#1543](https://github.com/bids-standard/bids-specification/pull/1543) ([Remi-Gau](https://github.com/Remi-Gau)) +- \[ENH] add "visual correction" and "head stabilization" metadata [#1539](https://github.com/bids-standard/bids-specification/pull/1539) ([Remi-Gau](https://github.com/Remi-Gau)) - \[ENH] Clarify meaning of raw vs derivative datasets [#1537](https://github.com/bids-standard/bids-specification/pull/1537) ([CPernet](https://github.com/CPernet)) - \[FIX] match subject label in folder and filename in func example [#1536](https://github.com/bids-standard/bids-specification/pull/1536) ([Remi-Gau](https://github.com/Remi-Gau)) - FIX: Trail MEG directory formats with `/` [#1534](https://github.com/bids-standard/bids-specification/pull/1534) ([effigies](https://github.com/effigies)) diff --git a/src/appendices/coordinate-systems.md b/src/appendices/coordinate-systems.md index 157f327d79..28b50ab9bb 100644 --- a/src/appendices/coordinate-systems.md +++ b/src/appendices/coordinate-systems.md @@ -86,7 +86,7 @@ of restricted keywords for MEG, EEG, or iEEG, please open a new issue on the Note that the short descriptions below may not capture all details. For detailed descriptions of the coordinate systems below, please see the -[FieldTrip webpage](https://www.fieldtriptoolbox.org/faq/how_are_the_different_head_and_mri_coordinate_systems_defined). +[FieldTrip webpage](https://www.fieldtriptoolbox.org/faq/how_are_the_different_head_and_mri_coordinate_systems_defined/). ### Commonly used anatomical landmarks in MEG, EEG, and iEEG research @@ -195,25 +195,25 @@ Unless specified explicitly in the sidecar file in the ### Standard template identifiers -| **Coordinate System** | **Description** | **Used by** | **Reference** | -| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- | -| ICBM452AirSpace | Reference space defined by the "average of 452 T1-weighted MRIs of normal young adult brains" with "linear transforms of the subjects into the atlas space using a 12-parameter affine transformation" | | [https://www.loni.usc.edu/research/atlases](https://www.loni.usc.edu/research/atlases) | -| ICBM452Warp5Space | Reference space defined by the "average of 452 T1-weighted MRIs of normal young adult brains" "based on a 5th order polynomial transformation into the atlas space" | | [https://www.loni.usc.edu/research/atlases](https://www.loni.usc.edu/research/atlases) | -| IXI549Space | Reference space defined by the average of the "549 (...) subjects from the IXI dataset" linearly transformed to ICBM MNI 452. | SPM12 | [https://brain-development.org/](https://brain-development.org/) | -| fsaverage | The `fsaverage` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to a FreeSurfer variant of `MNI305` space. The `fsaverage` atlas also defines a surface reference system (formerly described as fsaverage\[3\|4\|5\|6\|sym\]). | Freesurfer | | -| fsaverageSym | The `fsaverage` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to a FreeSurfer variant of `MNI305` space. The `fsaverageSym` atlas also defines a symmetric surface reference system (formerly described as `fsaveragesym`). | Freesurfer | | -| fsLR | The `fsLR` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to `MNI152NLin6Asym`. Surface templates are given at several sampling densities: 164k (used by HCP pipelines for 3T and 7T anatomical analysis), 59k (used by HCP pipelines for 7T MRI bold and DWI analysis), 32k (used by HCP pipelines for 3T MRI bold and DWI analysis), or 4k (used by HCP pipelines for MEG analysis) fsaverage_LR surface reconstructed from the T1w image. | Freesurfer | | -| MNIColin27 | Average of 27 T1 scans of a single subject | SPM96 | [https://www.bic.mni.mcgill.ca/ServicesAtlases/Colin27Highres](https://www.bic.mni.mcgill.ca/ServicesAtlases/Colin27Highres) | -| MNI152Lin | Also known as ICBM (version with linear coregistration) | SPM99 to SPM8 | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152Lin](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152Lin) | -| MNI152NLin2009\[a-c\]\[Sym\|Asym\] | Also known as ICBM (non-linear coregistration with 40 iterations, released in 2009). It comes in either three different flavors each in symmetric or asymmetric version. | DARTEL toolbox in SPM12b | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009) | -| MNI152NLin6Sym | Also known as symmetric ICBM 6th generation (non-linear coregistration). | FSL | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin6](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin6) | -| MNI152NLin6ASym | A variation of `MNI152NLin6Sym` built by A. Janke that is released as the _MNI template_ of FSL. Volumetric templates included with [HCP-Pipelines](https://github.com/Washington-University/HCPpipelines/tree/master/global/templates) correspond to this template too. | HCP-Pipelines | [doi:10.1016/j.neuroimage.2012.01.024](https://doi.org/10.1016/j.neuroimage.2012.01.024) | -| MNI305 | Also known as avg305. | | | -| NIHPD | Pediatric templates generated from the NIHPD sample. Available for different age groups (4.5–18.5 y.o., 4.5–8.5 y.o., 7–11 y.o., 7.5–13.5 y.o., 10–14 y.o., 13–18.5 y.o. This template also comes in either -symmetric or -asymmetric flavor. | | [https://www.bic.mni.mcgill.ca/ServicesAtlases/NIHPD-obj1](https://www.bic.mni.mcgill.ca/ServicesAtlases/NIHPD-obj1) | -| OASIS30AntsOASISAnts | | | [https://figshare.com/articles/ANTs_ANTsR_Brain_Templates/915436](https://figshare.com/articles/ANTs_ANTsR_Brain_Templates/915436) | -| OASIS30Atropos | | | [https://mindboggle.info/data.html](https://mindboggle.info/data.html) | -| Talairach | Piecewise linear scaling of the brain is implemented as described in TT88. | | [http://talairach.org/](http://talairach.org/) | -| UNCInfant | Infant Brain Atlases from Neonates to 1- and 2-year-olds. | | [https://www.nitrc.org/projects/pediatricatlas](https://www.nitrc.org/projects/pediatricatlas) | +| **Coordinate System** | **Description** | **Used by** | **Reference** | +| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------- | +| ICBM452AirSpace | Reference space defined by the "average of 452 T1-weighted MRIs of normal young adult brains" with "linear transforms of the subjects into the atlas space using a 12-parameter affine transformation" | | [https://www.loni.usc.edu/research/atlases](https://www.loni.usc.edu/research/atlases) | +| ICBM452Warp5Space | Reference space defined by the "average of 452 T1-weighted MRIs of normal young adult brains" "based on a 5th order polynomial transformation into the atlas space" | | [https://www.loni.usc.edu/research/atlases](https://www.loni.usc.edu/research/atlases) | +| IXI549Space | Reference space defined by the average of the "549 (...) subjects from the IXI dataset" linearly transformed to ICBM MNI 452. | SPM12 | [https://brain-development.org/](https://brain-development.org/) | +| fsaverage | The `fsaverage` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to a FreeSurfer variant of `MNI305` space. The `fsaverage` atlas also defines a surface reference system (formerly described as fsaverage\[3\|4\|5\|6\|sym\]). | Freesurfer | | +| fsaverageSym | The `fsaverage` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to a FreeSurfer variant of `MNI305` space. The `fsaverageSym` atlas also defines a symmetric surface reference system (formerly described as `fsaveragesym`). | Freesurfer | | +| fsLR | The `fsLR` is a **dual template** providing both volumetric and surface coordinates references. The volumetric template corresponds to `MNI152NLin6Asym`. Surface templates are given at several sampling densities: 164k (used by HCP pipelines for 3T and 7T anatomical analysis), 59k (used by HCP pipelines for 7T MRI bold and DWI analysis), 32k (used by HCP pipelines for 3T MRI bold and DWI analysis), or 4k (used by HCP pipelines for MEG analysis) fsaverage_LR surface reconstructed from the T1w image. | Freesurfer | | +| MNIColin27 | Average of 27 T1 scans of a single subject | SPM96 | [https://www.bic.mni.mcgill.ca/ServicesAtlases/Colin27Highres](https://www.bic.mni.mcgill.ca/ServicesAtlases/Colin27Highres) | +| MNI152Lin | Also known as ICBM (version with linear coregistration) | SPM99 to SPM8 | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152Lin](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152Lin) | +| MNI152NLin2009\[a-c\]\[Sym\|Asym\] | Also known as ICBM (non-linear coregistration with 40 iterations, released in 2009). It comes in either three different flavors each in symmetric or asymmetric version. | DARTEL toolbox in SPM12b | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin2009) | +| MNI152NLin6Sym | Also known as symmetric ICBM 6th generation (non-linear coregistration). | FSL | [https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin6](https://www.bic.mni.mcgill.ca/ServicesAtlases/ICBM152NLin6) | +| MNI152NLin6ASym | A variation of `MNI152NLin6Sym` built by A. Janke that is released as the _MNI template_ of FSL. Volumetric templates included with [HCP-Pipelines](https://github.com/Washington-University/HCPpipelines/tree/master/global/templates) correspond to this template too. | HCP-Pipelines | [doi:10.1016/j.neuroimage.2012.01.024](https://doi.org/10.1016/j.neuroimage.2012.01.024) | +| MNI305 | Also known as avg305. | | | +| NIHPD | Pediatric templates generated from the NIHPD sample. Available for different age groups (4.5–18.5 y.o., 4.5–8.5 y.o., 7–11 y.o., 7.5–13.5 y.o., 10–14 y.o., 13–18.5 y.o. This template also comes in either -symmetric or -asymmetric flavor. | | [https://www.bic.mni.mcgill.ca/ServicesAtlases/NIHPD-obj1](https://www.bic.mni.mcgill.ca/ServicesAtlases/NIHPD-obj1) | +| OASIS30AntsOASISAnts | | | [https://figshare.com/articles/dataset/ANTs_ANTsR_Brain_Templates/915436](https://figshare.com/articles/dataset/ANTs_ANTsR_Brain_Templates/915436) | +| OASIS30Atropos | | | [https://mindboggle.info/data.html](https://mindboggle.info/data.html) | +| Talairach | Piecewise linear scaling of the brain is implemented as described in TT88. | | [http://talairach.org/](http://talairach.org/) | +| UNCInfant | Infant Brain Atlases from Neonates to 1- and 2-year-olds. | | [https://www.nitrc.org/projects/pediatricatlas](https://www.nitrc.org/projects/pediatricatlas) | The following template identifiers are retained for backwards compatibility of BIDS implementations. diff --git a/src/appendices/hed.md b/src/appendices/hed.md index abbe092d32..4582356ee5 100644 --- a/src/appendices/hed.md +++ b/src/appendices/hed.md @@ -12,19 +12,19 @@ A HED annotation consists of terms selected from a controlled hierarchical vocabulary (the HED schema). Individual terms are comma-separated and may be grouped using parentheses to indicate association. -See [https://www.hedtags.org/display_hed.html](https://www.hedtags.org/display_hed.html) +See the [HED Schema Browser](https://www.hedtags.org/display_hed.html) to view the HED schema and the -[HED resources](https://www.hed-resources.org) site for additional information. +[HED resources](https://www.hed-resources.org/en/latest/) site for additional information. Starting with HED version 8.0.0, HED allows users to annotate using individual -terms or partial paths in the HED vocabulary (for example `Red` or `Visual-presentation`) +terms or partial paths in the HED vocabulary (for example, `Red` or `Visual-presentation`) rather than the full paths in the HED hierarchy ( `Property/Sensory-property/Sensory-attribute/Visual-attribute/Color/CSS-color/Red-color/Red` or `Property/Sensory-property/Sensory-presentation/Visual-presentation`). HED specific tools MUST treat the short (single term) and long (full path) HED tag forms interchangeably, -converting between the forms when necessary based on the HED schema. +converting between the forms, when necessary, based on the HED schema. Examples of test datasets using the various forms can be found in [hed-examples/datasets](https://github.com/hed-standard/hed-examples/tree/main/datasets) on GitHub. @@ -40,14 +40,14 @@ files in various places in the dataset hierarchy Dataset curators MAY also include additional columns and define their meanings in associated JSON sidecar files (`events.json`). -Example: An excerpt from an `events.tsv` file containing three columns +**Example:** An excerpt from an `events.tsv` file containing three columns (`trial_type`, `response_time`, and `stim_file`) in addition to the required `onset` and `duration` columns. ```Text onset duration trial_type response_time stim_file 1.2 0.6 go 1.435 images/red_square.jpg -5.6 0.6 stop 1.739 images/blue_square.jpg +5.6 0.6 stop n/a images/blue_square.jpg ``` The `trial_type` column in the above example contains a limited number of distinct @@ -66,13 +66,13 @@ The HED annotation for a value column must include a `#` placeholder, which dedicated HED tools MUST replace by the actual column value when the annotations are assembled for analysis. -Example: An accompanying `events.json` sidecar describing both categorical and +**Example:** An accompanying `events.json` sidecar describing both categorical and value columns of the previous example. The `duration` column is also annotated as a value column. ```JSON { - "Duration": { + "duration": { "LongName": "Image duration", "Description": "Duration of the image presentations", "Units": "s", @@ -82,12 +82,12 @@ The `duration` column is also annotated as a value column. "LongName": "Event category", "Description": "Indicator of type of action that is expected", "Levels": { - "go": "A blue square is displayed to indicate starting", - "stop": "A red square is displayed to indicate stopping" + "go": "A red square is displayed to indicate starting", + "stop": "A blue square is displayed to indicate stopping" }, "HED": { - "go": "Sensory-event, Visual-presentation, (Square, Blue)", - "stop": "Sensory-event, Visual-presentation, (Square, Red)" + "go": "Sensory-event, Visual-presentation, (Square, Red)", + "stop": "Sensory-event, Visual-presentation, (Square, Blue)" } }, "response_time": { @@ -106,18 +106,20 @@ The `duration` column is also annotated as a value column. Dedicated HED tools MUST assemble the HED annotation for each event (row) by concatenating the annotations for each column, along with the annotation contained directly in a `HED` column -of that row as described in the next section. +of that row, as described in the next section. -Example: The fully assembled annotation for the first event in the above +**Example:** The fully assembled annotation for the first event in the above `events.tsv` file with onset `1.2` (the first row) is: ```Text -Duration/0.6 s, Sensory-event, Visual-presentation, (Square, Blue), -(Delay/1.435 ms, Agent-action, (Experiment-participant, (Press, Mouse-button))), +Duration/0.6 s, Sensory-event, Visual-presentation, +((Square, Red), (Computer-screen, Center-of)), +(Delay/1.435 ms, Agent-action, (Experiment-participant, +(Press, Mouse-button))), Pathname/images/red_square.jpg ``` -## Annotation using the `HED` column +### Annotation using the `HED` column Another tagging strategy is to annotate individual events directly by including a `HED` column in the `events.tsv` file. @@ -138,7 +140,7 @@ event annotations. Annotations placed in sidecars are the RECOMMENDED way to annotate data using HED. These annotations are preferred to those placed -directly in the `HED` column, because they are simpler, more compact, +directly in the `HED` column because they are simpler, more compact, more easily edited, and less prone to inconsistencies. ## HED and the BIDS inheritance principle @@ -162,11 +164,11 @@ The HED vocabulary is specified by a HED schema, which delineates the allowed HED path strings. The version of HED used in tagging a dataset should be provided in the `HEDVersion` field of the `dataset_description.json` file located in the dataset root directory. -This allows for a proper validation of the HED annotations -(for example using the `bids-validator`). +This allows for properly validating the HED annotations +(for example, using the `bids-validator`). -Example: The following `dataset_description.json` file specifies that the -[`HED8.1.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) +**Example:** The following `dataset_description.json` file specifies that the +[`HED8.2.0.xml`](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml) file from the `standard_schema/hedxml` directory of the [`hed-schemas`](https://github.com/hed-standard/hed-schemas) repository on GitHub should be used to validate the study event annotations. @@ -174,29 +176,49 @@ repository on GitHub should be used to validate the study event annotations. ```JSON { "Name": "A great experiment", - "BIDSVersion": "1.7.0", - "HEDVersion": "8.1.0" + "BIDSVersion": "1.8.0", + "HEDVersion": "8.2.0" } ``` -If you omit the `HEDVersion` field from the dataset description file, -a warning will be generated and -any present HED information will be validated using the latest version of the HED schema. -This is bound to result in problems, and hence, it is strongly RECOMMENDED that the -`HEDVersion` field be included when using HED in a BIDS dataset. +The BIDS validator will generate an error if your dataset uses HED +and the `HEDVersion` field is missing from the dataset description file. +To avoid this, include a `HEDVersion` field in the `dataset_description.json` +if you are using HED annotations. ### Using HED library schemas -HED also allows you to use one or more specialized vocabularies along with or instead of -the standard vocabulary. These specialized vocabularies are developed by -communities of users and are available in the GitHub -[hed-schemas](https://github.com/hed-standard/hed-schemas) repository. -Library schema are specified in the form `library-version>`. - -Example: The following `dataset_description.json` file specifies that the +HED also allows you to use one or more specialized vocabularies +along with or instead of the standard vocabulary. +These specialized vocabularies are developed by communities of users +and are available in the +[hed-schemas](https://github.com/hed-standard/hed-schemas) GitHub repository. +A library schema is specified in the form `library-version>`. + +#### Partnered library schemas + +A partnered schema is one whose vocabulary trees are merged with +its standard schema partner when the schema is released. +Thus, the two vocabularies appear as one vocabulary to the annotator. +Partnered library schemas were introduced in HED specification version 3.2.0 +and are supported by HED standard schema versions ≥ 8.2.0. +Each partnered library schema is tied to a specific version of +the HED standard schema as specified in its header. +A given library schema version is either partnered or standalone. + +**Note:** Whether a particular library schema version is partnered or +unpartnered is fixed when the library is released and cannot be changed. +For example, +[HED-SCORE version 1.0.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.0.0.mediawiki) +is unpartnered, but [HED-SCORE version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) +is partnered with standard schema version 8.2.0. + +##### Unpartnered library schema example + +The following `dataset_description.json` file specifies that the [HED8.1.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.1.0.xml) -standard schema should be used along with the -SCORE library for clinical neurological annotation located at +standard schema should be used along with the HED-SCORE library schema +for clinical neurological annotation located at [HED_score_1.0.0.xml](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedxml/HED_score_1.0.0.xml). ```JSON @@ -206,22 +228,24 @@ SCORE library for clinical neurological annotation located at "HEDVersion": ["8.1.0", "sc:score_1.0.0"] } ``` -The `sc:` is a user-chosen prefixes used to distinguish the sources +The `sc:` is a user-chosen prefix used to distinguish the source schemas of the terms in the HED annotation. The prefixes MUST be alphanumeric. Any number of prefixed schemas may be used in addition to a non-prefixed one. The following HED annotation from this dataset uses the `sc:` prefix with -`Photomyogenic-response` and `Wicket-spikes` because these terms are from the -SCORE library, while `Data-feature` is from the standard HED schema. +`Eye-blink-artifact` and `Seizure-PNES` because these terms are from the +HED-SCORE library schema, while `Data-feature` is from the standard HED schema. ```Text -Data-feature, sc:Photomyogenic-response, sc:Wicket-spikes +Data-feature, sc:Eye-blink-artifact, sc:Seizure-PNES ``` -If only one schema is being used for annotation, the prefix can be omitted entirely. -The following `dataset_description.json` indicates that only the SCORE library version -0.0.1 will be used for HED annotation in this dataset. +##### Single unpartnered library schema example + +If only one schema is used for annotation, the prefix can be omitted entirely. +The following `dataset_description.json` indicates that only the HED-SCORE library schema version +1.0.0 will be used for HED annotation in this dataset. ```JSON { @@ -231,8 +255,31 @@ The following `dataset_description.json` indicates that only the SCORE library v } ``` -The corresponding notations in the dataset do not have a prefix: +The corresponding annotations in the dataset do not have a prefix: + +```Text +Eye-blink-artifact, Seizure-PNES +``` + +##### Partnered library schema example + +The following `dataset_description.json` file specifies that +the HED-SCORE library schema +[version 1.1.0](https://github.com/hed-standard/hed-schemas/blob/main/library_schemas/score/hedwiki/HED_score_1.1.0.mediawiki) is used. +This particular library schema version is partnered with the standard schema version +[8.2.0](https://github.com/hed-standard/hed-schemas/blob/main/standard_schema/hedxml/HED8.2.0.xml). + +```JSON +{ + "Name": "A great experiment", + "BIDSVersion": "1.8.0", + "HEDVersion": "score_1.1.0" +} +``` +The corresponding annotations in the dataset use tags from the +HED-SCORE library schema (`Eye-blink-artifact` and `Seizure-PNES`) and from the standard HED (`Data-feature`) +as follows: ```Text -Photomyogenic-response, Wicket-spikes +Data-feature, Eye-blink-artifact, Seizure-PNES ``` diff --git a/src/appendices/meg-file-formats.md b/src/appendices/meg-file-formats.md index c6f8649064..6b3730a543 100644 --- a/src/appendices/meg-file-formats.md +++ b/src/appendices/meg-file-formats.md @@ -57,8 +57,8 @@ A guide for using macros can be found at } ) }} -To learn more about CTF’s data organization: -[https://www.fieldtriptoolbox.org/getting_started/ctf](https://www.fieldtriptoolbox.org/getting_started/ctf) +To learn more about CTF’s data organization +on the relevant [FieldTrip webpage](https://www.fieldtriptoolbox.org/getting_started/ctf/) ## Neuromag/Elekta/MEGIN @@ -235,8 +235,8 @@ A guide for using macros can be found at More information can be found under the following links: -- [Neuromag/Elekta/MEGIN data organization](https://www.fieldtriptoolbox.org/getting_started/neuromag) -- [BabyMEG](https://www.fieldtriptoolbox.org/getting_started/babysquid) +- [Neuromag/Elekta/MEGIN data organization](https://www.fieldtriptoolbox.org/getting_started/neuromag/) +- [BabyMEG](https://www.fieldtriptoolbox.org/getting_started/babysquid/) ### Recording dates in `.fif` files @@ -301,8 +301,8 @@ A guide for using macros can be found at } ) }} -More about the 4D neuroimaging/BTi data organization at: -[https://www.fieldtriptoolbox.org/getting_started/bti](https://www.fieldtriptoolbox.org/getting_started/bti) +More about the 4D neuroimaging/BTi data organization +on the relevant [FieldTrip webpage](https://www.fieldtriptoolbox.org/getting_started/bti/) ## KIT/Yokogawa/Ricoh @@ -355,8 +355,8 @@ While the acquisition entity can take any value, it is RECOMMENDED that if the two marker measurements occur before and after the raw data acquisition, `pre` and `post` are used to differentiate the two situations. -More about the KIT/Yokogawa/Ricoh data organization at: -[https://www.fieldtriptoolbox.org/getting_started/yokogawa](https://www.fieldtriptoolbox.org/getting_started/yokogawa) +More about the KIT/Yokogawa/Ricoh data organization +on the relevant [FieldTrip webpage](https://www.fieldtriptoolbox.org/getting_started/yokogawa/) ## KRISS diff --git a/src/appendices/meg-systems.md b/src/appendices/meg-systems.md index ef5bd613d1..189d0ead31 100644 --- a/src/appendices/meg-systems.md +++ b/src/appendices/meg-systems.md @@ -20,7 +20,7 @@ Restricted keywords for ManufacturersModelName field in the `*_meg.json` file: | CTF-275 | CTF | CTF-275: OMEGA 2000 | | Neuromag-122 | Neuromag/Elekta/Megin | | | ElektaVectorview | Neuromag/Elekta/Megin | 102 magnetometers + 204 planar gradiometers | -| ElektaTRIUX | Neuromag/Elekta/Megin | [https://www.elekta.com/diagnostic-solutions/](https://www.elekta.com/diagnostic-solutions/) | +| ElektaTRIUX | Neuromag/Elekta/Megin | [https://www.elekta.com/products/neurosurgery/](https://www.elekta.com/products/neurosurgery/) | | 4D-Magnes-WH2500 | BTi/4D | | | 4D-Magnes-WH3600 | BTi/4D | | | KIT-157 | KIT/Yokogawa | | diff --git a/src/appendices/qmri.md b/src/appendices/qmri.md index d174bd6421..162ba798cd 100644 --- a/src/appendices/qmri.md +++ b/src/appendices/qmri.md @@ -29,7 +29,7 @@ There are two main ways to obtain a quantitative map: [hMRI toolbox](https://github.com/hMRI-group/hMRI-toolbox), [mrQ](https://github.com/mezera/mrQ), [PyQMRI](https://github.com/IMTtugraz/PyQMRI), - [qmap](https://www.medphysics.wisc.edu/~samsonov/qmap/doc/qmap.html), + [qmap](https://web.archive.org/web/20220201201633/https://www.medphysics.wisc.edu/~samsonov/qmap/doc/qmap.html), [qMRLab](https://github.com/qmrlab/qmrlab), and [QUIT](https://github.com/spinicist/QUIT). diff --git a/src/appendices/schema.md b/src/appendices/schema.md new file mode 100644 index 0000000000..1616a6d5c9 --- /dev/null +++ b/src/appendices/schema.md @@ -0,0 +1,19 @@ +# BIDS schema + +The BIDS schema is a machine readable representation of the BIDS standard, +written in a custom YAML format. +The goal of the schema is to provide a single source for rendering the specification +and validating BIDS datasets, reducing the scope for inconsistencies. +Third party tools may also use the schema to write code that will adapt to additions +to the BIDS standard. + +The BIDS schema is available in two machine readable formats: + +- as a set of [YAML](https://en.wikipedia.org/wiki/YAML) files in the [BIDS specification repository](https://github.com/bids-standard/bids-specification/src/schema) +- as a [single dereferenced json file](https://bids-specification.readthedocs.io/en/stable/schema.json) + +A didactic walkthrough of the schema can be found in the [BEP Guide](https://bids-extensions.readthedocs.io/en/latest/schema/), +and a complete description is available in the [`bidsschematools` documentation](https://bidsschematools.readthedocs.io/en/latest/). +[`bidsschematools`](https://pypi.org/project/bidsschematools/) is a Python package sourced +from the specification repository, and includes the necessary code to render the specification +and filename validation. diff --git a/src/common-principles.md b/src/common-principles.md index c268e19203..2dc9905d9a 100644 --- a/src/common-principles.md +++ b/src/common-principles.md @@ -513,6 +513,29 @@ Example: } ``` +Each level can be described with a string as in the example above, +or with an object containing the fields [`Description`](./glossary.md#description-metadata) +and [`TermURL`](./glossary.md#termurl-metadata) +like in the example below. + +```JSON +{ + "sex": { + "Description": "sex of the participant as reported by the participant", + "Levels": { + "M": { + "Description": "Male", + "TermURL": "https://www.ncbi.nlm.nih.gov/mesh/68008297" + }, + "F": { + "Description": "Female", + "TermURL": "https://www.ncbi.nlm.nih.gov/mesh/68005260" + }, + } + } +} +``` + ### Key-value files (dictionaries) JavaScript Object Notation (JSON) files MUST be used for storing key-value diff --git a/src/css/watermark.css b/src/css/watermark.css index ee2d56ab03..2e5bb52bec 100644 --- a/src/css/watermark.css +++ b/src/css/watermark.css @@ -10,9 +10,16 @@ } .md-main__inner { - background-image: url(../images/draft_watermark.png); background-repeat: no-repeat; background-attachment: fixed; background-size: contain, cover; background-position: center; } + +[data-md-color-scheme=default] .md-main__inner { + background-image: url(../images/draft_watermark.png); +} + +[data-md-color-scheme=slate] .md-main__inner { + background-image: url(../images/draft_watermark_dark.png); +} diff --git a/src/derivatives/imaging.md b/src/derivatives/imaging.md index b802d6c309..aea21dbaad 100644 --- a/src/derivatives/imaging.md +++ b/src/derivatives/imaging.md @@ -153,10 +153,9 @@ Template: A binary (1 - inside, 0 - outside) mask in the space defined by the [`space` entity](../appendices/entities.md#space). If no transformation has taken place, the value of `space` SHOULD be set to `orig`. -If the mask is an ROI mask derived from an atlas, then the [`label` entity](../appendices/entities.md#label)) SHOULD -be used to specify the masked structure -(see [Common image-derived labels](#common-image-derived-labels)), -and the `Atlas` metadata SHOULD be defined. +If the mask is an ROI mask derived from an atlas segmentation, +then the [`label` entity](../appendices/entities.md#label) SHOULD be used to specify the masked structure +(see [Common image-derived labels](#common-image-derived-labels)). JSON metadata fields: @@ -170,7 +169,6 @@ A guide for using macros can be found at --> {{ MACROS___make_sidecar_table([ "derivatives.common_derivatives.MaskDerivatives", - "derivatives.common_derivatives.MaskDerivativesAtlas", "derivatives.common_derivatives.ImageDerivativeResEntity", "derivatives.common_derivatives.ImageDerivativeDenEntity", ]) }} @@ -229,10 +227,10 @@ structure may be concatenated in a single file. Segmentations may be defined in a volume (labeled voxels), a surface (labeled vertices) or a combined volume/surface space. -If the segmentation can be derived from different atlases, -the [`atlas` entity](../appendices/entities.md#atlas) MAY be used to -distinguish the different segmentations. -If so, the `Atlas` metadata SHOULD also be defined. +If the segmentation can be generated in different ways, +for example, following an atlas segmentation, +the [`seg` entity](../appendices/entities.md#segmentation) MAY be used to +distinguish the name of the segmentation used. The following section describes discrete and probabilistic segmentations of volumes, followed by discrete segmentations of surface/combined spaces. @@ -250,7 +248,6 @@ A guide for using macros can be found at --> {{ MACROS___make_sidecar_table([ "derivatives.common_derivatives.SegmentationCommon", - "derivatives.common_derivatives.SegmentationCommonAtlas", "derivatives.common_derivatives.ImageDerivativeResEntity", "derivatives.common_derivatives.ImageDerivativeDenEntity", ]) }} @@ -268,7 +265,7 @@ Template: / sub-