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)
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]
def test_bad_order(): dims = Dims(ndim=3) with pytest.raises(ValueError): dims.order = (0, 0, 1)
def test_wrong_order(): dims = Dims(3) with pytest.raises(ValueError): dims.order = (0, 1)
) 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()