SpikeInterface / SpikeInterface/spikeinterface

Bad channel detection: widget for manual threshold determination

Open
#4,738 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
847
Forks
280
Avg merge
3d 9h
Merged PRs (30d)
29

Description

It can happen that the bbad channel detection is failing, especially in the case of noisy channels (the threshold about the PSD above 0.8 Nyquist).

For this we have implemented a function in ibldsp: channel_labels, _ = ibldsp.voltage.detect_bad_channels(raw, fs=sr_ap.fs, display=True)
That displays a snippet of raw data along with the features used for bad channel detection.

This widget is quite useful in determining the thresholds manually in case of a collapse due to HF noise, and should be ported to spike interface.

Cf:https://github.com/int-brain-lab/iblcourse/blob/main/2025-cajal-neural-circuits/01_exploring_raw_data.ipynb

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the ibldsp.voltage.detect_bad_channels example and the linked iblcourse notebook to understand the displayed raw-data snippet, features, and manual thresholds. Then locate the corresponding bad-channel detection entry point in SpikeInterface and determine where the widget belongs. Done means SpikeInterface provides an interactive widget for inspecting these features and choosing thresholds for noisy-channel cases.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.