def test_screenshot_dialog(make_napari_viewer, tmpdir): """Test save screenshot functionality.""" viewer = make_napari_viewer() np.random.seed(0) # Add image data = np.random.random((10, 15)) viewer.add_image(data) # Add labels data = np.random.randint(20, size=(10, 15)) viewer.add_labels(data) # Add points data = 20 * np.random.random((10, 2)) viewer.add_points(data) # Add vectors data = 20 * np.random.random((10, 2, 2)) viewer.add_vectors(data) # Add shapes data = 20 * np.random.random((10, 4, 2)) viewer.add_shapes(data) # Save screenshot input_filepath = os.path.join(tmpdir, 'test-save-screenshot') mock_return = (input_filepath, '') with mock.patch('napari._qt._qt_viewer.QFileDialog') as mocker, mock.patch( 'napari._qt._qt_viewer.QMessageBox' ) as mocker2: mocker.getSaveFileName.return_value = mock_return mocker2.warning.return_value = QMessageBox.Yes viewer.window._qt_viewer._screenshot_dialog() # Assert behaviour is correct expected_filepath = input_filepath + '.png' # add default file extension assert os.path.exists(expected_filepath) output_data = imread(expected_filepath) expected_data = viewer.window._qt_viewer.screenshot(flash=False) assert np.allclose(output_data, expected_data)
def test_save_screenshot(viewer_factory, tmpdir): """Test save screenshot functionality.""" view, viewer = viewer_factory() np.random.seed(0) # Add image data = np.random.random((10, 15)) viewer.add_image(data) # Add labels data = np.random.randint(20, size=(10, 15)) viewer.add_labels(data) # Add points data = 20 * np.random.random((10, 2)) viewer.add_points(data) # Add vectors data = 20 * np.random.random((10, 2, 2)) viewer.add_vectors(data) # Add shapes data = 20 * np.random.random((10, 4, 2)) viewer.add_shapes(data) # Save screenshot input_filepath = os.path.join(tmpdir, 'test-save-screenshot') mock_return = (input_filepath, '') with mock.patch('napari._qt.qt_viewer.QFileDialog') as mocker: mocker.getSaveFileName.return_value = mock_return view._save_screenshot() # Assert behaviour is correct expected_filepath = input_filepath + '.png' # add default file extension assert os.path.exists(expected_filepath) output_data = imread(expected_filepath) expected_data = view.screenshot() assert np.allclose(output_data, expected_data)
def reader(path): return (io.imread(path), {}, 'labels') # metadata
def reader(path): return (io.imread(path), {}, 'image') # metadata
def reader(path): return ( io.imread(path), {}, # metadata )