cortex-lab / KiloSort

GPU code for spike sorting
GNU General Public License v2.0
175 stars 100 forks source link

Extracting cluster:time:channel:waveform without Phy #253

Open meyert11 opened 2 years ago

meyert11 commented 2 years ago

I'm using a linear U-Uprobe (100 microns apart 24 channel) electrode and we've been sorting by hand (Offline Sorter). I've gotten Kilosort 3 to work and I'm looking to see if I can find a set of parameters that will sort a data session without using phy.

I'm currently analyzing my data and viewing prediction vs filtered plots in the gui and they are looking very nice. I'd like to now extract the results and compare it to our hand-sorted sessions and need some assistance in finding:

1 - cluster (looks like these are in sp3(:,5) and after outputing for phy, they are in spike_clusters.npy, which I can extract - whoo hoo 2 - time (this looks like it's in sp3(:,1) as samples. ?Quick question - while the channels were simultaneously recorded from, none of these values are repeating! How can that be? there should exist some clusters that occured at the same time? 3 - channel, this I haven't figured out. How do I know which cluster corresponds to which channel? 4 - waveform, I'd like to grab which template corresponds to which cluster, so I can compare it with hand sorted correlates.

An ultimate dream would be to take our massive dataset of hand-sorted data and run it through a CUDA ML classifier to find the best kilosort parameters to sort our data! :) As long as it accounts for the majority of sorting variance, it should 'in theory' work!

Thanks for all the work you guys are doing!!!