Assertion Error when opening spike sorted file
See original GitHub issueHi,
I recently ran a recording through Kilosort2.5, where it reported to find spikes and good units (if few), but when I try to open it up in phy I get this error:
[33m16:07:42.861 [W] model:545 Unreferenced clusters found in templates (generally not a problem)[0m
[33m16:07:42.938 [W] model:567 Unreferenced clusters found in spike_clusters (generally not a problem)[0m
[33m16:07:42.965 [W] model:54 4279/40000 values are nan in C:\Users\idavalik\Data\Neuropixels\Socal_track_day5_g0\Socal_track_day5_g0_imec0\similar_templates.npy, replacing by zero.[0m
[31m16:07:43.826 [E] __init__:62 An error has occurred (AssertionError):
Traceback (most recent call last):
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Users\idavalik\AppData\Local\Continuum\anaconda3\envs\phy2\Scripts\phy.exe\__main__.py", line 7, in <module>
sys.exit(phycli())
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\core.py", line 782, in main
rv = self.invoke(ctx)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\core.py", line 610, in invoke
return callback(*args, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\click\decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\__init__.py", line 159, in cli_template_gui
template_gui(params_path, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\template\gui.py", line 199, in template_gui
gui = controller.create_gui()
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\base.py", line 1638, in create_gui
self.supervisor.attach(gui)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\cluster\supervisor.py", line 942, in attach
gui=gui, sort=gui.state.get('ClusterView', {}).get('current_sort', None))
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\cluster\supervisor.py", line 760, in _create_views
gui, data=self.cluster_info, columns=self.columns, sort=sort)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\cluster\supervisor.py", line 916, in cluster_info
return [self.get_cluster_info(cluster_id) for cluster_id in self.clustering.cluster_ids]
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\cluster\supervisor.py", line 916, in <listcomp>
return [self.get_cluster_info(cluster_id) for cluster_id in self.clustering.cluster_ids]
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\cluster\supervisor.py", line 745, in get_cluster_info
out[key] = func(cluster_id)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\base.py", line 1150, in get_best_channel_label
return self._get_channel_labels([self.get_best_channel(cluster_id)])[0]
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\utils\context.py", line 154, in memcached
out = f(*args, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\base.py", line 1144, in get_best_channel
channel_ids = self.get_best_channels(cluster_id)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\utils\context.py", line 154, in memcached
out = f(*args, **kwargs)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phy\apps\template\gui.py", line 149, in get_best_channels
template = self.model.get_template(template_id)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phylib\io\model.py", line 855, in get_template
return self._get_template_dense(template_id, channel_ids=channel_ids)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phylib\io\model.py", line 798, in _get_template_dense
channel_ids_, amplitude, best_channel = self._find_best_channels(template)
File "c:\users\idavalik\appdata\local\continuum\anaconda3\envs\phy2\lib\site-packages\phylib\io\model.py", line 787, in _find_best_channels
assert best_channel in channel_ids
AssertionError
[0m
The recording was very noisy and I fear/suspect some probe damage, but I have had no problems opening noisy files before.
Issue Analytics
- State:
- Created 3 years ago
- Comments:43 (5 by maintainers)
Top Results From Across the Web
Any fix for "Assertion failed!" on startup? :: 1001 Spikes 総合 ...
On start, I get an error message that is titled, "Microsoft Visual C++ Runtime Library" and reads: Assertion failed! Program:... File:..\.
Read more >Assertion error with shank1, but not with shank2 - Google Groups
Dear phy-users,. I have a similar problem and I can't open the phy KwikGUI. I installed klusta, phy and phycontrib. The spike sorting...
Read more >Compatible Technology — spikeinterface documentation
After sorted data is added to the NumpySortingExtractor, it can be used like any other SortingExtractor. With these two objects, we hope that...
Read more >Assertion error due to file opening - Stack Overflow
but I received the same error. This block of code is also contained inside a loop, however I open and close the file...
Read more >Problems with spike-sorting - Bugs - Brainstorm
... error massages when I want to do the supervised spike sorting. ... Make sure to run the unsupervised Spike Sorter first. **...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I pushed a tentative fix on phylib (master branch), empty templates in KS2.5 are NaN which phy doesn’t support for some reason – the test dataset I have seems to load correctly after replacing NaNs with zeros
I am experiencing this issue as well. I tried the workaround suggested by @JoseGuzman without success. @rossant, is there any update? I am also willing to share the recording I am using via dropbox if that would be helpful.