Skip to content

Use-case(s): BIDS-inspired/like standards #62

@yarikoptic

Description

@yarikoptic

Quite often projects do not adopt BIDS due to complexity or not perfect fit, and then establish new a file layout and/or metadata convention/standard while saying they are "BIDS-like". The likeness varies greatly. Quite often it is simply the aspect of having folders and file names with some metadata in them. Those are not worth mentioning here. But there is a good number of BIDS-like standards (in my words - formalized descriptions adopted by a considerable number of people) which are worth reviewing and analyzing for what could minimize divergence between them and current BIDS through possibly introducing missing but reasonable and desired features into BIDS 2.0.

This issue would be used to collect pointers and possibly summarize rationale and major features behind them.

DANDI layout

Established by me and @satra for https://dandiarchive.org, primarily due to complete lack of usable standard/layout at that earlier point in time .

Notable divergences:

PsychDS

https://psych-ds.github.io/ https://github.com/psych-ds/psych-DS (attn @mekline and @bleonar5 - would appreciate details/feedback alike for DANDI here or in a dedicated issue/doc)

  • Overall motivation: Re-use BIDS schema formalization to derive a customized subset of the BIDS standard to simplify domain specific use and adoption.

NeuroBlueprint

https://neuroblueprint.neuroinformatics.dev/latest/specification.html .
Request for summarization of rationale/divergences: neuroinformatics-unit/NeuroBlueprint#51

SPARC Data Structure (SDS)

The SPARC platform has a preprint online that describes a BIDS inspired data structure: https://www.biorxiv.org/content/10.1101/2021.02.10.430563v2. Rough details are also on their wiki.

TemplateFlow

https://www.templateflow.org/usage/archive/#acceptable-data-types

Brain-Development.org Atlas

https://brain-development.org/brain-atlases/atlases-from-the-dhcp-project/cortical-surface-template/ describes itself as "using BIDS conventions", and proceeds to define custom entities and metadata.

NiPoppy

Study-level description which includes bids dataset and uses some conventions (like derivatives/ subfolder with clearer defined naming convention).

CAPS

ClinicA Processed Structure:

When the development of Clinica started in 2015, the BIDS specifications did not provide specific rules for the processed data. As a result, the goal of CAPS (designed by the Aramis Lab) was to define a hierarchy for the data processed using Clinica. The idea is to include in a single folder all the results of the different pipelines and organize the data following the main patterns of the BIDS specification.

Several differences exist between the BIDS and CAPS specifications.

  • Instead of the BIDS derivatives/ folder, the processed data are stored in the CAPS folder.
  • CAPS assumes that the session is always present in a BIDS dataset even though there is a single session. In other words, all datasets are considered longitudinal, even when they have only one session.
  • NIfTI files generated by a Clinica pipeline are always compressed. Compression is recommended by the BIDS specification but not mandatory.

b2ai-voice

@satra pointed to https://docs.b2ai-voice.org/ where BIDS-inspired organization was also used and looked like

└── sub-<participant_id>
    ├── ses-<another_session_id>
    │   ├── beh
    │   │   ├── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_metadata.json
    │   │   └── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_response.json
    │   └── voice
    │       ├── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_audio.wav
    │       ├── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_features.pt
    │       ├── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_metadata.json
    │       └── sub-<participant_id>_ses-<session_id>_task-<task_name>_run-<index>_transcript.txt

much relevant to that particular use-case is the

EBRAINS: Clinical Connectome

No publicly shared (yet) spec. Shared at BIDS meeting: EBRAINS_WP2_New_proposed_Data-Management-Plan_BIDS-like.docx .

TODOs:

  • represent/quantify divergences from BIDS in form of a table. Dimensions/features
    • need for extra entities
    • need for alternative folders hierarchy
      • need for new modalities
    • need for other file formats (there MINC BIDS?)

Mermaid diagram for above

---
config:
  layout: dagre
---
flowchart LR
  OpenfMRI --Inspired--> BIDS-project
  %% & BIDS-stats-models
 
  subgraph BIDS-project

    BIDS 
    BEP028["<a href=https://bids.neuroimaging.io/bep028>BEP028:Prov</a>"] -.->BIDS
    BEP032["<a href=https://bids.neuroimaging.io/bep032>BEP032:Microphys</a>"] -.->BIDS
    PR1972["<a href=https://github.com/bids-standard/bids-specification/pull/1972>#1972: DatasetType=project</a>"] -.->BIDS
    BIDS-stats-models
    BIDS2["<a href=https://github.com/orgs/bids-standard/projects/10>BIDS 2.0</a>"]
    BIDS2 -.make more modular,consistent,flexible.-> BIDS
  end

  BIDS --allowed for--> supplements
  BIDS --inspired--> bids-like
  BIDS --basis for--> bids-schema-based
  %% bids-canna-be -.could converge.-> BIDS

  subgraph bids-like["BIDS-like
  more at <a href=https://github.com/bids-standard/bids-2-devel/issues/62>bids-2-devel/issues/62</a>"]

    DANDI("<a href=https://github.com/dandi/dandi-cli/issues/1498>DANDI</a>")
    DANDI -.->BEP032
    DANDI -.->BIDS2
    NeuroBlueprint("<a href=https://neuroblueprint.neuroinformatics.dev/specification.html>NeuroBlueprint</a>")
    
    SDS("<a href=https://neuroblueprint.neuroinformatics.dev/specification.html>SDS(SPARC)</a>")
    TemplateFlow
    Brain-Development.org-Atlas
    CAPS("<a href=https://aramislab.paris.inria.fr/clinica/docs/public/latest/CAPS/Introduction/>CAPS</a>")
    b2ai-voice("<a href=https://docs.b2ai-voice.org>b2ai-voice</a>")
  end

  subgraph bids-schema-based[Reuse BIDS schema machinery]
    PsychDS[<a href=http://psychds-docs.readthedocs.io/>PsychDS</a>]
  end

  subgraph bids-canna-be
    Nipoppy -.could converge on.->PR1972
  end


  %% TODO: revert arrow back, place 
  %% bids-canna-be --> BIDS
  subgraph supplements["Supplements (BIDS-'valid')
    rely on adding extra metadata"
    ]
    
    subgraph ldbids["Linked BIDS"]
        Neurobagel("<a href=https://neurobagel.org>Neurobagel</a>")
        NIDM-Terms
    end
    converters["dcm2niix,heudiconv"] -.->BEP028
  end

  style OpenfMRI stroke:#000000,fill:#F2F7D2 
  %% C3EFE0

  style BIDS stroke:#000000,fill:#BEF6AC
  style BIDS-stats-models stroke:#000000,fill:#BEF6AC

  style supplements stroke:#000000,fill:#F6ACD8
  style bids-schema-based stroke:#000000,fill:#F6ACD8
  style bids-canna-be stroke:#000000,fill:#F6ACD8
  style bids-like stroke:#000000,fill:#F6ACD8
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions