-
Notifications
You must be signed in to change notification settings - Fork 11
Description
NWB expects all times to be in seconds relative to timestamps_reference_time (session start by default). However, it is a common occurrence that users have only trialized data (see #676).
Several checks already catch common symptoms of trialized data: descending spike times (#684), negative spike times, and all-identical trial start times (#678). This issue is about the remaining cases that slip through, particularly trialized data that is all-positive and ascending.
I want to write some other scenarios to discuss what to do in the future to catch more cases of this:
Spike times total span that is implausibly short relative to the number of trials. If a trials table exists with 570 rows but spike times only span 14 seconds, the spikes cannot be session-absolute. This requires cross-object access (Units + trials table) and depends on the trials table being present and correct. That said, I am unsure if spike times can be written in a trialized way other than concatenation. In dandiset 1610 they were concatenated per unit, but that case produces descending spike times at trial boundaries which is now caught as CRITICAL (#684).
Many TimeSeries of the same type with similar short durations. Instead of concatenating trial data into one TimeSeries, users might create a separate TimeSeries per trial (e.g., one LFP trace per trial), each with timestamps starting near zero. NWB expects one continuous TimeSeries spanning the session. A large number of same-type TimeSeries with similar short durations could indicate this pattern.