The sample column in events.tsv encodes the following:
OPTIONAL. Onset of the event according to the sampling scheme of the recorded modality (i.e., referring to the raw data file that the events.tsv file accompanies).
As identified by @robertoostenveld, we do not specify whether we use 0-based or 1-based indexing
This should be clarified.
I feel like going with 1-based indexing would make sense if most recommended data formats that also encode samples go with it. For example, most EEG data formats have a representation of "samples".
(BrainVision uses 1-based sample indexes in their datafiles (page 14 in the spec)
How about data formats in iEEG and MEG? ... is this relevant for MRI or other data types?
There is also the argument that many people are not familiar with 0-based indexing.
It could be relevant to MRI, though it's unusual. I would interpret this as a "volume index" instead of event onset in seconds, and so I would be heavily inclined toward 0-indexing because that would be how you index a multidimensional array in pretty much everything but MATLAB.
My top criterion would be consistency. Within the standard, we should either always use 0-indexing or 1-indexing. I don't know that we currently have a situation where we impose one or the other, but if we do, we should stick with it. If we don't, again I would advocate 0-indexing for simplicity's sake.
just some fyi: run and echo have indices but no base is specified. most datasets i have seen use 1+. there is mention of slice index 0 in a piece of bids.
Most iEEG datasets I have used are also 1-based sample indexes.
Re @satra's comment:
Right, the <index> values in filename entities are just numerical. They aren't even required to be sequential, so I wouldn't consider them to be precedent for either option.
Here's the "slice index zero" text:
A
-sign indicates that the contents of SliceTiming are defined in reverse order - that is, the first entry corresponds to the slice with the largest index, and the final entry corresponds to slice index zero.
I think this could be changed to "the slice with the smallest index" without losing any specificity, as we encode a series of values and not their indices, so I also wouldn't consider this precedent.
Most helpful comment
Re @satra's comment:
Right, the
<index>values in filename entities are just numerical. They aren't even required to be sequential, so I wouldn't consider them to be precedent for either option.Here's the "slice index zero" text:
I think this could be changed to "the slice with the smallest index" without losing any specificity, as we encode a series of values and not their indices, so I also wouldn't consider this precedent.