-
Notifications
You must be signed in to change notification settings - Fork 5
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
Integrate aqnwb with nwb-format plugin #4
base: main
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
aqnwb
integration with OpenEphys.Current state
On my local computer (MacOS Apple Silicon), this current implementation will successfully build and install the
nwb-format
plugin and save valid NWB files when streaming example data from theFileReader
source 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:
aqnwb
toSource
folderCMakeLists.txt
to add Boost as a dependencyopenFiles
,closeFiles
,writeContinuousData
, andwriteSpike
functions in theNWBRecordEngine
withaqnwb
-based implementationsNWBFormat.h
/NWBFormat.cpp
files (replaced byaqnwb
classes)NWBRecordEngine::createRecordingArrays
function to facilitate mapping between OpenEphys channel structures andaqnwb
channel information structuresTODO items:
writeEvent
andwriteTimestampSyncText
implementation (requires: add AnnotationSeries datatype NeurodataWithoutBorders/aqnwb#97)sampleNumbers
for offline syncing - we have been having some internal discussions about the best place to do this since theTimeSeries.sync
group is not currently well definedaqnwb
inNWBFileSource
files 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.