Skip to content

Add catalogue-based probe construction for OpenEphys and channel map ordering#409

Merged
h-mayorquin merged 46 commits intoSpikeInterface:mainfrom
alejoe91:openephys-channel-map-ordering
Mar 18, 2026
Merged

Add catalogue-based probe construction for OpenEphys and channel map ordering#409
h-mayorquin merged 46 commits intoSpikeInterface:mainfrom
alejoe91:openephys-channel-map-ordering

Conversation

@alejoe91
Copy link
Member

@alejoe91 alejoe91 commented Mar 18, 2026

Replaces #406

In #406, the read_openephys was refactored to use the probe from the catalogue and then slice it. In addition, it attempts to solve a mismatch between the channel order in the settings file and structure.oebin file (see SpikeInterface/spikeinterface#4394), by using the structure.oebin file electrode_index field to set device channel indices. This comes with a lot of additional logic (that we thought was required).

I was checking again the settings.xml and had a eureka moment! The mismatch is not random, but it's due to a "Channel Map" processor preceding the "Record Node"! If we simply read the custom channel map and apply it when we slice the probe, this magically fix all issues, with a much simpler solution and without requiring the additional oebin file. Then we can apply the default arange for device channel indices.

You can see the changes with #406 here

All tests with the structure.oebin are kept!

h-mayorquin and others added 30 commits March 11, 2026 01:39
… adc check in tests, plugin_channe_keys -> settings_channel_keys
@alejoe91 alejoe91 requested a review from h-mayorquin March 18, 2026 11:38
Copy link
Collaborator

@h-mayorquin h-mayorquin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I removed a function that I introduced for the oebin structure _contact_id_to_global_electrode_index and modified the relates tests.

@h-mayorquin h-mayorquin merged commit 32e54b7 into SpikeInterface:main Mar 18, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants