예제 #1
0
    def test_plot_obs_categorical(self, qtbot, adata: AnnData,
                                  napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata)
        cnt = viewer._controller

        cnt.add_points(adata.obs["leiden"], key="leiden", layer_name="quas")
        viewer.screenshot(dpi=DPI)
예제 #2
0
    def test_plot_cont_cmap(self, qtbot, adata: AnnData,
                            napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata, cmap="inferno")
        cnt = viewer._controller

        cnt.add_points(adata.obs_vector(adata.var_names[42]), layer_name="wex")
        viewer.screenshot(dpi=DPI)
예제 #3
0
    def test_plot_symbol(self, qtbot, adata: AnnData,
                         napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata, symbol="square")
        cnt = viewer._controller

        cnt.add_points(adata.obs_vector(adata.var_names[42]), layer_name="foo")
        viewer.screenshot(dpi=DPI)
예제 #4
0
    def test_plot_obs_continuous(self, qtbot, adata: AnnData,
                                 napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata)
        cnt = viewer._controller

        cnt.add_points(np.random.RandomState(42).normal(size=adata.n_obs),
                       layer_name="quux")
        viewer.screenshot(dpi=DPI)
예제 #5
0
    def test_plot_cat_cmap(self, qtbot, adata: AnnData,
                           napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata, palette="Set3")
        cnt = viewer._controller

        cnt.add_points(adata.obs["leiden"].astype("category"),
                       key="in_tissue",
                       layer_name="exort")
        viewer.screenshot(dpi=DPI)
예제 #6
0
    def test_add_not_categorical_series(self, qtbot, adata: AnnData,
                                        napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata)
        cnt = viewer._controller

        with pytest.raises(TypeError,
                           match=r"Expected a `categorical` type,.*"):
            cnt.add_points(adata.obs["in_tissue"].astype(int),
                           layer_name="layer1")
예제 #7
0
    def test_plot_blending(self, qtbot, adata: AnnData, napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata, blending="additive")
        cnt = viewer._controller

        for gene in adata.var_names[42:46]:
            data = adata.obs_vector(gene)
            if issparse(data):  # ALayer handles sparsity, here we have to do it ourselves
                data = data.X
            cnt.add_points(data, layer_name=gene)

        viewer.screenshot(dpi=DPI)
예제 #8
0
    def test_plot_add_image(self, qtbot, adata: AnnData, napari_cont: ImageContainer):
        from napari.layers import Image

        viewer = napari_cont.interactive(adata)
        cnt = viewer._controller
        img = np.zeros((*napari_cont.shape, 3), dtype=np.float32)
        img[..., 0] = 1.0  # all red image

        napari_cont.add_img(img, layer="foobar")
        cnt.add_image("foobar")

        assert viewer._controller.view.layernames == {"V1_Adult_Mouse_Brain", "foobar"}
        assert isinstance(viewer._controller.view.layers["foobar"], Image)

        viewer.screenshot(dpi=DPI)
예제 #9
0
    def test_add_same_layer(self, qtbot, adata: AnnData, napari_cont: ImageContainer, capsys):
        from napari.layers import Points

        s.logfile = sys.stderr
        s.verbosity = 4

        viewer = napari_cont.interactive(adata)
        cnt = viewer._controller

        data = np.random.normal(size=adata.n_obs)
        cnt.add_points(data, layer_name="layer1")
        cnt.add_points(np.random.normal(size=adata.n_obs), layer_name="layer1")

        err = capsys.readouterr().err

        assert "Layer `layer1` is already loaded" in err
        assert len(viewer._controller.view.layers) == 2
        assert viewer._controller.view.layernames == {"V1_Adult_Mouse_Brain", "layer1"}
        assert isinstance(viewer._controller.view.layers["layer1"], Points)
        np.testing.assert_array_equal(viewer._controller.view.layers["layer1"].metadata["data"], data)
예제 #10
0
    def test_plot_simple_canvas(self, qtbot, adata: AnnData,
                                napari_cont: ImageContainer):
        viewer = napari_cont.interactive(adata)

        viewer.screenshot(dpi=DPI)