Skip to content

[electrophysiology_browser] Selectable channel types#10403

Open
MaximeBICMTL wants to merge 1 commit intoaces:mainfrom
MaximeBICMTL:eeg_viewer_select_channel_types
Open

[electrophysiology_browser] Selectable channel types#10403
MaximeBICMTL wants to merge 1 commit intoaces:mainfrom
MaximeBICMTL:eeg_viewer_select_channel_types

Conversation

@MaximeBICMTL
Copy link
Contributor

@MaximeBICMTL MaximeBICMTL commented Mar 9, 2026

Description

This PR adds the ability to filter channels displayed in the electrophysiology browser by channel types.

Architecture

  • Previously, the electrophysiology browser browser only has access to the channels specified in the chunked index.json files, who contain some information about the channel extracted from the raw files with the mne Python library.
  • The channel types for EEG/MEG can be described the channels.tsv BIDS file, which is read by LORIS and saved in the physiological_channel table.
  • This PR adds a LORIS electrophysiology API call in the electrophysiology browser to get the channel information from these BIDS metadata files.
  • Based on this information, the displayed channel types can be selected in a new "Channel types" dropdown.
  • It is possible that an acquisition does not have a channels.tsv file, or that the BIDS channel names do not match the raw channel names. In that case, the relevant channels are just grouped under the "Unknown" channel type, making this feature non-breaking for existing datasets.
  • Since this feature affects which channels are displayed on screen, it interacts with the pagination feature. The previous pagination feature proved very hard to compose with, notably because it reads and writes directly in the dataset and visualizer state rather than using a list of channels directly. Therefore, the pagination interface has been extracted into its own component that uses standard React props and state hooks instead of the overcomplicated and fragile logic and state management system used in the visualizer. The resulting code is simpler and now composes naturally with other features that affect which channels are viewable or not.

Screenshots

For the MPN MEG dataset, with accurate channel information:
image

For the Face13 EEG dataset, where the BIDS and raw channel names do not match:
image

@github-actions github-actions bot added Language: Javascript PR or issue that update Javascript code Module: electrophysiology_browser PR or issue related to electrophysiology_browser module labels Mar 9, 2026
@MaximeBICMTL MaximeBICMTL marked this pull request as ready for review March 9, 2026 14:32
@MaximeBICMTL MaximeBICMTL added the Category: Feature PR or issue that aims to introduce a new feature label Mar 9, 2026
@MaximeBICMTL MaximeBICMTL added the Difficulty: Complex PR or issue that require a great effort to implementat, review, or test label Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Category: Feature PR or issue that aims to introduce a new feature Difficulty: Complex PR or issue that require a great effort to implementat, review, or test Language: Javascript PR or issue that update Javascript code Module: electrophysiology_browser PR or issue related to electrophysiology_browser module

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

1 participant