コード例 #1
0
ファイル: test_napari.py プロジェクト: xies/napari
def test_view_surface(qtbot):
    """Test adding 3D surface."""
    np.random.seed(0)
    vertices = np.random.random((10, 3))
    faces = np.random.randint(10, size=(6, 3))
    values = np.random.random(10)
    data = (vertices, faces, values)
    viewer = napari.view_surface(data)
    view = viewer.window.qt_viewer
    qtbot.addWidget(view)

    assert np.all(
        [np.all(vd == d) for vd, d in zip(viewer.layers[0].data, data)])

    assert len(viewer.layers) == 1
    assert view.layers.vbox_layout.count() == 2 * len(viewer.layers) + 2

    assert viewer.dims.ndim == 3
    assert view.dims.nsliders == viewer.dims.ndim
    assert np.sum(view.dims._displayed_sliders) == 1

    # Switch to 3D rendering
    viewer.dims.ndisplay = 3
    assert viewer.dims.ndisplay == 3
    assert np.sum(view.dims._displayed_sliders) == 0

    # Close the viewer
    viewer.window.close()
コード例 #2
0
from skimage import data
import numpy as np
import napari

with napari.gui_qt():
    vertices = np.array([[0, 0], [0, 20], [10, 0], [10, 10]])
    faces = np.array([[0, 1, 2], [1, 2, 3]])
    values = np.linspace(0, 1, len(vertices))
    surface = (vertices, faces, values)

    viewer = napari.view_surface(surface)  # add the surface
    
コード例 #3
0
"""
Test adding 4D followed by 5D image layers to the viewer

Intially only 2 sliders should be present, then a third slider should be
created.
"""

import numpy as np
from skimage import data, measure
import napari
import scipy.ndimage as ndi

image = data.binary_blobs(128, n_dim=3)
verts, faces, normals, values = (measure.marching_cubes_lewiner(
    image.astype(float), level=0.7))
labels = ndi.label(image)[0]
vertex_labels = ndi.map_coordinates(labels, verts.T, order=0).astype(int)

with napari.gui_qt():

    viewer = napari.view_surface((verts, faces, values))
    surf_layer = viewer.add_surface((verts, faces, vertex_labels),
                                    colormap='gist_earth')
    viewer.dims.ndisplay = 3
コード例 #4
0
ファイル: add_surface_2D.py プロジェクト: jojoelfe/napari
"""
Add surface 2D
==============

Display a 2D surface
"""

import numpy as np
import napari

data = np.array([[0, 0], [0, 20], [10, 0], [10, 10]])
faces = np.array([[0, 1, 2], [1, 2, 3]])
values = np.linspace(0, 1, len(data))

# add the surface
viewer = napari.view_surface((data, faces, values))

if __name__ == '__main__':
    napari.run()
コード例 #5
0
ファイル: add_surface.py プロジェクト: tlambert03/image-demos
"""Test converting an image to a multiscale.
"""

import numpy as np
import napari

with napari.gui_qt():
    #viewer = napari.Viewer()

    np.random.seed(0)
    # vertices = np.random.random((10, 3))
    # faces = np.random.randint(10, size=(6, 3))
    # values = np.random.random(10)
    vertices = np.random.random((10, 3))
    faces = np.random.randint(10, size=(6, 3))
    values = np.random.random(10)
    #viewer.add_surface(data)
    # vertices = np.array([[0, 0], [0, 20], [10, 0], [10, 10]])
    # faces = np.array([[0, 1, 2], [1, 2, 3]])
    # values = np.linspace(0, 1, len(vertices))

    data = (vertices, faces, values)

    viewer = napari.view_surface(data)