mirror of
https://github.com/wassname/scikit-image.git
synced 2026-07-19 11:27:45 +08:00
Fix handling of multiple warnings Update all test __init__ files Update segmentation pkg Update the color pkg Update the exposure pkg Update the filters pkg Update the io pkg Update the measure pkg Update morphology package Restructure test setup function Add expected_warnings to __all__ Update restoration pkg. Remove explicit filter check since it is done elsewhere Fix the image test helpers Update the transform pkg Fix util pkg Update viewer pkg
80 lines
2.2 KiB
Python
80 lines
2.2 KiB
Python
|
|
from skimage import data
|
|
from skimage.viewer.qt import QtGui, QtCore
|
|
from skimage.viewer import ImageViewer, CollectionViewer, viewer_available
|
|
from skimage.transform import pyramid_gaussian
|
|
from skimage.viewer.plugins import OverlayPlugin
|
|
from skimage.filters import sobel
|
|
from numpy.testing import assert_equal
|
|
from numpy.testing.decorators import skipif
|
|
from skimage._shared.version_requirements import is_installed
|
|
from skimage._shared._warnings import expected_warnings
|
|
|
|
|
|
@skipif(not viewer_available)
|
|
def test_viewer():
|
|
astro = data.astronaut()
|
|
coins = data.coins()
|
|
|
|
view = ImageViewer(astro)
|
|
import tempfile
|
|
_, filename = tempfile.mkstemp(suffix='.png')
|
|
|
|
view.show(False)
|
|
view.close()
|
|
view.save_to_file(filename)
|
|
view.open_file(filename)
|
|
assert_equal(view.image, astro)
|
|
view.image = coins
|
|
assert_equal(view.image, coins),
|
|
view.save_to_file(filename),
|
|
view.open_file(filename),
|
|
view.reset_image(),
|
|
assert_equal(view.image, coins)
|
|
|
|
|
|
def make_key_event(key):
|
|
return QtGui.QKeyEvent(QtCore.QEvent.KeyPress, key,
|
|
QtCore.Qt.NoModifier)
|
|
|
|
|
|
@skipif(not viewer_available)
|
|
def test_collection_viewer():
|
|
|
|
img = data.astronaut()
|
|
img_collection = tuple(pyramid_gaussian(img))
|
|
|
|
view = CollectionViewer(img_collection)
|
|
make_key_event(48)
|
|
|
|
view.update_index('', 2),
|
|
assert_equal(view.image, img_collection[2])
|
|
view.keyPressEvent(make_key_event(53))
|
|
assert_equal(view.image, img_collection[5])
|
|
view._format_coord(10, 10)
|
|
|
|
|
|
@skipif(not viewer_available)
|
|
@skipif(not is_installed('matplotlib', '>=1.2'))
|
|
def test_viewer_with_overlay():
|
|
img = data.coins()
|
|
ov = OverlayPlugin(image_filter=sobel)
|
|
viewer = ImageViewer(img)
|
|
viewer += ov
|
|
|
|
import tempfile
|
|
_, filename = tempfile.mkstemp(suffix='.png')
|
|
|
|
ov.color = 3
|
|
assert_equal(ov.color, 'yellow')
|
|
|
|
with expected_warnings(['precision loss']):
|
|
viewer.save_to_file(filename)
|
|
ov.display_filtered_image(img)
|
|
assert_equal(ov.overlay, img)
|
|
ov.overlay = None
|
|
assert_equal(ov.overlay, None)
|
|
ov.overlay = img
|
|
assert_equal(ov.overlay, img)
|
|
assert_equal(ov.filtered_image, img)
|