Beispiel #1
0
def test_display():
    """
    Test display setting.
    """
    dims = Dims(ndim=4)
    assert dims.order == (0, 1, 2, 3)
    assert dims.ndisplay == 2

    dims.order = (2, 3, 1, 0)
    assert dims.order == (2, 3, 1, 0)
Beispiel #2
0
def test_display():
    """
    Test display setting.
    """
    dims = Dims(4)
    assert dims.order == [0, 1, 2, 3]
    assert dims.ndisplay == 2

    dims.order = [2, 3, 1, 0]
    assert dims.order == [2, 3, 1, 0]
Beispiel #3
0
def test_bad_order():
    dims = Dims(ndim=3)
    with pytest.raises(ValueError):
        dims.order = (0, 0, 1)
Beispiel #4
0
def test_wrong_order():
    dims = Dims(3)
    with pytest.raises(ValueError):
        dims.order = (0, 1)
Beispiel #5
0
)
def set_axis_labels(viewer: napari.Viewer, axes=''):
    if type(axes) == str and len(axes) == viewer.dims.ndim:
        viewer.dims.axis_labels = list(axes)


if __name__ == '__main__':
    from napari._qt.containers import QtListView
    from napari.components import Dims

    dims = Dims(ndim=5, ndisplay=2, last_used=0, axis_labels=list('tzcyx'))
    # create a python model
    root = SelectableEventedList([AxisModel(dims, i) for i in range(5)])
    root.events.reordered.connect(
        lambda event, dims=dims: set_dims_order(dims, event.value))
    # note: we don't yet handle expanding the order
    dims.events.order.connect(
        lambda event, axes_list=root: move_indices(axes_list, event.value))

    # create Qt views onto the python models
    view = QtListView(root)

    w = QWidget()
    w.setLayout(QHBoxLayout())
    w.layout().addWidget(view)
    w.show()

    dims.order = (4, 3, 1, 0, 2)  # xyztc

    napari.run()