You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A ProcessingModule is a special MultiContainerInterface that contains a labeled dictionary of NWBDataInterface objects called data_interfaces. It also has a description but nothing else. It's a bit unwieldy to call len(nwbfile.processing["behavior"].data_interfaces). It would be nicer to treat nwbfile.processing["behavior"] as a dictionary and be able to call len and other functions on it: len(nwbfile.processing["behavior"]).
For convenience, getitem works, e.g., nwbfile.processing["behavior"]["child1"], and I believe iterating works.
It might also be nice to move the other dictionary functions up to that level, e.g., keys, values, items.
Is your feature request related to a problem?
No response
What solution would you like?
See above.
Do you have any interest in helping implement the feature?
I think this would make interacting with the API easier. +1 on moving all the dictionary machine directly to the object itself instead of within data_interfaces.
The best counter-argument I can think of would be what if ProcessingModule gets extended is a way where these operations are ambiguous, e.g. if someone added some kind of list or dict like internal object where len would be a sensible operation. I don't think that's likely to happen, though. I don't think I have ever seen an extension of ProcessingModule, and if it were to happen I would guess it would be to add attributes-like metadata, not container-like data.
What would you like to see added to PyNWB?
A ProcessingModule is a special MultiContainerInterface that contains a labeled dictionary of
NWBDataInterface
objects calleddata_interfaces
. It also has a description but nothing else. It's a bit unwieldy to calllen(nwbfile.processing["behavior"].data_interfaces)
. It would be nicer to treatnwbfile.processing["behavior"]
as a dictionary and be able to calllen
and other functions on it:len(nwbfile.processing["behavior"])
.For convenience, getitem works, e.g.,
nwbfile.processing["behavior"]["child1"]
, and I believe iterating works.It might also be nice to move the other dictionary functions up to that level, e.g.,
keys
,values
,items
.Is your feature request related to a problem?
No response
What solution would you like?
See above.
Do you have any interest in helping implement the feature?
Yes.
Code of Conduct
The text was updated successfully, but these errors were encountered: