Skip to content

Very large difference in sorting using SC2 vs Lupin with dense recordings #4561

@b-grimaud

Description

@b-grimaud

I've been comparing SC2 and Lupin on the same 3 minutes-long recording of a cerebellar slice on a 3Brain BioCAM.

Running both sorters with default params and their own preprocessing, apart from removing the calibrating channel and switching from unsigned to signed, the outputs are extremely different.

SC2 results in 4187 units, distributed across the entire chip :

Image

Of those, most seem contaminated with an average isi_violations_ratio of 18.8, and if I apply a threshold of 0.5% of contaminating spikes, only 120 units remain.

Zooming in, it seems that basically every channel has its own unit :

Image

(I labelled each localization directly with the unit ID, in a less-than-elegant way).

Looking at the templates, those units look like this :

Image

Whereas units founds outside of channels and in more believable clusters look like this :

Image

I'm pretty sure those "channel units" are actually signal from the calibrating electrode that gets propagated through the entire chip. Considering how it looks, I'm not surprised they get detected as spikes.

Lupin, on the other hand, returns 191 units.

Image

The distribution across the chip is a lot more believable, but the units are still very contaminated, with an average isi_violations_ratio of 11.6, and only 38 units retained after the threshold described above.

Based on this, I had the following questions :

  • Is there something specific to Lupin that allows it to effectively filter out those noisy units ? I've thought that applying a filter based on SNR or some template metric on the output of SC2 could help, but I haven't been successful so far.
  • Despite a seemingly more conservative sorting, the units that Lupin returns are still very contaminated. Is there something that can be done to help ? I've tried tuning some of the clustering parameters without success. I've also tried swapping iterative-hdbscan for iterative-isosplit in SC2 but the run then crashes at the clustering step.

Thanks !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions