def _create_gui(cls): cls._gui = cls._controller.create_gui(do_prompt_save=False) s = cls._controller.supervisor b = Barrier() connect(b('cluster_view'), event='ready', sender=s.cluster_view) connect(b('similarity_view'), event='ready', sender=s.similarity_view) cls._gui.show() # cls._qtbot.addWidget(cls._gui) cls._qtbot.waitForWindowShown(cls._gui) b.wait()
def test_supervisor_split_2(gui, similarity): spike_clusters = np.array([0, 0, 1]) supervisor = Supervisor(spike_clusters, similarity=similarity) supervisor.attach(gui) b = Barrier() connect(b('cluster_view'), event='ready', sender=supervisor.cluster_view) connect(b('similarity_view'), event='ready', sender=supervisor.similarity_view) b.wait() supervisor.actions.split([0]) supervisor.block() _assert_selected(supervisor, [2, 3])
def supervisor(qtbot, gui, cluster_ids, cluster_groups, cluster_labels, similarity, tempdir): spike_clusters = np.repeat(cluster_ids, 2) s = Supervisor( spike_clusters, cluster_groups=cluster_groups, cluster_labels=cluster_labels, similarity=similarity, context=Context(tempdir), sort=('id', 'desc'), ) s.attach(gui) b = Barrier() connect(b('cluster_view'), event='ready', sender=s.cluster_view) connect(b('similarity_view'), event='ready', sender=s.similarity_view) b.wait() return s
def test_supervisor_cluster_metrics(qtbot, gui, cluster_ids, cluster_groups, similarity, tempdir): spike_clusters = np.repeat(cluster_ids, 2) def my_metrics(cluster_id): return cluster_id**2 cluster_metrics = {'my_metrics': my_metrics} mc = Supervisor( spike_clusters, cluster_groups=cluster_groups, cluster_metrics=cluster_metrics, similarity=similarity, context=Context(tempdir), ) mc.attach(gui) b = Barrier() connect(b('cluster_view'), event='ready', sender=mc.cluster_view) connect(b('similarity_view'), event='ready', sender=mc.similarity_view) b.wait() assert 'my_metrics' in mc.columns
def state(self): """Return the cluster view state, with the current sort and selection.""" b = Barrier() self.get_current_sort(b('current_sort')) self.get_selected(b('selected')) b.wait() current_sort = tuple(b.result('current_sort')[0][0] or (None, None)) selected = b.result('selected')[0][0] return { 'current_sort': current_sort, 'selected': selected, }
def shown_cluster_ids(self): """The sorted list of cluster ids as they are currently shown in the cluster view.""" b = Barrier() self.cluster_view.get_ids(callback=b(1)) b.wait() return b.result(1)[0][0]