From 96d2e4ca7a2fc9050b1318c2138509588503c03a Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 13 Jan 2025 21:33:57 +0000 Subject: [PATCH 1/9] [pre-commit.ci] pre-commit autoupdate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/python-jsonschema/check-jsonschema: 0.30.0 → 0.31.0](https://github.com/python-jsonschema/check-jsonschema/compare/0.30.0...0.31.0) --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4a14492abd..f74b89a3b4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,7 +17,7 @@ repos: - id: check-added-large-files - id: check-case-conflict - repo: https://github.com/python-jsonschema/check-jsonschema - rev: 0.30.0 + rev: 0.31.0 hooks: - id: check-dependabot - id: check-github-workflows From df7a89f8051d822c123474834a507e1016780a7e Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 15 Jan 2025 21:53:16 -0500 Subject: [PATCH 2/9] Ignore www.incf.org link check.. unlikely to go away (hopefully) Currently check fails URL `https://www.incf.org/' Name `INCF' Parent URL file:///home/circleci/project/site/introduction.html, line 1795, col 2 Real URL https://www.incf.org/ Check time 0.084 seconds Result Error: SSLError: HTTPSConnectionPool(host='www.incf.org', port=443): Max retries exceeded with url: / (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certifica... possibly due to outdated collection of root certificates in the env where testing? dunno, but we better address it since it brings overall CI to red quite often, causing fatigue and increasing likeliness to skip important issues. --- .circleci/config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 63f1dd4ce8..6be476ce5c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -60,6 +60,7 @@ jobs: --ignore-url 'https://github.com/[^/]*' \ --ignore-url 'https://doi.org/.*' \ --ignore-url 'https://bids-specification.readthedocs.io/en/stable/.*' \ + --ignore-url 'https://www.incf.org' \ ~/project/site/*html ~/project/site/*/*.html else echo "Release PR - do nothing" From 619f48b4c9748e85257e06a2b7e3e5ebe7ba3f6f Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Wed, 15 Jan 2025 21:57:55 -0500 Subject: [PATCH 3/9] Sort URLs in ignore-url options for linkchecker Would be easier to find one, and to add one without thinking much where etc --- .circleci/config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6be476ce5c..53dac2879d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -55,11 +55,11 @@ jobs: # failures for local file:/// -- yoh found no better way, linkchecker -t 1 --check-extern \ --ignore-url 'file:///.*' \ + --ignore-url 'https://bids-specification.readthedocs.io/en/stable/.*' \ + --ignore-url 'https://doi.org/.*' \ --ignore-url 'https://fonts.gstatic.com' \ - --ignore-url 'https://github.com/bids-standard/bids-specification/(pull|tree)/.*' \ --ignore-url 'https://github.com/[^/]*' \ - --ignore-url 'https://doi.org/.*' \ - --ignore-url 'https://bids-specification.readthedocs.io/en/stable/.*' \ + --ignore-url 'https://github.com/bids-standard/bids-specification/(pull|tree)/.*' \ --ignore-url 'https://www.incf.org' \ ~/project/site/*html ~/project/site/*/*.html else From 420faad409e98f46566d0a848ce30dfa02f6661a Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Tue, 21 Jan 2025 22:42:45 +0100 Subject: [PATCH 4/9] fix some remark warnings (#2026) --- src/common-principles.md | 9 ++++++--- src/introduction.md | 10 +++++----- src/longitudinal-and-multi-site-studies.md | 1 - src/modality-agnostic-files.md | 6 ------ 4 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/common-principles.md b/src/common-principles.md index 9c2ff6c9f1..102cac6c89 100644 --- a/src/common-principles.md +++ b/src/common-principles.md @@ -15,9 +15,9 @@ REQUIRED, RECOMMENDED, and OPTIONAL. The guiding principles for when particular data is placed under a given requirement level can be loosely described as below: -* REQUIRED: Data cannot be be interpreted without this information (or the ambiguity is unacceptably high) -* RECOMMENDED: Interpretation/utility would be dramatically improved with this information -* OPTIONAL: Users and/or tools might find it useful to have this information +- REQUIRED: Data cannot be be interpreted without this information (or the ambiguity is unacceptably high) +- RECOMMENDED: Interpretation/utility would be dramatically improved with this information +- OPTIONAL: Users and/or tools might find it useful to have this information Throughout this specification we use a list of terms and abbreviations. To avoid misunderstanding we clarify them here. @@ -484,6 +484,7 @@ with two exceptions: 1. [compressed tabular files](#compressed-tabular-files), for which column names are defined in a sidecar metadata [JSON object](https://www.json.org/json-en.html) described below; and + 1. [motion recording data](modality-specific-files/motion.md), which use plain-text TSV and columns are defined as described in its corresponding section of the specifications. @@ -606,8 +607,10 @@ Rules for formatting plain-text tabular files apply to TSVGZ files with three ex 1. The contents of TSVGZ files MUST be compressed with [gzip](https://datatracker.ietf.org/doc/html/rfc1952). + 1. Compressed tabular files MUST NOT contain a header in the first row indicating the column names. + 1. TSVGZ files MUST have an associated JSON file that defines the columns in the tabular file. !!! warning "Attention" diff --git a/src/introduction.md b/src/introduction.md index a07b654b2c..c997350f42 100644 --- a/src/introduction.md +++ b/src/introduction.md @@ -178,11 +178,11 @@ For example: #### Motion -- Jeung, S., Cockx, H., Appelhoff, S., Berg, T., Gramann, K., Grothkopp, S., Warmerdam, E., Hansen, C., - Oostenveld, R., BIDS maintainers, Welzel, J. (2023). - **Motion-BIDS: extending the Brain Imaging Data Structure specification to organize motion data for reproducible research**. - PsyArXiv. - [doi:10.31234/osf.io/w6z79](https://doi.org/10.31234/osf.io/w6z79) +- Jeung, S., Cockx, H., Appelhoff, S., Berg, T., Gramann, K., Grothkopp, S., Warmerdam, E., Hansen, C., + Oostenveld, R., BIDS maintainers, Welzel, J. (2023). + **Motion-BIDS: extending the Brain Imaging Data Structure specification to organize motion data for reproducible research**. + PsyArXiv. + [doi:10.31234/osf.io/w6z79](https://doi.org/10.31234/osf.io/w6z79) #### MRS diff --git a/src/longitudinal-and-multi-site-studies.md b/src/longitudinal-and-multi-site-studies.md index 48960366ef..6fe102cb1a 100644 --- a/src/longitudinal-and-multi-site-studies.md +++ b/src/longitudinal-and-multi-site-studies.md @@ -95,7 +95,6 @@ Apps and everything should just work. Alternatively you can combine data from all sites into one dataset. This can be done in two ways: - #### Option 2.a: Collate sites at subject level To identify which site each subjects comes from you can add a `site` column in the diff --git a/src/modality-agnostic-files.md b/src/modality-agnostic-files.md index b88c264856..93b7eccac7 100644 --- a/src/modality-agnostic-files.md +++ b/src/modality-agnostic-files.md @@ -545,9 +545,3 @@ code organization of these scripts at the moment. [bids uris]: ./common-principles.md#bids-uri - -[object]: https://www.json.org/json-en.html - -[string]: https://www.w3schools.com/js/js_json_datatypes.asp - -[uri]: ./common-principles.md#uniform-resource-indicator From 229d9f8f2c4f077c288778e5e3ad38d522442586 Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Tue, 21 Jan 2025 16:43:55 -0500 Subject: [PATCH 5/9] [FIX] Run codespell 2.4.0 throughout fixing few left typos automagically (#2033) * codespell: ignore HEP and venvs folder * run codespell throughout fixing few left typos automagically Those were detected with codespell 2.4.0 and indeed we had inconsistencies on GB vs US forms for "localization" so it is harmonized now. * Update .codespellrc Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> --------- Co-authored-by: Chris Markiewicz Co-authored-by: Dimitri Papadopoulos Orfanos <3234522+DimitriPapadopoulos@users.noreply.github.com> --- .codespellrc | 5 +++-- src/schema/README.md | 2 +- src/schema/objects/metadata.yaml | 6 +++--- tools/schemacode/src/bidsschematools/validator.py | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.codespellrc b/.codespellrc index 22cd48ca96..9a3c973eab 100644 --- a/.codespellrc +++ b/.codespellrc @@ -1,6 +1,7 @@ [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,manuel +skip = *.js,*.svg,*.eps,.git,node_modules,env,venv,.mypy_cache,package-lock.json,CITATION.cff,tools/new_contributors.tsv,./tools/schemacode/docs/build,venvs +ignore-regex = \bHEP\b +ignore-words-list = acknowledgements,als,bu,fo,te,weill,winn 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/src/schema/README.md b/src/schema/README.md index 5e32f71eec..dbf8fb4ec7 100644 --- a/src/schema/README.md +++ b/src/schema/README.md @@ -439,7 +439,7 @@ arrays or objects: | `properties` | The object described has a given set of fields; the values of these fields may be constrained | | `additionalProperties` | The object described has constraints on its values, but not the names | -### On re-used objects with different definitions +### On reused objects with different definitions In a few cases, two objects with the same name appear multiple times in the specification. When this happens, it is preferred to find a common definition, and clarify it in the rules (see below). diff --git a/src/schema/objects/metadata.yaml b/src/schema/objects/metadata.yaml index 5ed86c5dc6..95c3de9101 100644 --- a/src/schema/objects/metadata.yaml +++ b/src/schema/objects/metadata.yaml @@ -523,7 +523,7 @@ ContinuousHeadLocalization: name: ContinuousHeadLocalization display_name: Continuous Head Localization description: | - `true` or `false` value indicating whether continuous head localisation + `true` or `false` value indicating whether continuous head localization was performed. type: boolean ContrastBolusIngredient: @@ -1472,7 +1472,7 @@ HeadCoilFrequency: name: HeadCoilFrequency display_name: Head Coil Frequency description: | - List of frequencies (in Hz) used by the head localisation coils + List of frequencies (in Hz) used by the head localization coils ('HLC' in CTF systems, 'HPI' in Neuromag/Elekta/MEGIN, 'COH' in BTi/4D) that track the subject's head position in the MEG helmet (for example, `[293, 307, 314, 321]`). @@ -2133,7 +2133,7 @@ MaxMovement: display_name: Max Movement description: | Maximum head movement (in mm) detected during the recording, - as measured by the head localisation coils (for example, `4.8`). + as measured by the head localization coils (for example, `4.8`). type: number unit: mm MeasurementToolMetadata: diff --git a/tools/schemacode/src/bidsschematools/validator.py b/tools/schemacode/src/bidsschematools/validator.py index bd5eba0ad4..3d63cb88a4 100644 --- a/tools/schemacode/src/bidsschematools/validator.py +++ b/tools/schemacode/src/bidsschematools/validator.py @@ -334,7 +334,7 @@ def select_schema_path( Notes ----- - * This is a purely aspirational function, and is pre-empted by logic inside + * This is a purely aspirational function, and is preempted by logic inside `bst.validator.validate_bids()`, and further contingent on better schema stability and ongoing work in: https://github.com/bids-standard/bids-schema * The default `bids_reference_root` value is based on the FHS and ideally should be enforced. From f0e14a2a336e8fdf97736f71162adec81f8b717a Mon Sep 17 00:00:00 2001 From: Mathieu Guay-Paquet Date: Tue, 21 Jan 2025 16:53:08 -0500 Subject: [PATCH 6/9] Update zenodo DOI from 3686061 to 10175845 (#2031) The DOI 10.5281/zenodo.3686061 only covers versions <= 1.8.0. For versions >= 1.9.0, the correct record is 10.5281/zenodo.10175845. --- README.md | 2 +- src/common-principles.md | 2 +- src/index.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9ea89b0cd6..de8ff2b79e 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ ![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCxZUcYfd_nvIVWAbzRB1tlw) [![Mastodon Follow](https://img.shields.io/mastodon/follow/109520103085644521?domain=https%3A%2F%2Ffosstodon.org%2F)](https://fosstodon.org/@bidsstandard) [![@BIDSstandard](https://img.shields.io/twitter/follow/bidsstandard.svg?style=social)](https://x.com/BIDSstandard) -[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.3686061.svg)](https://doi.org/10.5281/zenodo.3686061) +[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.10175845.svg)](https://doi.org/10.5281/zenodo.10175845) bids-logo bids-logo diff --git a/src/common-principles.md b/src/common-principles.md index 102cac6c89..140990a63f 100644 --- a/src/common-principles.md +++ b/src/common-principles.md @@ -892,7 +892,7 @@ have the form `:[//][?][#]`, as specif in [RFC 3986](https://tools.ietf.org/html/rfc3986). This applies to URLs and other common URIs, including Digital Object Identifiers (DOIs), which may be fully specified as `doi:`, -for example, [doi:10.5281/zenodo.3686061](https://doi.org/10.5281/zenodo.3686061). +for example, [doi:10.5281/zenodo.10175845](https://doi.org/10.5281/zenodo.10175845). A given resource may have multiple URIs. When selecting URIs to add to dataset metadata, it is important to consider specificity and persistence. diff --git a/src/index.md b/src/index.md index ade6162157..19d3d30d3b 100644 --- a/src/index.md +++ b/src/index.md @@ -14,4 +14,4 @@ own datasets to match the BIDS specification, we recommend exploring the Alternatively, to get started please read [the introduction to the specification](introduction.md). For an overview of the BIDS ecosystem, visit the [BIDS homepage](https://bids.neuroimaging.io). -The entire specification can also be [downloaded as PDF](https://doi.org/10.5281/zenodo.3686061). +The entire specification can also be [downloaded as PDF](https://doi.org/10.5281/zenodo.10175845). From 6a6b51a5e292f62ac1ebbb7e392e201d5a6bc68e Mon Sep 17 00:00:00 2001 From: Yaroslav Halchenko Date: Mon, 27 Jan 2025 10:52:38 -0500 Subject: [PATCH 7/9] Point to page with BEPs in README for "more to come in the future" (#2035) This might ease people finding ongoing efforts --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index de8ff2b79e..ad618388d2 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,8 @@ In this repository, we develop the To organize your data in BIDS, all you need is neuro data, a computer, and the [BIDS specification](https://bids-specification.readthedocs.io/en/stable/). -BIDS currently supports the following data modalities with more to come in the future: +BIDS currently supports the following data modalities with +[more to come in the future](https://bids.neuroimaging.io/get_involved.html#extending-the-bids-specification): - MRI - MEG From 9e34d5c530d43b26fa096d837191ae02c666d6f1 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 28 Jan 2025 09:38:29 -0500 Subject: [PATCH 8/9] [pre-commit.ci] pre-commit autoupdate (#2037) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit updates: - [github.com/codespell-project/codespell: v2.3.0 → v2.4.0](https://github.com/codespell-project/codespell/compare/v2.3.0...v2.4.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f74b89a3b4..48a0c9d0f1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -69,7 +69,7 @@ repos: - id: pretty-format-toml args: [--autofix, --indent, '4', --no-sort] - repo: https://github.com/codespell-project/codespell - rev: v2.3.0 + rev: v2.4.0 hooks: - id: codespell args: ["--config=.codespellrc", "--dictionary=-", "--dictionary=.codespell_dict"] From a2a491d21e02b5be7bf174fb075cc361ab76347c Mon Sep 17 00:00:00 2001 From: "Christopher J. Markiewicz" Date: Thu, 30 Jan 2025 07:01:55 -0800 Subject: [PATCH 9/9] sty: Black --- tools/schemacode/src/bidsschematools/expressions.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/schemacode/src/bidsschematools/expressions.py b/tools/schemacode/src/bidsschematools/expressions.py index 3c22673095..969953bc74 100644 --- a/tools/schemacode/src/bidsschematools/expressions.py +++ b/tools/schemacode/src/bidsschematools/expressions.py @@ -1,5 +1,4 @@ -"""Parsing utilities for BIDS Schema expression language -""" +"""Parsing utilities for BIDS Schema expression language""" from functools import partial