bids-validator

Validator for the Brain Imaging Data Structure

https://github.com/bids-standard/bids-validator

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    14 of 76 committers (18.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary

Keywords

bids data-standards neuroimaging-data validation

Keywords from Contributors

neuroimaging standards brain-imaging fmri eeg mri neuroscience brainweb closember quality-control
Last synced: 6 months ago · JSON representation ·

Repository

Validator for the Brain Imaging Data Structure

Basic Info
Statistics
  • Stars: 17
  • Watchers: 11
  • Forks: 14
  • Open Issues: 91
  • Releases: 12
Topics
bids data-standards neuroimaging-data validation
Created over 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

Deno build Web validator Documentation Status DOI

The BIDS Validator

The BIDS Validator is a web application, command-line utility, and Javascript/Typescript library for assessing compliance with the Brain Imaging Data Structure (BIDS) standard.

Getting Started

In most cases, the simplest way to use the validator is to browse to the BIDS Validator web page:

The web interface to the BIDS Validator with the "Select Dataset Files" button highlighted.
(Dark theme) The web interface to the BIDS Validator with the "Select Dataset Files" button highlighted.
(Light theme)

The web validator runs in-browser, and does not transfer data to any remote server.

In some contexts, such as when working on a remote server, it may be easier to use the command-line. The BIDS Validator can be run with the Deno runtime (see Deno - Installation for detailed installation instructions):

shell deno run -ERWN jsr:@bids/validator

Deno by default sandboxes applications like a web browser. -E, -R, -W, and -N allow the validator to read environment variables, read/write local files, and read network locations.

A pre-compiled binary is published to PyPI and may be installed with:

pip install bids-validator-deno bids-validator-deno --help

Configuration file

The schema validator accepts a JSON configuration file that reclassifies issues as warnings, errors or ignored.

json { "ignore": [ { "code": "JSON_KEY_RECOMMENDED", "location": "/T1w.json" } ], "warning": [], "error": [ { "code": "NO_AUTHORS" } ] }

The issues are partial matches of the issues that the validator accumulates. Pass the --json flag to see the issues in detail.

Development tools

From the repository root, use ./local-run to run with all permissions enabled by default:

```shell

Run from within the /bids-validator directory

cd bids-validator

Run validator:

./local-run path/to/dataset ```

Schema validator test suite

```shell

Run tests:

deno test --allow-env --allow-read --allow-write src/ ```

This test suite includes running expected output from bids-examples and may throw some expected failures for bids-examples datasets where either the schema or validator are misaligned with the example dataset while under development.

Modifying and building a new schema

To modify the schema a clone of bids-standard/bids-specification will need to be made. README and schema itself live here https://github.com/bids-standard/bids-specification/tree/master/src/schema.

After changes to the schema have been made to a local copy the dereferenced single json file used by the validator will need to be built. The bidsschematools python package does this. It can be installed from pypi via pip or a local installation can be made. It lives in the specification repository here https://github.com/bids-standard/bids-specification/tree/master/tools/schemacode

The command to compile a dereferenced schema is bst -v export --schema src/schema --output src/schema.json (this assumes you are in the root of the bids-specification repo). Once compiled it can be passed to the validator via the -s flag, ./bids-validator-deno -s <path to schema> <path to dataset>

Documentation

The BIDS validator documentation is available on Read the Docs.

Owner

  • Name: Brain Imaging Data Structure
  • Login: bids-standard
  • Kind: organization

Citation (CITATION.cff)

# schema: https://github.com/citation-file-format/citation-file-format/blob/main/schema-guide.md

cff-version: 1.2.0

title: bids-validator

license: MIT

type: software

repository-code: https://github.com/bids-standard/bids-validator

message: The bids-validator is a software tool to check neuroimaging datasets for adherence to the Brain Imaging Data Structure (BIDS) format. More information about BIDS can be found at <a href=\"https://bids.neuroimaging.io\">bids.neuroimaging.io</a>.

identifiers:
  - description: Releases on Zenodo
    type: doi
    value: 10.5281/zenodo.3688707

keywords:
  - brain imaging data structure
  - BIDS
  - neuroscience
  - neuroimaging
  - neuroinformatics

authors:
  - family-names: Appelhoff
    given-names: Stefan
    orcid: https://orcid.org/0000-0001-8002-0877
  - family-names: Bhogawar
    given-names: Suyash
    affiliation: Northern California Institute for Research and Education, San Francisco CA
  - family-names: Blair
    given-names: Ross
    orcid: https://orcid.org/0000-0003-3007-1056
    affiliation: Stanford University
  - family-names: Horea
    given-names: Christian
    orcid: https://orcid.org/0000-0001-7037-2449
    affiliation: MIT
  - family-names: Durnez
    given-names: Joke
  - family-names: Feingold
    given-names: Franklin
    orcid: https://orcid.org/0000-0002-6533-2909
  - family-names: Gau
    given-names: Rémi
    orcid: https://orcid.org/0000-0002-1535-9767  
  - family-names: Gorgolewski
    given-names: Krzysztof J.
    orcid: https://orcid.org/0000-0003-3321-7583
    affiliation: Google
  - family-names: Goyal
    given-names: Rohan
  - family-names: Grass
    given-names: Brian
  - family-names: Halchenko
    given-names: Yaroslav O.
    orcid: https://orcid.org/0000-0003-3456-2493
    affiliation: Dartmouth College
  - family-names: Hanke
    given-names: Michael
    orcid: https://orcid.org/0000-0001-6398-6370
    affiliation: Research Center Jülich; Heinrich-Heine University Düsseldorf
  - family-names: Hardcastle
    given-names: Nell
    orcid: https://orcid.org/0000-0002-3837-0707
  - family-names: Hayashi
    given-names: Soichi
    orcid: https://orcid.org/0000-0003-3641-3491
    affiliation: Indiana University
  - family-names: Hobson-Lowther
    given-names: Teal
  - family-names: Holdgraf
    given-names: Chris
    orcid: https://orcid.org/0000-0002-2391-0678
    affiliation: Berkeley Institute for Data Science; University of California at Berkeley
  - family-names: Jas
    given-names: Mainak
    orcid: https://orcid.org/0000-0002-3199-9027
    affiliation: AA Martinos Center for Biomedical Imaging, USA
  - family-names: Jones
    given-names: Alexander
    orcid: https://orcid.org/0000-0003-2067-3862
    affiliation: University of Texas at San Antonio
  - family-names: Kaczmarzyk
    given-names: Jakub
    orcid: https://orcid.org/0000-0002-5544-7577
    affiliation: Stony Brook University School of Medicine
  - family-names: Macleod
    given-names: Duncan
  - family-names: Markiewicz
    given-names: Christopher J.
    orcid: https://orcid.org/0000-0002-6533-164X
    affiliation: Stanford University
  - family-names: Michael
    given-names: Zack
  - family-names: Naveau
    given-names: Mikaël
    orcid: https://orcid.org/0000-0002-4685-0057
    affiliation: CYCERON imaging plateform, Caen, France
  - family-names: Nishikawa
    given-names: David
  - family-names: Noack
    given-names: Gregory
  - family-names: Oostenveld
    given-names: Robert
    orcid: https://orcid.org/0000-0002-1974-1293
    affiliation: Radboud University
  - family-names: Ort
    given-names: Eduard
    orcid: https://orcid.org/0000-0001-5546-3561
    affiliation: Heinrich-Heine University Düsseldorf
  - family-names: Papadopoulos
    given-names: Dimitri
  - family-names: Patterson
    given-names: Dianne
  - family-names: Poldrack
    given-names: Russell
    orcid: https://orcid.org/0000-0001-6755-0259
    affiliation: Stanford University
  - family-names: Riddle
    given-names: Travis
    orcid: https://orcid.org/0000-0001-8160-3986
    affiliation: National Institutes of Health
  - family-names: Salo
    given-names: Taylor
    orcid: https://orcid.org/0000-0001-9813-3167
    affiliation: Florida International University
  - family-names: Sethi
    given-names: Parul
  - family-names: Thomas
    given-names: Adam
  - family-names: Traut
    given-names: Nicolas
    orcid: https://orcid.org/0000-0003-3277-6316
    affiliation: Pasteur Institute
  - family-names: Triplett
    given-names: William
  - family-names: Warren
    given-names: David E.
  - family-names: Wexler
    given-names: Joseph
  - family-names: Zito
    given-names: Matthew
    orcid: https://orcid.org/0000-0003-2704-0742
  - family-names: Zulfikar
    given-names: Wazeer

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 4,218
  • Total Committers: 76
  • Avg Commits per committer: 55.5
  • Development Distribution Score (DDS): 0.795
Past Year
  • Commits: 628
  • Committers: 13
  • Avg Commits per committer: 48.308
  • Development Distribution Score (DDS): 0.432
Top Committers
Name Email Commits
Ross Blair r****r@g****m 865
Chris Markiewicz e****s@g****m 553
Zack Michael z****k@s****m 443
Nell Hardcastle n****l@d****m 424
Krzysztof J. Gorgolewski k****i@g****m 274
Stefan Appelhoff s****f@m****g 262
David Nishikawa d****d@s****m 167
Teal Hobson-Lowther t****l@s****m 160
dependabot[bot] 4****] 144
Alexander Jones h****4@g****m 115
Suyash Bhogawar s****b@g****m 111
Marco Castellaro m****o@g****m 82
depfu[bot] 2****] 54
Mainak Jas m****s@g****m 46
Brian Grass b****n@s****m 37
mnoergaard m****d@n****k 33
Rob Luke c****e@r****t 31
Remi Gau r****u@h****m 30
Etienne Bergeron e****n@p****a 28
Adam Li a****2@g****m 25
Chris Holdgraf c****f@b****u 24
Dimitri Papadopoulos 3****s 22
Rohan Goyal r****7@g****m 21
Patricia Clement 4****e 21
Robert Oostenveld r****d@g****m 20
Yuan Wang w****7@u****a 20
sjeung s****g@g****m 20
Marie-Helene Bourget b****h@g****m 16
Richard Höchenberger r****r@g****m 15
Max m****4@g****m 14
and 46 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 356
  • Total pull requests: 788
  • Average time to close issues: 10 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 84
  • Total pull request authors: 27
  • Average comments per issue: 2.2
  • Average comments per pull request: 1.62
  • Merged pull requests: 663
  • Bot issues: 0
  • Bot pull requests: 205
Past Year
  • Issues: 103
  • Pull requests: 234
  • Average time to close issues: 18 days
  • Average time to close pull requests: 5 days
  • Issue authors: 39
  • Pull request authors: 15
  • Average comments per issue: 1.87
  • Average comments per pull request: 1.15
  • Merged pull requests: 188
  • Bot issues: 0
  • Bot pull requests: 20
Top Authors
Issue Authors
  • yarikoptic (59)
  • effigies (56)
  • rwblair (55)
  • Remi-Gau (27)
  • sappelhoff (16)
  • nellh (10)
  • arnodelorme (8)
  • VisLab (6)
  • monique2208 (6)
  • candleindark (5)
  • dorahermes (4)
  • bpinsard (4)
  • mateuszpawlik (4)
  • bendhouseart (4)
  • oesteban (3)
Pull Request Authors
  • effigies (304)
  • dependabot[bot] (121)
  • rwblair (112)
  • depfu[bot] (84)
  • nellh (73)
  • happy5214 (28)
  • Remi-Gau (13)
  • yarikoptic (10)
  • sappelhoff (9)
  • oesteban (6)
  • mguaypaq (3)
  • chourroutm (2)
  • dominikwelke (2)
  • MarliesG (2)
  • sjeung (2)
Top Labels
Issue Labels
schema (68) enhancement (46) bug (32) legacy (25) impact: low (14) effort: low (13) impact: high (13) effort: medium (12) help wanted (9) question (8) effort: high (5) derivatives (5) web (4) impact: medium (4) infrastructure (3) documentation (3) ui/ux (3) test-case (2) command-line (2) EEG (2) inheritance (2) iEEG (1) MEG (1) upstream (1) tsv files (1) BEP (1) target: dev (1) design (1) good first issue (1) priority: high (1)
Pull Request Labels
dependencies (121) depfu (83) schema (61) javascript (58) submodules (39) github_actions (23) legacy (17) no changelog (8) enhancement (5) impact: high (4) BEP (3) bug (3) python (3) json-schema (2) PET (2) needs review (2) documentation (1)

Packages

  • Total packages: 8
  • Total downloads:
    • pypi 79,830 last-month
    • npm 2,505 last-month
  • Total docker downloads: 89,464
  • Total dependent packages: 18
    (may contain duplicates)
  • Total dependent repositories: 101
    (may contain duplicates)
  • Total versions: 441
  • Total maintainers: 8
pypi.org: bids-validator

Validator for the Brain Imaging Data Structure

  • Versions: 85
  • Dependent Packages: 7
  • Dependent Repositories: 87
  • Downloads: 50,519 Last month
  • Docker Downloads: 28,369
Rankings
Docker downloads count: 1.2%
Dependent repos count: 1.6%
Dependent packages count: 1.6%
Downloads: 1.7%
Average: 2.7%
Forks count: 4.6%
Stargazers count: 5.5%
Maintainers (3)
Last synced: 6 months ago
npmjs.org: bids-validator

[![Node Tests](https://github.com/bids-standard/bids-validator/actions/workflows/node_tests.yml/badge.svg)](https://github.com/bids-standard/bids-validator/actions/workflows/node_tests.yml) [![bids-examples tests](https://github.com/bids-standard/bids-val

  • Versions: 262
  • Dependent Packages: 7
  • Dependent Repositories: 14
  • Downloads: 2,460 Last month
  • Docker Downloads: 61,095
Rankings
Docker downloads count: 0.6%
Downloads: 2.7%
Dependent packages count: 2.7%
Average: 2.8%
Forks count: 3.1%
Dependent repos count: 3.3%
Stargazers count: 4.4%
Maintainers (3)
Last synced: 6 months ago
deno.land: bids_validator

Validator for the Brain Imaging Data Structure

  • Versions: 38
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Average: 5.9%
Dependent packages count: 11.8%
Last synced: 6 months ago
npmjs.org: @squishymedia/bids-validator

[![CircleCI](https://circleci.com/gh/bids-standard/bids-validator.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/bids-standard/bids-validator) [![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/bids-standard/bids-vali

  • Versions: 22
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 24 Last month
Rankings
Forks count: 3.6%
Stargazers count: 5.3%
Average: 13.5%
Dependent packages count: 16.2%
Downloads: 16.9%
Dependent repos count: 25.3%
Maintainers (1)
Last synced: 6 months ago
spack.io: py-bids-validator

Validator for the Brain Imaging Data Structure

  • Versions: 8
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 10.5%
Average: 13.6%
Stargazers count: 15.7%
Dependent packages count: 28.1%
Maintainers (1)
Last synced: 6 months ago
npmjs.org: @squishymedia/bids-validator-debug

[![CircleCI](https://circleci.com/gh/bids-standard/bids-validator.svg?style=shield&circle-token=:circle-token)](https://circleci.com/gh/bids-standard/bids-validator) [![Gitlab pipeline status](https://img.shields.io/gitlab/pipeline/bids-standard/bids-vali

  • Versions: 16
  • Dependent Packages: 1
  • Dependent Repositories: 0
  • Downloads: 21 Last month
Rankings
Forks count: 3.6%
Stargazers count: 5.3%
Average: 14.1%
Dependent packages count: 16.2%
Downloads: 20.0%
Dependent repos count: 25.3%
Maintainers (1)
Last synced: 6 months ago
spack.io: py-bids-validator-deno

Typescript implementation of the BIDS validator.

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Forks count: 24.1%
Average: 26.4%
Stargazers count: 27.2%
Dependent packages count: 54.2%
Last synced: 6 months ago
pypi.org: bids-validator-deno

Typescript implementation of the BIDS validator

  • Versions: 9
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 29,311 Last month
Rankings
Dependent packages count: 9.5%
Average: 31.5%
Dependent repos count: 53.5%
Maintainers (2)
Last synced: 6 months ago

Dependencies

.github/workflows/codespell.yml actions
  • actions/checkout v4 composite
  • codespell-project/actions-codespell master composite
.github/workflows/deno_tests.yml actions
  • actions/checkout v4 composite
  • actions/download-artifact v4 composite
  • actions/upload-artifact v4 composite
  • codecov/codecov-action v4 composite
  • denoland/setup-deno v2 composite
.github/workflows/web_build.yml actions
  • actions/checkout v4 composite
  • actions/deploy-pages v4 composite
  • actions/upload-artifact v4 composite
  • denoland/setup-deno v2 composite
Dockerfile docker
  • ${BASE_IMAGE} latest build
.github/workflows/validation.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
docs/requirements.txt pypi
  • myst_parser *
  • sphinx *
  • sphinx-book-theme *
  • sphinx-copybutton *
  • sphinx-design *