Пример #1
0
 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()
Пример #2
0
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])
Пример #3
0
    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,
        }
Пример #4
0
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
Пример #5
0
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
Пример #6
0
 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]