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

Fail to load kilosort4 output #1327

Open
David-H-Chang opened this issue Feb 1, 2025 · 0 comments
Open

Fail to load kilosort4 output #1327

David-H-Chang opened this issue Feb 1, 2025 · 0 comments

Comments

@David-H-Chang
Copy link

David-H-Chang commented Feb 1, 2025

(phy2) [zhangdaohan20h@gpu01 Kilosort-2.5.2]$ phy template-gui  /share/home/zhangdaohan20h/CODES/NPX/kilosort4_output/sorter_output/params.py 
17:01:27.838 [E] __init__:62          An error has occurred (IndexError): index 343 is out of bounds for axis 0 with size 343
Traceback (most recent call last):
  File "/home/zhangdaohan20h/.conda/envs/phy2/bin/phy", line 8, in <module>
    sys.exit(phycli())
             ^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phy/apps/__init__.py", line 159, in cli_template_gui
    template_gui(params_path, **kwargs)
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phy/apps/template/gui.py", line 209, in template_gui
    model = load_model(params_path)
            ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 1440, in load_model
    return TemplateModel(**get_template_params(params_path))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 339, in __init__
    self._load_data()
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 419, in _load_data
    self.sparse_clusters = self.cluster_waveforms()
                           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 1330, in cluster_waveforms
    data[clust, :, :] = self.sparse_templates.data[val[0], :, :]
                        ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/home/zhangdaohan20h/.conda/envs/phy2/lib/python3.11/site-packages/numpy/core/memmap.py", line 335, in __getitem__
    res = super().__getitem__(index)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
IndexError: index 343 is out of bounds for axis 0 with size 343

QWidget: Must construct a QApplication before a QWidget
Aborted (core dumped)

however, if i use spikeinterface.exporter.export_to_phy

sorting = se.read_kilosort('/home/zhangdaohan20h/CODES/NPX/HS102/kilosort4_output/sorter_output')
analyzer = create_sorting_analyzer(sorting=sorting,
                                   recording=rec_interpolated,
                                   overwrite=True,
                                   format="binary_folder",
                                   return_scaled=True, # this is the default to attempt to return scaled
                                   folder=folder,
                                   n_jobs = 20
                                   )
from spikeinterface.exporters import export_to_phy
export_to_phy(sorting_analyzer=analyzer, output_folder='phy_folder',**job_kwargs)
(phy2) [zhangdaohan20h@gpu01 Kilosort-2.5.2]$ phy template-gui  /share/home/zhangdaohan20h/CODES/NPX/phy_folder/params.py 

it works

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

1 participant