enhancing NWB support #851
bendichter
started this conversation in
Ideas
Replies: 1 comment
-
Thanks @bendichter! We're working on your first suggestion in #853 and it should be a quick addition. For 2: We'll be doing this after we finalize the v1.2.5 release that ships with NWB support in the next day or so. For 3: Let's discuss tomorrow? I want to make sure we understand the scope of the NWB conversion tools. We're working on a standalone I/O library for SLEAP (and other formats) similar to our adaptor system, but that doesn't pull in all the neural network and GUI dependencies. It'd be great to use that for integration if that's what you have in mind for that library. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I see you have made a lot of progress in supporting NWB lately! It looks like you are using the ndx-pose extension as intended. A few points I want to bring up
Currently, a user is not able to set required metadata such as the
session_start_time
,identifier
, andsession_description
. Instead, placeholder values are used here:sleap/sleap/io/format/ndx_pose.py
Lines 218 to 222 in d522f1d
with no way to overwrite them. This creates NWB files that are valid, but contains incorrect data. There are two ways to solve this. The first is to allow a user to pass in this metadata to the
write
function. The second would be to allow a user to create an NWB file on their own with the proper metadata and then append the sleap data to that file.The second approach, allowing a user to append to an existing NWB file, also solves a different problem. NWB files are meant to store all of the streams of data in a single file, e.g. behavior + optical physiology or electrophysiology. If I wanted to put sleap and ephys data in an NWB file, since this is currently written without an append option, I'd be forced to first write the sleap data and then append the ephys data. This is technically doable but becomes a problem if any other data writer or converter has the same limitation of not being able to append. Because of this, it is best practice to allow for appending to an existing NWB file.
We keep track of software that can read and write NWB here. Would you mind submitting a PR here next to the entry for DeepLabCut so our users know that sleap is part of the NWB ecosystem?
We are developing NWB Conversion Tools which provide automated conversions from a large number of proprietary formats. It would be great if we could use this library to convert data that has already been written to NWB. It seems like your adapter system with read and write for several formats could be helpful. Does sleap have a standard output format?
Beta Was this translation helpful? Give feedback.
All reactions