Example #1
0
def test_nD_pyramid(qtbot):
    """Test adding nD image pyramid."""
    viewer = Viewer()
    view = viewer.window.qt_viewer
    qtbot.addWidget(view)

    shapes = [(8, 40, 20), (4, 20, 10), (4, 10, 5)]
    np.random.seed(0)
    data = [np.random.random(s) for s in shapes]
    viewer.add_pyramid(data)
    assert np.all(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

    # Flip dims order displayed
    viewer.dims.order = [0, 2, 1]
    assert viewer.dims.order == [0, 2, 1]

    # Flip dims order including non-displayed
    viewer.dims.order = [1, 0, 2]
    assert viewer.dims.order == [1, 0, 2]

    # Close the viewer
    viewer.window.close()
Example #2
0
def test_pyramid_dytpes(qtbot, dtype):
    """Test different dtype pyramids."""
    np.random.seed(0)
    viewer = Viewer()
    view = viewer.window.qt_viewer
    qtbot.addWidget(view)

    # add dtype pyramid data
    data = [
        np.random.randint(20, size=(30, 40)).astype(dtype),
        np.random.randint(20, size=(15, 20)).astype(dtype),
    ]
    viewer.add_pyramid(data)
    assert np.all(viewer.layers[0].data == data)

    # Close the viewer
    viewer.window.close()
Example #3
0
def test_add_pyramid(qtbot):
    """Test adding image pyramid."""
    viewer = Viewer()
    view = viewer.window.qt_viewer
    qtbot.addWidget(view)

    shapes = [(40, 20), (20, 10), (10, 5)]
    np.random.seed(0)
    data = [np.random.random(s) for s in shapes]
    viewer.add_pyramid(data)
    assert np.all(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 == 2
    assert view.dims.nsliders == viewer.dims.ndim
    assert np.sum(view.dims._displayed_sliders) == 0

    # Close the viewer
    viewer.window.close()
Example #4
0
"""
Displays the allen brain reference atlas at 10 um resolution
"""

from napari import Viewer, gui_qt
import dask.array as da
from dask.cache import Cache
import numpy as np

cache = Cache(2e9)  # Leverage two gigabytes of memory
cache.register()

base = da.random.randint(0, 255, (100, 2000, 5000), dtype='uint8')
pyramid = [base]
image = pyramid[0]
for i in range(4):
    image = da.coarsen(np.mean, image, {0: 1, 1: 2, 2: 2}, trim_excess=True)
    pyramid.append(image)
print('pyramid level shapes: ', [p.shape for p in pyramid])

with gui_qt():
    # create an empty viewer
    viewer = Viewer()
    # layer = viewer.add_image(base, name='base')
    layer = viewer.add_pyramid(pyramid, name='pyramid')
Example #5
0
"""
Dynamically load irregularly shapes images of ants and bees
"""

import numpy as np
import dask.array as da
from dask.cache import Cache
from napari import Viewer, gui_qt

cache = Cache(2e9)  # Leverage two gigabytes of memory
cache.register()

base_name = 'data-njs/ndcn/keiser/slides/'
slide_name = 'NA4009-02_AB'
pyramid = [
    da.from_zarr(base_name + slide_name + '.zarr/' + str(i)) for i in range(8)
]
print([p.shape[:2] for p in pyramid])

with gui_qt():
    # create an empty viewer
    viewer = Viewer()

    # add the images
    layer = viewer.add_pyramid(pyramid,
                               name=slide_name,
                               contrast_limits=[0, 255])