Closed apdavison closed 3 years ago
+1
+1
as a heads-up @apdavison et al, NWB is going through a major refactor, including a new read/write API: https://github.com/NeurodataWithoutBorders/pynwb
@ajtritt & @oruebel are leading up the effort.
the coming months might be a ripe time to get NWB support implemented in Neo
Thanks, @neuromusic, I had gathered something was going on from some of your recent tweets. Is the specification itself being revised much, or just the Python API? Where should I look to follow what's going on?
everything should settle down by ~ SfN. there's a lot of work being done right now, including on documentation and continuous integration
importantly, the NWB stack has been split up into an API layer, a schema specification layer, and a backend layer.
pynwb is the new API
nwb-schema specifies the schema in a bunch of yml files
There are some backward-incompatible changes to the schema (hence the 2.0 designation) but it's not an overhaul. Maybe we can try to get the NEO schema to become NWB 3.0 😄
There's a google group setup, but there's nothing there beyond the announcement of the overhaul. You'l probably get more out of watching the issues on those two repos.
Great, thanks for the links!
@apdavison @neuromusic Has anyone taken this up? This seems pretty timely. I could try to get a student on it if no one else has made any progress.
@rgerkin with NWB:N 2.0 now releases, I agree that this is a good time for this. I am not aware of any specific efforts right now with regard to integration NWB with neo. If you need help from the NWB development team then this may also be a good project to consider for the next NWB hackathon in May.
@rgerkin yes this is the perfect time for integration between NWB and neo! I agree with @oruebel that this would be a great project for the next developer hackathon May 15 and 16 at Janelia. Let us know if you are interested in sending people and we'll reserve space for them. If attending that hackathon is not possible, or if you want to get started beforehand, I'm happy to help.
A great way to reach out to the NWB community about these types of things is the nwb-users slack channel. I'd be happy to send invites if you provide emails.
@legouee: Didn't you start looking into this at one point?
Yes, effectively, I started working on it, in order to add support to neo rawio. It is currently under progress. Recently I tried to read a real Allen Institute file. I still have to fix some problems. I have not tested yet the NWB:N 2.0. Is there a deadline for this neo support to be added ?
I think it would be good to include this in the 0.8 release. However there is no set timeline for this release. @apdavison, @samuelgarcia How about aiming for early March?
Many thanks @rgerkin, @oruebel and @bendichter for the offers of help and advice.
Given the complexity of NWB, I think early March is probably too ambitious, I'd rather aim for 0.9. It would be nice to get a first version into master by the end of April, and then maybe have a project at the Janelia hackathon to polish/improve/stress-test the implementation?
I'll discuss this with @legouee to figure out how best to proceed.
@apdavison that timeline and approach sounds reasonable to me. BTW, here the link to the NWB Hackathon website. Registration is not open yet, but we have on the website a link to the form to request an invitation to the hackathon.
Much progress in this fork by @legouee: Tasks remaining include:
@rgerkin @bendichter @oruebel I've made a PR (#796) for a first usable version of NWB support in Neo (based on @legouee's fork). It's rough around the edges, much work still to do, but I think it's ready for people to try.
A first implementation is merged via #796
NWB = "Neurodata Without Borders" https://neurodatawithoutborders.github.io