Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Feature Request: Making order = np.argsort(device_channel_indices) optional

Open
#4,565 11 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
52/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
numpy, python
Domain
data

Research direction

Start at _set_probes() and follow how device_channel_indices is ordered, then inspect read_kilosort_as_analyzer and the handling of channel_map.npy, channel_locations.npy, and channel_shanks.npy. Done means an unsorted probe and Kilosort dataset can be read without a channel-location mismatch while existing sorted behavior remains intact.

Written by the indexing model from the issue text.

Description

Dear Spikeinterface community,
I am asking for this feature in the _set_probes() as I would like to feed my previous dataset sorted by kilosort standalone into an analyser with the new function read_kilosort_as_analyzer #4366
The problem is that my probe map, coming from probe_interface library is not sorted by channels. While using spikeinterface to do spike sorting, it is fine to sort them by channels. However, when using read_kilosort_as_analyzer, it will check whether channels location used in the kilosort4 phy folder matches with its counterpart in the Recording (e.g. OpenEphysBinaryRecordingExtractor). Since kilosort4 does not sort the map, there is always a mismatch between the two.

Image

or

Image

I can certainly create a set of probe maps and sort them by channels first before using kilosort standalone to do spike sorting so that I will never to worry about this mismatch. However, would it be possible to make order = np.argsort(device_channel_indices) an option to skip so that both Recording and either my original probe.prb or kilosort's channel_map.npy, channel_locations.npy, and channel_shanks.npy are equally unsorted?

Or if you have any suggestion about circuvment the mismatch in channels location when using read_kilosort_as_analyzer?

Many thanks in advance.

Dominant language
Python
Stars
855
Forks
280
Avg merge
3d 2h
Merged PRs (30d)
38

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from SpikeInterface/spikeinterface

All issues in SpikeInterface/spikeinterface

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.