Skip to content

selecting cluster in ClusterView does not update other views #1358

@jennagkelly

Description

@jennagkelly

After a few weeks long pause in sorting, I went to open the last file I was curating and the gui would not open using that file, nor other recent ones that had worked. In attempts to get it working I at some point removed my phy conda environment and reinstalled from scratch using the environment.yml file (so far, the only installation strategy that has given me a gui that successfully opens), in Ubuntu 22.04.5. I am trying to load the output of mountainsort5, which I sorted using SpikeInterface and exported with their export_to_phy exporter - I do not think my choice of sorter is the issue, as I have also tried to open Kilosort output and see identical behavior. I also tried the test dataset from https://codeload.github.com/kwikteam/phy-data/zip/master and see the same pattern.

I am able to open the gui, and I see my clusters and their metrics in ClusterView and SimilarityView. However, when I try to select a cluster, I see no updates in FeatureView, TraceView, etc.

It looks like the clusters are being selected, as running in debug mode tells me, e.g.:
18:13:01.396 [D] supervisor:817 Clusters selected: [26] (24)

However, I'm consistently getting an error report each time I click a new cluster:

Traceback (most recent call last):
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/gui/qt.py", line 547, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/cluster/views/base.py", line 175, in _worker
self.on_select(cluster_ids=cluster_ids, **kwargs)
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/cluster/views/base.py", line 143, in on_select
self.plot(**kwargs)
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/cluster/views/feature.py", line 362, in plot
background = self.features(channel_ids=self.channel_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/joblib/memory.py", line 577, in call
return self._cached_call(args, kwargs, shelving=False)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/joblib/memory.py", line 532, in _cached_call
return self._call(call_id, args, kwargs, shelving)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/joblib/memory.py", line 771, in _call
output = self.func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/apps/base.py", line 387, in _get_features
return self._get_spike_features(spike_ids, channel_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phy/apps/base.py", line 367, in get_spike_features
data = self.model.get_features(spike_ids, channel_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 1037, in get_features
features = from_sparse(features, cols, channel_ids)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/users/kelly/anaconda3/envs/phy2/lib/python3.11/site-packages/phylib/io/model.py", line 94, in from_sparse
assert np.all(np.isin(c, np.r
[channel_ids.astype(np.int32), -1]))
^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'astype'

The error message is preceded and followed by multiple instances of the debug report:
17:08:04.046 [D] base:702 Exception in paintGL: Attempt to retrieve context when no valid context

Any ideas appreciated - thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions