Replies: 1 comment 1 reply
-
Should
If
Either way, The real underlying issue seems to be that we don't have a way in the schema to indicate that, e.g., the Long story short, I think your proposed approach to use |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
The Allen Institute maintains an extension "ndx-ellipse-eye-tracking" that defines two new neurodata types: EllipseEyeTracking and EllipseSeries.
EllipseEyeTracking extends the NWB Core EyeTracking and requires 3 EllipseSeries (named "eye_tracking", "pupil_tracking", "corneal_reflection_tracking") and 1 TimeSeries (named "likely_blink").
EllipseSeries extends the NWB Core SpatialSeries.
The NWB Core EyeTracking schema contains:
where
quantity: '+'means at least one.That
quantityspec in the EyeTracking schema was changed in NWB 2.9.0 from '*' to '+'. That change makes sense - you should not create an empty EyeTracking object.However, because EllipseEyeTracking extends EyeTracking, EllipseEyeTracking now also contains the requirement of at least one other SpatialSeries, and previously written data with this extension are no longer valid because they lack an additional SpatialSeries. Even though an EllipseSeries extends SpatialSeries, the 3 EllipseSeries objects already correspond to other requirements of EllipseEyeTracking and cannot be used to satisfy the requirement for at least one SpatialSeries.
To resolve this, I think I should update this extension to make EllipseEyeTracking extend NWBDataInterface instead of EyeTracking. This feels correct to me, but it has the downside that it adds a new wrapper container for eye data. I think that is OK. I am curious to hear what others think about this though.
Beta Was this translation helpful? Give feedback.
All reactions