Skip tests if matplotlib is not present

This commit is contained in:
blink1073
2014-07-17 12:33:59 -05:00
parent 97d920cc6b
commit acbac35616
5 changed files with 79 additions and 49 deletions
+23 -17
View File
@@ -4,15 +4,21 @@ import skimage
import skimage.data as data
from skimage.filter.rank import median
from skimage.morphology import disk
from skimage.viewer import ImageViewer
from skimage.viewer.qt import qt_api
from numpy.testing import assert_equal, assert_allclose, assert_almost_equal
from numpy.testing.decorators import skipif
from skimage.viewer.plugins import (
LineProfile, Measure, CannyPlugin, LabelPainter, Crop, ColorHistogram,
PlotPlugin)
from skimage.viewer.plugins.base import Plugin
from skimage.viewer.widgets import Slider
try:
from skimage.viewer.qt import qt_api
from skimage.viewer import ImageViewer
from skimage.viewer.plugins import (
LineProfile, Measure, CannyPlugin, LabelPainter, Crop, ColorHistogram,
PlotPlugin)
from skimage.viewer.plugins.base import Plugin
from skimage.viewer.widgets import Slider
except ImportError:
skip_all = True
else:
skip_all = False
def setup_line_profile(image, limits='image'):
@@ -22,7 +28,7 @@ def setup_line_profile(image, limits='image'):
return plugin
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_line_profile():
""" Test a line profile using an ndim=2 image"""
plugin = setup_line_profile(data.camera())
@@ -36,7 +42,7 @@ def test_line_profile():
assert_allclose(scan_data.mean(), 0.2812, rtol=1e-3)
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_line_profile_rgb():
""" Test a line profile using an ndim=3 image"""
plugin = setup_line_profile(data.chelsea(), limits=None)
@@ -51,7 +57,7 @@ def test_line_profile_rgb():
assert_allclose(scan_data.mean(), 0.4359, rtol=1e-3)
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_line_profile_dynamic():
"""Test a line profile updating after an image transform"""
image = data.coins()[:-50, :] # shave some off to make the line lower
@@ -76,7 +82,7 @@ def test_line_profile_dynamic():
assert_almost_equal(np.max(line) - np.min(line), 0.639, 1)
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_measure():
image = data.camera()
viewer = ImageViewer(image)
@@ -88,7 +94,7 @@ def test_measure():
assert_equal(str(m._angle.text[:5]), '135.0')
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_canny():
image = data.camera()
viewer = ImageViewer(image)
@@ -101,7 +107,7 @@ def test_canny():
assert edges.sum() == 2852
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_label_painter():
image = data.camera()
moon = data.moon()
@@ -119,7 +125,7 @@ def test_label_painter():
assert_equal(lp.paint_tool.shape, moon.shape)
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_crop():
image = data.camera()
viewer = ImageViewer(image)
@@ -130,7 +136,7 @@ def test_crop():
assert_equal(viewer.image.shape, (101, 101))
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_color_histogram():
image = skimage.img_as_float(data.load('color.png'))
viewer = ImageViewer(image)
@@ -142,7 +148,7 @@ def test_color_histogram():
assert_almost_equal(viewer.image.std(), 0.325, 3)
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_plot_plugin():
viewer = ImageViewer(data.moon())
plugin = PlotPlugin(image_filter=lambda x: x)
@@ -154,7 +160,7 @@ def test_plot_plugin():
viewer.close()
@skipif(qt_api is None)
@skipif(skip_all or qt_api is None)
def test_plugin():
img = skimage.img_as_float(data.moon())
viewer = ImageViewer(img)