-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Feature]: Allow passing DynamicTable for ElectricalSeries.electrodes and RoiResponseSeries.rois #1920
Comments
This change would be accompanied by a change in our docs that moves explanation of the |
I like this idea |
A possible alternative may be to have convenience methods to create the DynamicTableRegion. E.g, something like 'electrodes.all' or 'electrodes.region[3:7]' producing a DynamicTableRegion, which would be a shortcut but still make it explicit that you are using a selection and not the whole table. This could probably be a genetic method on DynamicTable itself. |
hmm I suppose we could do both ElectricalSeries(..., electrodes=electrodes) and you could also do ElectricalSeries(..., electrodes=electrodes.region[3:7]) I think that would be a really clean user interface! |
I like @bendichter 's latest suggestion. While we are rethinking this, what do you think about using the term "selection" or "rows" instead of "region"? "Region" to me suggests a contiguous selection, but we allow specifying a list of non-adjacent rows. "Region" is also not clear that it is a selection of rows and not some other grouping of rows and columns. Pandas uses Separately,
(In the vast majority of dandisets (>95%), it looks like the We could set a default placeholder description such as "A selection of rows" or "no description", but I do not like how the default @oruebel @bendichter Any suggestions on what to set for the description or how to get around this? |
I like region because we are created a DynamicTableRegion. We could include descrption in the syntax: electrode.region(selection, description). In the case that they don't use the region method, we can auto-populate "all rows of table X" |
What would you like to see added to PyNWB?
In my experience, the vast majority of users who create an
ElectricalSeries
orRoiResponseSeries
want to reference all the electrodes or all the ROIs. Creating aDynamicTableRegion
is a conceptual and technical hurdle. I think it would be easier for users if we allow them to pass the Electrodes table object toElectricalSeries
, in which case we create aDynamicTableRegion
that references all the electrodes under the hood. Users should still be able to pass aDynamicTableRegion
if they want to use a subset of the electrodes.Downside: this may cause some confusion when people are navigating the file and encounter a
DynamicTableRegion
.Thoughts? @bendichter ?
Is your feature request related to a problem?
No response
What solution would you like?
Shortcut that avoids the user having to create and link a DynamicTableRegion to create an ElectricalSeries or RoiResponseSeries.
Do you have any interest in helping implement the feature?
Yes.
Code of Conduct
The text was updated successfully, but these errors were encountered: