Inconsistencies in BIDS specification schema

When working with the json/yaml schema for the BIDS specification I found a few potential issues:

  • Under meta.context, both int and integer are used for type this makes using the schema file programmatically harder.
  • MTRmap and MWFmap are suffices in file names but they also have minValue and maxValue defined. Could someone explain what this means?

Would you mind opening a PR against the spec?

These are bounds on the intensity values in the image data array.

Will do.

That’s what I thought, but shouldn’t this be a rule rather than attributes for a suffix.

The schema has evolved a bit over time. The goal has generally been to encode as much as we can schematically so that we can derive the specification text and validator from it. Here, I’m sure we looked at it, said “this is a fact about this suffix and we can encode it in JSON-schema-like terms”. Nothing is currently using it to render text or validate, so it could go away without impact to any existing tooling, though we would need to discuss whether we still think it could be useful as an annotation of the suffix itself. Or it could eventually replace some of the explicit description text that encodes the same information.

By the way, we do have schema meetings on Thursdays (3pm Eastern US time) in the NMIND Gather. We’re mostly coworking on finishing a schema-based validator these days, but if you’re interested in discussing the schema or your use of it, please feel free to drop in.