Open rly opened 1 week ago
Yes I would agree having an empty string is not good behavior. If I recall correctly, it might be difficult to make this optional in PyNWB without breaking backwards compatibility for ordered args to the NWBFile init. We switched everything to kwargs long ago and I'd be ok with breaking that at this point but that's the catch in making this optional.
For the GUIDE, I'd say let's make it required, matching the schema. Then let's consider making it optional in the schema separately.
How does NeuroConv set session_description?
NeuroConv is the source of the current behavior, which makes it optional at a high level but because it's required to create a file, sets it to a default of an empty string (preferable to "no description"
as happens automatically in a bunch of other places in NWB)
If the goal is to eventually make it optional to create a file, then it would be more work to make it temporarily required in GUIDE only to eventually undo that
Right now the momentum is still tilted in the direction of treating it as optional, so why not just take the next step and relax it at the schema level?
Describe the issue
NWBFile.session_description
is a required dataset in the NWB schema. Going through the tutorial, this field is not set by default. During conversion, thesession_description
is set to""
(empty string). The NWB inspector does not complain about the session description not being provided. This results in Neurosift showing "Loading..." when reading a file converted by NWB GUIDE: https://github.com/flatironinstitute/neurosift/issues/178How does NeuroConv set
session_description
?@CodyCBakerPhD @bendichter
Steps to Reproduce
Convert a file using GUIDE, look at value of
session_description
Operating System
Mac OS with Mac M1
GUIDE Version
1.0.1
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes