def test_tiff_image_read(self): image = TiffImageReader.read_image( PartSegData.segmentation_mask_default_image) assert isinstance(image, Image)
def test_image_view_integration(self, qtbot, tmp_path): settings = BaseSettings(tmp_path) ch_property = ChannelProperty(settings, "test") image_view = ImageView(settings, ch_property, "test") # image_view.show() qtbot.addWidget(image_view) qtbot.addWidget(ch_property) image = TiffImageReader.read_image(PartSegData.segmentation_analysis_default_image) with qtbot.waitSignal(image_view.image_added, timeout=10 ** 6): settings.image = image channels_num = image.channels assert image_view.channel_control.channels_count == channels_num image_view.viewer_widget.screenshot() image1 = image_view.viewer_widget.canvas.render() assert np.any(image1 != 255) image_view.channel_control.set_active(1) ch_property.minimum_value.setValue(100) ch_property.maximum_value.setValue(10000) ch_property.filter_radius.setValue(0.5) image2 = image_view.viewer_widget.canvas.render() assert np.any(image2 != 255) assert np.all(image1 == image2) def check_parameters(name, index): return name == "test" and index == 1 # Test fixed range with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.fixed.setChecked(True) image1 = image_view.viewer_widget.canvas.render() assert np.any(image1 != 255) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.minimum_value.setValue(20) image2 = image_view.viewer_widget.canvas.render() assert np.any(image2 != 255) assert np.any(image1 != image2) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.maximum_value.setValue(11000) image3 = image_view.viewer_widget.screenshot() assert np.any(image3 != 255) assert np.any(image2 != image3) assert np.any(image1 != image3) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.fixed.setChecked(False) image1 = image_view.viewer_widget.screenshot() assert np.any(image1 != 255) assert np.any(image1 != image2) assert np.any(image1 != image3) # Test gauss with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.use_filter.set_value(NoiseFilterType.Gauss) image4 = image_view.viewer_widget.screenshot() assert np.any(image4 != 255) assert np.any(image1 != image4) assert np.any(image2 != image4) assert np.any(image3 != image4) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.filter_radius.setValue(1) image5 = image_view.viewer_widget.screenshot() assert np.any(image5 != 255) assert np.any(image1 != image5) assert np.any(image2 != image5) assert np.any(image3 != image5) assert np.any(image4 != image5) # Test gauss and fixed range ch_property.minimum_value.setValue(100) ch_property.maximum_value.setValue(10000) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.fixed.setChecked(True) image1 = image_view.viewer_widget.screenshot() with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.minimum_value.setValue(10) image2 = image_view.viewer_widget.screenshot() assert np.any(image2 != 255) assert np.any(image1 != image2) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.maximum_value.setValue(11000) image3 = image_view.viewer_widget.screenshot() assert np.any(image3 != 255) assert np.any(image2 != image3) assert np.any(image1 != image3) with qtbot.waitSignal(image_view.channel_control.coloring_update), qtbot.waitSignal( image_view.channel_control.change_channel, check_params_cb=check_parameters ): ch_property.fixed.setChecked(False) image1 = image_view.viewer_widget.screenshot() assert np.any(image1 != 255) assert np.any(image1 != image2) assert np.any(image1 != image3)