Closed elduvelle closed 6 months ago
Hi @elduvelle I would suggest that you use spikeinterface for this https://spikeinterface.readthedocs.io/en/latest/
You can run mountainsort4 or mountainsort5 from that. It provides a list of all parameters for the sorting algorithms. Also there is functionality for ignoring bad channels.
Thank you!
I found the function to get the list of existing parameters (spikeinterface.sorters.get_default_sorter_params
) but the one that should give the description doesn't work for me (spikeinterface.sorters.get_sorter_params_description
). It's probably because I am using an older version of spike interface for compatibility reasons (v0.93). (I quickly tried to upgrade but that created compatibility issues with the rest of my code).
Any chance you or someone would have access to the description of each parameter and could paste it here? The parameters I got (for mountainsort 4) are: detect_sign adjacency_radius freq_min freq_max filter whiten num_workers clip_size detect_threshold detect_interval
I know that some of these seem obvious and I could make a guess but having the ground truth would be nice. Thanks for any help!
-- Useful links I found for anyone having the same question:
Thanks for posting those links @elduvelle
Here are the descriptions for the parameters https://github.com/SpikeInterface/spikeinterface/blob/264c2b6b2915eed40327e93e9edd11acee551974/src/spikeinterface/sorters/external/mountainsort4.py#L37-L52
I'd also encourage you to try out mountainsort5.
Thank you so much @magland!
I would like to use mountainsort5 at some point but I'm working with Tetrodes and I haven't heard of anyone using it with Tetrodes yet. Mountainsort4 seems to work fine with my setup, although it seems a little conservative and doesn't consider clusters that are not perfectly isolated from the noise (unlike Klustakwick which I was using before). Should we close this issue? Thanks again!
@magland sorry to re-comment on this, I have a last question: for the 'detect_threshold' parameter, the description says 'threshold for spike detection'. Shall I assume that this is a z-scored activity threshold?
@magland sorry to re-comment on this, I have a last question: for the 'detect_threshold' parameter, the description says 'threshold for spike detection'. Shall I assume that this is a z-scored activity threshold?
yes, I believe the signal is normalized to have stdev 1, and then the detect_threshold is the applied to that.
Hi, is there a way to indicate to Mountainsort a list of channels to be ignored by the algorithm (for example because they are noisy or disconnected)? I'm working with tetrodes but I imagine this would apply to any configuration.
If not: how do people usually deal with bad channels? I noticed that they tend to ruin the sorting.
Related question, is there a descriptive list of all parameters used by mountainsort 4? At the moment I'm relying on guesswork and having seen the parameters somewhere else (like "samplerate" or "spike_sign"), which is not ideal.
Thanks a lot!!