Skip to content

Add EventTable type#304

Open
oruebel wants to merge 14 commits into
add_meanings_tablefrom
add_event_table
Open

Add EventTable type#304
oruebel wants to merge 14 commits into
add_meanings_tablefrom
add_event_table

Conversation

@oruebel

@oruebel oruebel commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Fix #285

Add support for EventsTable

  • Added new EventTable type
  • Added unit tests for the new EventTable type
  • Updated NWBFile to create events/ group and added NWBFile::createEventsTable convenience function

Enhance DynamicTable to improve support for use during acquisition

  • Refactored DynamicTable so it creates and initializes its ElementIdentifiers id column internally during initialize(). This is to ensure the ElementIdentifiers are always create before we start the recording. Calling DynamicTable::setRowIDs() previously required creation of ElementIdentifiers but may be called later during recording. As part of this change, setRowIDs() now takes only the row ID values and writes them directly to the table's built-in id column instead of accepting a separate ElementIdentifiers object. In practice this aligns the API with the intended usage, since callers should have always used the table's own id dataset. (@oruebel, #302)
  • Updated DynamicTable column-name management to be immediate and table-driven. addColumnName() now flushes new column names to the file as columns are added, setColNames() is now restricted to reordering the existing set of columns (it no longer acts as a general overwrite mechanism), and finalize() no longer writes the colnames attribute because column-name updates are persisted when they occur. This ensures that the colnames attribute is always consistent with the actual columns in the table and helps avoid creation of invalid files. (@oruebel, #304)

Other

  • Fix bugs in TimestampVectorData and DurationVectorData; e.g, bad namespace and inconsistent ordering of parameters in initialize
  • Update Changelog

@oruebel oruebel changed the base branch from main to add_meanings_table July 2, 2026 15:46
@oruebel oruebel added this to the 0.4.0 milestone Jul 2, 2026
@oruebel oruebel added the category: enhancement proposed enhancements or new features label Jul 2, 2026
@oruebel oruebel self-assigned this Jul 2, 2026
@oruebel oruebel marked this pull request as ready for review July 5, 2026 13:48
@oruebel oruebel requested a review from rly July 5, 2026 13:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

category: enhancement proposed enhancements or new features

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for EventsTable

2 participants