-
Notifications
You must be signed in to change notification settings - Fork 256
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
Question about spike detection threshold #59
Comments
Hi Dario - see this page (https://github.com/MouseLand/Kilosort2/wiki/2.-How-it-all-works) at the bottom under 'threshold detection' for a more detailed description of ops.Th. The other parameter ops.spkTh is used in initialization, I believe, and shouldn't make a big difference to results. |
Hi Nick, does this mean that for detecting smaller spikes we should only lower "4" in the default ops.Th = [10 4]? |
Hi Nick, thank you for your reply. B)Threshold detection: finally, we found that some neurons at the noise floor can benefit from adaptive setting of the threshold for each neuron. We start this procedure with ops.Th(1), and independently for each neuron lower the threshold in 0.5 decrements, as long as the number of refractory violations in the autocorrelogram does not increase beyond the acceptable quality threshold (of 20% estimated contamination). For this step to work well, ops.Th(2) used in the final pass should be relatively small, so that all potential spikes are collected. Here the wiki says that ops.Th(1) and (2) are applied to each neuron, not channel, meaning that you have already perform the spike sorting I guess. In order to do that however, you'd need to have already detected the spikes to run the clustering and identify the neurons. So what threshold was use initially? Could you please clarify the two points above? Thank you Dario |
@Sepidak, if you don't detect a template in the detection phase, it won't help to lower the threshold for the final extraction phase. So I would try reducing ops.Th(1) first. If you find that your clusters are getting cut off on the low side, then further lower ops.Th(2), but be weary of hitting the noise floor and suddenly getting a lot of contamination. @Dario55 A) that is ops.spkTh, which as Nick points out is used in a few of the preprocessing steps. |
Closed from inactivity, |
Hello,
I am following up here a discussion which started during the recent Neuropixel 2019 course. In the course it have been explained that, to set spike detection threshold, we should use the parameter ops.Th = [10 4]. However, I have seen in the config file that there is also another parameter called ops.spkTh = -6, which I thought defines the spike detection threshold in unit of std.
Could you please explain what each of this is doing, how they interact and with which ones we should play, for example, if we want to detect small amplitude spikes?
Thank you,
Best,
Dario
The text was updated successfully, but these errors were encountered: