def test_selected_mode_label_color(): """Test color of labels in selected color mode""" np.random.seed(0) data = np.random.randint(20, size=(10, 15)) layer = Labels(data) original_color = layer.get_color(1) layer.color_mode = LabelColorMode.SELECTED original_background_color = layer.get_color(layer._background_label) none_color = layer.get_color(None) layer.selected_label = 1 # color of selected label has not changed assert np.allclose(layer.get_color(layer.selected_label), original_color) current_background_color = layer.get_color(layer._background_label) # color of background is background color assert current_background_color == original_background_color # color of all others is none color other_labels = np.unique(layer.data)[2:] other_colors = np.array( list(map(lambda x: layer.get_color(x), other_labels)) ) assert np.allclose(other_colors, none_color)
def test_changing_layer_color_mode_updates_combo_box(qtbot): """Updating layer color mode changes the combo box selection""" layer = Labels(_LABELS, color=_COLOR) qtctrl = QtLabelsControls(layer) qtbot.addWidget(qtctrl) original_color_mode = layer.color_mode assert original_color_mode == qtctrl.colorModeComboBox.currentText() layer.color_mode = 'auto' assert layer.color_mode == qtctrl.colorModeComboBox.currentText()
def test_custom_color_dict(): """Test custom color dict.""" np.random.seed(0) data = np.random.randint(20, size=(10, 15)) layer = Labels(data, color={1: 'white'}) # test with custom color dict assert type(layer.get_color(2)) == np.ndarray assert type(layer.get_color(1)) == np.ndarray assert (layer.get_color(1) == np.array([1.0, 1.0, 1.0, 1.0])).all() # test disable custom color dict # should not initialize as white since we are using random.seed layer.color_mode = 'auto' assert not (layer.get_color(1) == np.array([1.0, 1.0, 1.0, 1.0])).all()