bids-standard / bids-2-devel

Discussions and suggestions of backwards incompatible changes to BIDS
https://bids.neuroimaging.io/
Creative Commons Attribution 4.0 International
10 stars 1 forks source link

MINOR: Replace "units" with "unit" in channels.tsv #15

Open tsalo opened 3 years ago

tsalo commented 3 years ago

All other column names are specified in singular (e.g., type, description, …) and it is not logical to have a unitS column.

Original authors: @sappelhoff

yarikoptic commented 3 months ago

we also use unit in schema. uniformity, adding :+1: and adding to project.

yarikoptic commented 2 months ago

announcement: since there is few more plural columns I generalized this issue into

yarikoptic commented 2 months ago

it is also other units__ (for other modalities)

❯ git grep units__
src/schema/objects/columns.yaml:units__nirs:
src/schema/objects/columns.yaml:units__motion:
src/schema/rules/tabular_data/motion.yaml:    - units__motion
src/schema/rules/tabular_data/motion.yaml:    units__motion: required
src/schema/rules/tabular_data/nirs.yaml:    - units__nirs
src/schema/rules/tabular_data/nirs.yaml:    units__nirs: required

not only _channels.

There is also xyzt_units -- but it is a metadata (not .tsv column) field is intended to correspond to nifti header so I will leave it alone

❯ git grep xyzt_units
src/schema/meta/context.yaml:        xyzt_units:
src/schema/objects/metadata.yaml:    for units stored in 'xyzt_units' field) in the NIfTI header.
src/schema/rules/checks/nifti.yaml:    - nifti_header.xyzt_units.xyz != 'unknown'
src/schema/rules/checks/nifti.yaml:    - nifti_header.dim[0] < 4 || nifti_header.xyzt_units.t != 'unknown'
yarikoptic commented 2 months ago

but then conundrum is that we do have "Units" as the metadata sidecar field (and additional ones like

❯ grep '^[^ ]*Units': src/schema/objects/metadata.yaml
AnatomicalLandmarkCoordinateUnits:
DigitizedHeadPointsCoordinateUnits:
EEGCoordinateUnits:
FiducialsCoordinateUnits:
HeadCoilCoordinateUnits:
InfusionSpeedUnits:
InjectedMassPerWeightUnits:
InjectedMassUnits:
InjectedRadioactivityUnits:
MEGCoordinateUnits:
MolarActivityUnits:
NIRSCoordinateUnits:
PharmaceuticalDoseUnits:
PixelSizeUnits:
ReconMethodParameterUnits:
SpecificRadioactivityUnits:
TracerMolecularWeightUnits:
Units:
iEEGCoordinateUnits:

So we might harmonize for consistency in .tsv header fields but break consistency with "Units" in sidecar... needs thinking!