-
Notifications
You must be signed in to change notification settings - Fork 16
[Proposal] Refactor behavioral neurodata types #616
Copy link
Copy link
Open
Labels
category: proposalproposed enhancements or new featuresproposed enhancements or new featurescompatibility: breaking changefixes or enhancements that will break schema compatabilityfixes or enhancements that will break schema compatabilitypriority: lowalternative solution already working and/or relevant to only specific user(s)alternative solution already working and/or relevant to only specific user(s)
Milestone
Metadata
Metadata
Assignees
Labels
category: proposalproposed enhancements or new featuresproposed enhancements or new featurescompatibility: breaking changefixes or enhancements that will break schema compatabilityfixes or enhancements that will break schema compatabilitypriority: lowalternative solution already working and/or relevant to only specific user(s)alternative solution already working and/or relevant to only specific user(s)
Documenting this topic briefly after @bendichter @oruebel and I discussed this today.
We are not a fan of how
SpatialSeriesobjects are labeled/tagged/identified as position data, direction data, eye tracking data, or pupil tracking data based on what container (Position,CompassDirection,EyeTracking,PupilTracking) contains theSpatialSeries. This means that to interpret aSpatialSeries, you need to look at whatContainertheSpatialSeriesis in. In addition, the units of measurement and 2nd axis of thedataarray are different based on which type of spatial series data is represented. This structure and extra level of hierarchy is confusing for both data curators and data reusers.Similar for
LFPcontainingElectricalSeriesobjects andDfOverFcontainingRoiResponseSeriesobjects. Also these container objects usually contain only one instance.We believe this container-as-label structure was carried over from NWB 1.0, and after years of use and feedback from users, we believe that it would be better to represent these data differently, even if they share common elements. There should just be a separate
SpatialSeries-like neurodata type for each of these four use cases without a need for a container object except perhaps for grouping related objects together (depending on use-case). The new types could be related through inheritance (e.g., with aBaseSpatialSeriestype) or tags (#531) if desired.Related historical discussions:
LFPshould be aTimeSeries#114ClusteringandFeatureExtractioninherit fromTimeSeries#112This is a larger-level change that should probably be discussed with the NWB TAB.