bids-standard / bids-specification

Brain Imaging Data Structure (BIDS) Specification
https://bids-specification.readthedocs.io/
Creative Commons Attribution 4.0 International
264 stars 154 forks source link

Related Standards #401

Open effigies opened 4 years ago

effigies commented 4 years ago

BIDS is a structure for organizing data and metadata. There are some BEPs that go beyond this to do something quite different:

In addition to the above, where to put these in the actual structure of the specification is unclear. Transformations may be considered modalities, but model specifications are harder to wedge in. To add these coherently, I believe the current spec would need to become a subsection of a larger structure. It probably makes more sense to think of these as related but not fully subordinate.

Assuming this seems reasonable there are some questions:

1) Where should these specifications live? 2) How should we link to them on the website and main spec? 3) How should maintenance of these specifications be handled, if differently from the main specification?

tyarkoni commented 4 years ago

Re: BIDS-ComputationalModels, that effort is IMO sufficiently independent that it doesn't really make sense to construe it as part of the BIDS ecosystem at all. It currently has essentially zero overlap with any of the other BIDS specs. What we probably will want down the line is an execution/glue spec that mediates between BIDS dataset and the computational model spec, but that will probably be very lightweight.

BIDS-StatsModels is a bit different because much of the content of the spec is currently tied to the BIDS ecosystem to some extent. To the degree that we want to retain that link, I think it makes sense to retain the BIDS branding to some degree—though I agree that it still wouldn't make sense to think of BIDS-StatsModels as part of the BIDS spec in the same way as the core spec, derivatives, etc. I.e., if we went this route, I would probably want to call it an extension forever, without any implication that it would eventually be merged into the same document as the rest.

The alternative is to adopt the same approach here as for the BIDS-CM spec—i.e., to deliberately minimize/eliminate any explicit dependencies between BIDS-SM and BIDS, and then write a small wrapper spec to mediate between them. Currently the main dependency is that BIDS-SM uses the level names defined in BIDS ("run", "session", "task", "subject", etc.). But that's actually about it. Since we've already resolved to handle the mapping from BIDS datasets onto BIDS-SM inputs via a separate execution spec, there's actually no reason that I can see to continue to brands BIDS-SM as a BIDS product. I don't know that it matters much one way or the other, because I think the probability is pretty low of anyone wanting to adopt BIDS-SM who isn't working in BIDS (and certainly not outside of the imaging community). But in principle it could be more generic.

In general, I guess I like the idea of divesting BIDS of these other specs and retaining only the parts necessary to bridge between BIDS datasets and what the other specs do. So, for example, suppose we rename BIDS-SM to something like NISSM (Neuroimaging Specification for Statistical Models), BIDS-NISSM would then specify how BIDS datasets get mapped onto NISSM-supporting tools. The main use case for such bridges would then presumably be in building BIDS-Apps.

poldrack commented 4 years ago

I like the idea of separating the spec (e.g. into NISSM) and the having a separate interface between specs (i.e. BIDS-NISSM).

sappelhoff commented 2 years ago

related: #255