Skip to content
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]: Add Support for Categorical Columns in AlignedDynamicTable #496

Open
2 tasks done
lawrence-mbf opened this issue Mar 3, 2023 · 1 comment
Open
2 tasks done
Assignees
Labels
status: todo something needs to be done topic: matnwb-api related to improving the matnwb api

Comments

@lawrence-mbf
Copy link
Collaborator

What would you like to see added to MatNWB?

As per AlignedDynamicTable help text:

[AlignedDynamicTable is a]...DynamicTable container that supports storing a collection of sub-tables. Each sub-table is a DynamicTable itself that is aligned with the main table by row index. I.e., all DynamicTables stored in this group MUST have the same number of rows. This type effectively defines a 2-level table in which the main data is stored in the main table implemented by this type and additional columns of the table are grouped into categories, with each category being represented by a separate DynamicTable stored within the group.

AlignedDynamicTable should override the relevant DynamicTable interface functions to add the necessary awareness of these "category sub-tables".

Is your feature request related to a problem?

From the discussion here: NeurodataWithoutBorders/helpdesk#45

At its current state, the invalid presence of these functions will only cause errors to be thrown on use since the parent DynamicTable does not have this "category" concept at the moment.

What solution would you like?

Outside of implementing a similar inject for all AlignedDynamicTable instantiations (like how it is done for DynamicTable), it might be more robust for the interface functions themselves to distinguish the class of the DynamicTable. This doesn't seem kosher to me and would probably confuse API documentation.

Do you have any interest in helping implement the feature?

Yes.

Code of Conduct

@lawrence-mbf lawrence-mbf self-assigned this Mar 3, 2023
@ehennestad ehennestad added the status: need more info unclear what the issue is or what needs to be done label Oct 31, 2024
@ehennestad
Copy link
Collaborator

Implement addRow, addColumn getRow and toTable for the types.hdmf_common.AlignedDynamicTable class.

Currently one or more (?) of these functions will throw errors.

Todo:

  • Update file.fillClass to fill in class methods when creating the AlignedDynamicTable classdef.
  • Implement functions for addRow, addColumn getRow and toTable

@ehennestad ehennestad added status: todo something needs to be done topic: matnwb-api related to improving the matnwb api and removed status: need more info unclear what the issue is or what needs to be done labels Oct 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: todo something needs to be done topic: matnwb-api related to improving the matnwb api
Projects
None yet
Development

No branches or pull requests

2 participants