Merge pull request #2196 from sciunto/horse

Add missing unittests for data and convert horse to binary
This commit is contained in:
Josh Warner
2016-07-17 18:26:30 -05:00
committed by GitHub
6 changed files with 74 additions and 58 deletions
@@ -50,7 +50,7 @@ background is realized with :func:`rgba2rgb` ::
>>> from skimage.color import rgba2rgb
>>> from skimage import data
>>> img_rgba = data.horse()
>>> img_rgba = data.logo()
>>> img_rgb = rgba2rgb(img_rgba)
Conversion between color and gray values
+4 -5
View File
@@ -82,7 +82,6 @@ def expected_warnings(matching):
matching : list of strings or compiled regexes
Regexes for the desired warning to catch
Examples
--------
>>> from skimage import data, img_as_ubyte, img_as_float
@@ -96,14 +95,14 @@ def expected_warnings(matching):
pattern(s).
Raises a ValueError if any match was not found or an unexpected
warning was raised.
Allows for three types of behaviors: "and", "or", and "optional" matches.
Allows for three types of behaviors: `and`, `or`, and `optional` matches.
This is done to accomodate different build enviroments or loop conditions
that may produce different warnings. The behaviors can be combined.
If you pass multiple patterns, you get an orderless "and", where all of the
If you pass multiple patterns, you get an orderless `and`, where all of the
warnings must be raised.
If you use the "|" operator in a pattern, you can catch one of several
If you use the `|` operator in a pattern, you can catch one of several
warnings.
Finally, you can use "|\A\Z" in a pattern to signify it as optional.
Finally, you can use `|\A\Z` in a pattern to signify it as optional.
"""
with all_warnings() as w:
+1 -1
View File
@@ -200,7 +200,7 @@ def rgba2rgb(rgba, background=(1, 1, 1)):
--------
>>> from skimage import color
>>> from skimage import data
>>> img_rgba = data.horse()
>>> img_rgba = data.logo()
>>> img_rgb = color.rgba2rgb(img_rgba)
"""
arr = _prepare_rgba_array(rgba)
+25 -32
View File
@@ -10,34 +10,37 @@ import os as _os
from .. import data_dir
from ..io import imread, use_plugin
from .._shared.utils import deprecated
from .._shared._warnings import expected_warnings
from ._binary_blobs import binary_blobs
from .. import img_as_bool
__all__ = ['load',
'astronaut',
'camera',
'lena',
'text',
'checkerboard',
'chelsea',
'clock',
'coffee',
'coins',
'horse',
'hubble_deep_field',
'immunohistochemistry',
'logo',
'moon',
'page',
'horse',
'clock',
'immunohistochemistry',
'chelsea',
'coffee',
'hubble_deep_field',
'rocket',
'astronaut']
'text',
'rocket']
def load(f):
def load(f, as_grey=False):
"""Load an image file located in the data directory.
Parameters
----------
f : string
File name.
as_grey : bool, optional
Convert to greyscale.
Returns
-------
@@ -45,7 +48,7 @@ def load(f):
Image loaded from ``skimage.data_dir``.
"""
use_plugin('pil')
return imread(_os.path.join(data_dir, f))
return imread(_os.path.join(data_dir, f), as_grey=as_grey)
def camera():
@@ -57,22 +60,6 @@ def camera():
return load("camera.png")
@deprecated('skimage.data.astronaut')
def lena():
"""Colour "Lena" image.
**This image has been removed from scikit-image due to copyright
concerns.**
The standard, yet sometimes controversial Lena test image was
scanned from the November 1972 edition of Playboy magazine. From
an image processing perspective, this image is useful because it
contains smooth, textured, shaded as well as detail areas.
"""
raise RuntimeError("This image has been removed due to copyright concerns.")
def astronaut():
"""Colour image of the astronaut Eileen Collins.
@@ -138,6 +125,11 @@ def coins():
return load("coins.png")
def logo():
"""Scikit-image logo, a RGBA image."""
return load("logo.png")
def moon():
"""Surface of the moon.
@@ -168,7 +160,8 @@ def horse():
(marauder).
"""
return load("horse.png")
with expected_warnings(['Possible precision loss', 'Possible sign loss']):
return img_as_bool(load("horse.png", as_grey=True))
def clock():
@@ -242,8 +235,8 @@ def hubble_deep_field():
`HubbleSite
<http://hubblesite.org/newscenter/archive/releases/2012/37/image/a/>`__.
The image was captured by NASA and `may be freely used in the
public domain <http://www.nasa.gov/audience/formedia/features/MP_Photo_Guidelines.html>`_.
The image was captured by NASA and `may be freely used in the public domain
<http://www.nasa.gov/audience/formedia/features/MP_Photo_Guidelines.html>`_.
"""
return load("hubble_deep_field.jpg")
Binary file not shown.

After

Width:  |  Height:  |  Size: 176 KiB

+43 -19
View File
@@ -3,11 +3,6 @@ import skimage.data as data
from numpy.testing import assert_equal, assert_almost_equal, assert_raises
def test_lena_removed():
""" Test that "Lena" has been removed """
assert_raises(RuntimeError, data.lena)
def test_astronaut():
""" Test that "astronaut" image can be loaded. """
astronaut = data.astronaut()
@@ -25,9 +20,43 @@ def test_checkerboard():
data.checkerboard()
def test_text():
""" Test that "text" image can be loaded. """
data.text()
def test_chelsea():
""" Test that "chelsea" image can be loaded. """
data.chelsea()
def test_clock():
""" Test that "clock" image can be loaded. """
data.clock()
def test_coffee():
""" Test that "coffee" image can be loaded. """
data.coffee()
def test_horse():
""" Test that "horse" image can be loaded. """
horse = data.horse()
assert_equal(horse.ndim, 2)
assert_equal(horse.dtype, np.dtype('bool'))
def test_hubble():
""" Test that "Hubble" image can be loaded. """
data.hubble_deep_field()
def test_immunohistochemistry():
""" Test that "immunohistochemistry" image can be loaded. """
data.immunohistochemistry()
def test_logo():
""" Test that "logo" image can be loaded. """
logo = data.logo()
assert_equal(logo.ndim, 3)
assert_equal(logo.shape[2], 4)
def test_moon():
@@ -40,19 +69,14 @@ def test_page():
data.page()
def test_clock():
""" Test that "clock" image can be loaded. """
data.clock()
def test_rocket():
""" Test that "rocket" image can be loaded. """
data.rocket()
def test_chelsea():
""" Test that "chelsea" image can be loaded. """
data.chelsea()
def test_coffee():
""" Test that "coffee" image can be loaded. """
data.coffee()
def test_text():
""" Test that "text" image can be loaded. """
data.text()
def test_binary_blobs():