-
Notifications
You must be signed in to change notification settings - Fork 45
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
Make our internal functions to read imro tables consistent with Spikeglx C++ file #192
Comments
Relevant for this issue, another SpikeGLX universal reading project from @jenniferColonell which looks great and handles lots of cases! https://github.com/jenniferColonell/SGLXMetaToCoords |
The function done by @jenniferColonnell use snsGeomMap or snsShankMap fields from the meta file. |
You have probably written about this before but would you mind repeating why we have chosen that way, @samuelgarcia ? It is good for provenance and future decision making. |
@billkarsh and I actually designed the snsGeomMap partly with SpikeInterface in mind, so that all the information to interpret a SpikeGLX file would available in the metadata, without needing to maintain separate tables of probe geometries and other properties. Indeed, to support older data, you need to handle the shank map as well, and keep a table of geometries that correspond to current probes. But you won't need to expand that table as new probes come along. |
This is very useful information. Thanks a lot. |
We encourage you to parse ~snsGeomMap as a replacement for parsing the imro table. It already combines information about the saved channel subset and the imro table to report where each readout channel is on the probe surface in microns. You don't need to keep up with new probes or carry tables or databases. Everything you need is automatically generated in the ~snsGeomMap for each dataset. |
Thanks for the info! We definitely will :) |
Merci beaucoup Jennifer and Bill! I propose to implement all cases in probeinterface, lets be exhaustive. Lets use first snsGeomMap when available on recent version. Reading and writting imro is also good to have because we can generate and debug the imro table directly in probeinterface. |
@cwindolf pointed to us the exact mapping from probe type to geometry:
https://github.com/billkarsh/SpikeGLX/blob/master/Src-imro/IMROTbl.cpp#L142
Right now we are doing this with a local ad-hoc solution:
probeinterface/src/probeinterface/io.py
Lines 662 to 894 in 2dfc737
We should follow the convention in their code so we can track it more closely and follow changes. I am opening this issue here to keep track for ourselves and I will add more detaill and an actiionable lists of todo later.
The text was updated successfully, but these errors were encountered: