Add expected_warnings to the tests using threshold_otsu

This commit is contained in:
Himanshu Mishra
2016-01-15 10:16:26 +05:30
parent 296438d08e
commit a2d75de834
2 changed files with 7 additions and 4 deletions
+5 -2
View File
@@ -3,6 +3,7 @@ from numpy.testing import assert_equal, assert_almost_equal
import skimage
from skimage import data
from skimage._shared._warnings import expected_warnings
from skimage.filters.thresholding import (threshold_adaptive,
threshold_otsu,
threshold_li,
@@ -158,11 +159,13 @@ def test_otsu_coins_image_as_float():
def test_otsu_lena_image():
img = skimage.img_as_ubyte(data.lena())
assert 140 < threshold_otsu(img) < 142
with expected_warnings(['grayscale']):
assert 140 < threshold_otsu(img) < 142
def test_otsu_astro_image():
img = skimage.img_as_ubyte(data.astronaut())
assert 109 < threshold_otsu(img) < 111
with expected_warnings(['grayscale']):
assert 109 < threshold_otsu(img) < 111
def test_li_camera_image():
camera = skimage.img_as_ubyte(data.camera())
+2 -2
View File
@@ -122,11 +122,11 @@ def threshold_otsu(image, nbins=256):
Notes
-----
The input image must be Grayscale.
The input image must be grayscale.
"""
if image.shape[-1] in (3, 4):
msg = "threshold_otsu is expected to work correctly only for " \
"grayscale images; image shape {} looks like an RGB image"
"grayscale images; image shape {0} looks like an RGB image"
warnings.warn(msg.format(image.shape))
hist, bin_centers = histogram(image.ravel(), nbins)