bids-specification icon indicating copy to clipboard operation
bids-specification copied to clipboard

What is the role of "tags" in schema's enum records

Open yarikoptic opened this issue 9 months ago • 4 comments

e.g at https://github.com/bids-standard/bids-specification/blob/fa2b5d85f7e0eb269c7c935819e29a616d39ab60/src/schema/objects/enums.yaml#L725

GYRO:
  value: GYRO
  display_name: GYRO
  tags:
    - fnirs
    - motion
  description: |
    Gyrometer channel, one channel for each spatial axis.
    Column `component` for the axis MUST be added to the `*_channels.tsv` file (x, y, or z).

should it point to modalities or datatypes or suffixes? Present values seems to correspond to "ambiguous" modalities where modality == datatype

Could it just be named accordingly (e.g. modalities:) instead of ambiguous tags?

attn @effigies

yarikoptic avatar Feb 19 '25 16:02 yarikoptic

The issue is for channel enums, where it's generally permissible to use any of these in any channels.tsv, but many are mainly relevant to particular modalities, and have been listed in those modalities' pages and not others.

In #919, the enum values were moved from being directly inside objects.columns.*.enum to objects.enums, so that their definitions could be elaborated on. How to handle duplicates became relevant, and we generally felt that it would be good to have some reference back to which modalities are applicable, instead of the indirection of going through objects.columns.* and matching up values.

I don't think we've ended up using the tags in any rendering at this point.

The purpose of using the general name tags was that modalities seemed likely to be a specific case, and the next time the problem arose it could easily be something else.

effigies avatar Feb 21 '25 17:02 effigies

cc @tsalo in case you remember things differently.

effigies avatar Feb 21 '25 17:02 effigies

That matches what I remember. The tags were an attempt to address #1436, although actually using the tags to render things in the spec was pushed to #1529.

tsalo avatar Feb 21 '25 17:02 tsalo

The purpose of using the general name tags was that modalities seemed likely to be a specific case, and the next time the problem arose it could easily be something else.

from above I take it they should be "modalities" ATM (relating to https://github.com/bids-standard/bids-specification/pull/1705#discussion_r1961813346), correct?

yarikoptic avatar Mar 19 '25 15:03 yarikoptic