SpikeInterface / SpikeInterface/spikeinterface

SpykingCircus 2 missing spikes

Open
#2,542 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Hi spikeinterface team, and hi @yger,

I was using SpykingCircus2 on a recording I know and I know that the spike activity is very clean with a good SNR.

However, the results of the sorter are weird :
image

A lot of spikes are missed, detected on another channel than the one with very nice activity as you can see on the phy output... Even the spikes waveforms seems to not be centered.

I ran the sorter on a bandpass filtered recording between 300 and 6000Hz and I switched apply preprocessing in the parameters to false. I even tried with Zscore normalization and I get the same results.

Here are my parameters :

name: spykingcircus2

params:
  general:
    ms_before: 2                            # Default : 2
    ms_after: 2                             # Default : 2
    radius_um: 100                          # Default : 100

  waveforms:
    max_spikes_per_unit: 500                # Default : 200
    overwrite: True                         # Default : True
    sparse: True                            # Default : True
    method: 'energy'                        # Default : 'energy'
    threshold: 0.25                         # Default : 0.25

  filtering:
    freq_min: 150                           # Default : 150
    dtype: float32                          # Default : float32

  detection:
    peak_sign: both                         # Default : neg

  selection:
    method: 'smart_sampling_amplitudes'      # Default : 'smart_sampling_amplitudes'
    n_peaks_per_channel: 5000               # Default : 5000
    min_n_peaks: 20000                      # Default : 20000
    select_per_channel: False               # Default : False

  clustering:
    legacy: False                           # Default : False

  matching:
    method: 'circus-omp-svd'                # Default : 'circus-omp-svd'
    method_kwargs: {}                       # Default : {}

  apply_preprocessing: False                # Default : True

  shared_memory: True                       # Default : True

  cache_preprocessing:
    mode: 'memory'                          # Default : 'memory'
    memory_limit: 0.5                       # Default : 0.5
    delete_cache: True                      # Default : True

  multi_units_only: False                   # Default : False

  job_kwargs: {'n_jobs': 0.8}                # Default : {'n_jobs': 0.8}

  debug: False                              # Default : False

I can of course provide the data preprocessed : https://instituteicm-my.sharepoint.com/:f:/g/personal/anthony_pinto_icm-institute_org/EqcA_QR5nHREvj6YmWYim9gBLswTlFfomyn6vbOUT2W-pw?e=x2Ju8u

The threshold of detection was set automatically to : 3.403147543800265

Thank you in advance,
Anthony

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 reproducing the SpykingCircus2 run with the supplied parameters and the linked preprocessed data, comparing detection, channel assignment, and waveform centering. The issue provides no source files or tests; done means identifying the cause of the missed spikes and demonstrating corrected sorter output.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.