Skip to content

Flag trialized data #688

@h-mayorquin

Description

@h-mayorquin

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions