-
Notifications
You must be signed in to change notification settings - Fork 5
Integrate aqnwb with nwb-format plugin #4
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
base: archive-api8
Are you sure you want to change the base?
Integrate aqnwb with nwb-format plugin #4
Conversation
|
Hi @stephprince I tested this PR on both a macOS (Apple Silicon) and a Windows 11 computer, and here are my findings: macOS (Sonoma)After installing Boost and generating build files with CMake, I encountered a build error when trying to compile the Xcode project. Specifically, the build failed with the following error from the The build process was unnecessarily attempting to compile the example code in the tests directory but could not locate the necessary header files. As a temporary workaround, I removed the For a proper fix, the Once I addressed this issue, I successfully installed the plugin, loaded it into the GUI, and recorded sample data in NWB format without any problems. However, reading the saved data back into the GUI using the File Reader failed, which aligns with your note that integrating Windows 11Following the same procedure (install Boost, remove tests directory, generate build files using CMake), I encountered the following errors from the I'll be happy to go over more details if needed. Also, let me know if there are specific steps required to test this PR that I'm not aware of. |
|
Hi @anjaldoshi, Thanks for testing and reporting your findings!
I see, I had attempted to use a sparse checkout of the git submodule to only pull the
Great to hear!
Correct, we haven’t integrated
I had only setup our CI workflows for macOS and ubuntu, so I haven't done any testing on Windows yet. I’ll work on adding Windows support to our CI pipeline so I can address those build errors. I'll let you know once that's ready! |
@jsiegle (cc @oruebel)
Here is an initial draft PR for the
aqnwbintegration with OpenEphys.Current state
On my local computer (MacOS Apple Silicon), this current implementation will successfully build and install the
nwb-formatplugin and save valid NWB files when streaming example data from theFileReadersource in theplugin-GUI.There are several remaining to-do items that I've highlighted below, but we wanted to give you a chance to look at the code in more detail and give any feedback on what we have so far.
Summary of main changes:
aqnwbtoSourcefolderCMakeLists.txtto add Boost as a dependencyopenFiles,closeFiles,writeContinuousData, andwriteSpikefunctions in theNWBRecordEnginewithaqnwb-based implementationsNWBFormat.h/NWBFormat.cppfiles (replaced byaqnwbclasses)NWBRecordEngine::createRecordingArraysfunction to facilitate mapping between OpenEphys channel structures andaqnwbchannel information structuresTODO items:
writeEventandwriteTimestampSyncTextimplementation (requires: add AnnotationSeries datatype NeurodataWithoutBorders/aqnwb#97)sampleNumbersfor offline syncing - we have been having some internal discussions about the best place to do this since theTimeSeries.syncgroup is not currently well definedaqnwbinNWBFileSourcefiles for read (requires: add support for reading NWB files NeurodataWithoutBorders/aqnwb#44)Further information
API documentation can be found here. We've also been updating some user/developer tutorials to walk through the overall workflow and hopefully guide the integration process for other systems in the future.