-
Notifications
You must be signed in to change notification settings - Fork 241
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
New OpenEphys File Naming Convention Breaking openephysio
#1320
Comments
@stef1029 |
@zm711 |
Thanks for the file example. One more question. Did you add the RhythmData? Or did it come like that? Basically Neo is expecting the exact format I sent so number_channel.continuous whereas your file has number_name_channel.continuous. If this is a change then this is a Neo bug that needs to be fixed. If you added the name |
@zm711 |
Thanks. Yep that is a change from when the original reader was written. Sorry about that! |
@zm711 |
@stef1029 |
@NilpawanRC |
Just to be clear neo is for ephys data specifically. If your ephys data is also stored in the same file we can try to figure out how to extract it. If the rhythmdata is something completely different it might be hard to fit it within neo. It could be that you just need to remove that file from your folder to get your ephys data. |
@stef1029 |
@zm711 |
@NilpawanRC, that was actually my original question. If this is the new naming of open ephys (ie all data now has this naming convention) then we would absolutely want to add it (we would just need you to share a dataset with us). If this is a different type of data (like behavioral data) because of a plug-in then it might not fit with this codebase. Does that make sense? |
Yes, the regular, continuous OpenEphys ephys signals are now called something like xxx_RhythmData_CHx.continuous. They already came from via Rhythm plugin (for OpenEphys Intan boards), but now this is also visible in the filename. |
If that's the case would you be willing to share a (tiny) file that we could debug on and update the code? |
openephysio
Cool thanks. I'm a bit busy for the next couple days, but I will check it out soon. Feel free to re-ping this issue :) |
Yeah sure, thank you. |
I've almost got a working copy for you to test, but I am getting that the events file is empty. Is that the case? If it's not I'll need some more time to figure out what is going on. But if it is empty I'll post a PR for you to test this week. |
Yeah I have created any events during recordings. That should be empty. You can share with me to test. Thank you so much. |
@NilpawanRC, so we have one other openephy PR open that will create merge conflicts with mine (so I'll need to fix that before we can accept the PR on our side). Would it be possible for you to just turn on the recording equipment for 1-2 secs and send us a dummy Node to add to our test suite. We really prefer having test files before we accept a PR changing a reader. (Size limit is really <20MB but ideally ~10MB). |
Sorry one last thing that I need to know. What is |
yes in old format it was "all_channels.events" but now it changes to "XXX_RhythmData-A.events". And yes I can surely record for 1-2 secs and send the file to you. |
I have uploaded the dummy node file in the previous link. https://drive.google.com/drive/folders/1w-r2xyerlkz0w4TftvRlqsbDQKdnD9O9?usp=sharing |
I have linked the PR. Once it finishes testing with our old files then you are free to test it by installing neo from that PR. |
Loading the files saved within an OpenEphys format recording node file seems to cause an issue, unless I'm trying to load the wrong directory.
data = neo.OpenEphysIO(str(dirname))
File "C:\Users\Stefan R Coltman.conda\envs\BehaviourControl\lib\site-packages\neo\io\openephysio.py", line 11, in init
BaseFromRaw.init(self, dirname)
File "C:\Users\Stefan R Coltman.conda\envs\BehaviourControl\lib\site-packages\neo\io\basefromrawio.py", line 74, in init
self.parse_header()
File "C:\Users\Stefan R Coltman.conda\envs\BehaviourControl\lib\site-packages\neo\rawio\baserawio.py", line 179, in parse_header
self._parse_header()
File "C:\Users\Stefan R Coltman.conda\envs\BehaviourControl\lib\site-packages\neo\rawio\openephysrawio.py", line 78, in _parse_header
info = self._info = explore_folder(self.dirname)
File "C:\Users\Stefan R Coltman.conda\envs\BehaviourControl\lib\site-packages\neo\rawio\openephysrawio.py", line 481, in explore_folder
seg_index = int(s[2]) - 1
ValueError: invalid literal for int() with base 10: 'CH1'
This happens when dirname is set to C:\ .... \Open Ephys\2023-08-31_10-48-18\Record Node 118, which contains the .continuous files from the recording.
Environment:
The text was updated successfully, but these errors were encountered: