Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spike sorting with data from tungsten microwire arrays #846

Open
jeonghyeon0park opened this issue Jan 3, 2025 · 2 comments
Open

Spike sorting with data from tungsten microwire arrays #846

jeonghyeon0park opened this issue Jan 3, 2025 · 2 comments

Comments

@jeonghyeon0park
Copy link

I have tried to understand the situation and have reviewed the wiki multiple times, but I couldn’t find an alternative approach to writing this article.

We are encountering problems while sorting spikes recorded using the Tucker Davis Technologies Zif64 array. Each channel is spaced 250 μm apart, as shown in the image below. (I suspect that a few spikes were detected across multiple channels and may not provide enough resolution for spike sorting)
Spike data were acquired from each channel at 24,414 Hz and exported as a binary file resembling the Neuropixels output format. Periods without spikes were filled with Gaussian noise.
Time period without spike was filled with gaussian noise.

Details of probe
https://www.tdt.com/docs/hardware/zif-clip-based-microwire-arrays/#zif-clip-based-microwire-array-specifications
image

To address the issue, I reduced the value of "nearest chans" to minimize the region of spike detection. Values between 2 and 5 appeared to work well.
image

The results was like this. No single good unit could be detected.
image
image

My questions :

  1. Can Kilosort4 handle this type of data (where spikes overlap across a few channels)? Or should we consider downgrading to an earlier version or exploring a different approach?
  2. If sorting is possible, are there any recommended parameter settings or example cases I can refer to?
@jacobpennington
Copy link
Collaborator

jacobpennington commented Jan 3, 2025

Hello, a few things to start with:

  1. Update Kilosort4 to the latest version.
  2. Set dminx to 250, then check the "universal templates" checkbox under the probe preview in the GUI. With large contact spacing, you want to end up with a single white dot (template position) lined up with each green square (contact).
  3. Check the "grouping centers" checkbox under the probe preview. Since your channels are so far apart, they should really be clustered separately, so you should see four columns of yellow circles pop up. If you only see two columns (one for each shank), try setting x_centers = 4.

If you still encounter issues after trying those solutions, please upload kilosort4.log from the new run (and any relevant screenshots).

@jeonghyeon0park
Copy link
Author

I updated kilosort4 and set dminx as 500 (because setting them as 250 results in white dots between green squares)

Although this approach restricted unit detection to a single channel, I couldn't find a good unit with a refractory period.

These are my results with new parameters:
image
image
kilosort4.log

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants