Vehicle-Anti-Theft-Face-Rec.../venv/Lib/site-packages/skimage/data/tests/test_data.py

149 lines
3.9 KiB
Python

import numpy as np
import skimage.data as data
from skimage.data import image_fetcher
from skimage import io
from skimage._shared.testing import assert_equal, assert_almost_equal, fetch
import os
import pytest
def test_data_dir():
# data_dir should be a directory people can use as a standard directory
# https://github.com/scikit-image/scikit-image/pull/3945#issuecomment-498141893
data_dir = data.data_dir
assert 'astronaut.png' in os.listdir(data_dir)
def test_download_all_with_pooch():
# jni first wrote this test with the intention of
# fully deleting the files in the data_dir,
# then ensure that the data gets downloaded accordingly.
# hmaarrfk raised the concern that this test wouldn't
# play well with parallel testing since we
# may be breaking the global state that certain other
# tests require, especially in parallel testing
# The second concern is that this test essentially uses
# alot of bandwidth, which is not fun for developers on
# lower speed connections.
# https://github.com/scikit-image/scikit-image/pull/4666/files/26d5138b25b958da6e97ebf979e9bc36f32c3568#r422604863
data_dir = data.data_dir
if image_fetcher is not None:
data.download_all()
assert len(os.listdir(data_dir)) > 50
else:
with pytest.raises(ModuleNotFoundError):
data.download_all()
def test_astronaut():
""" Test that "astronaut" image can be loaded. """
astronaut = data.astronaut()
assert_equal(astronaut.shape, (512, 512, 3))
def test_camera():
""" Test that "camera" image can be loaded. """
cameraman = data.camera()
assert_equal(cameraman.ndim, 2)
def test_checkerboard():
""" Test that "checkerboard" image can be loaded. """
data.checkerboard()
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():
""" Test that "moon" image can be loaded. """
data.moon()
def test_page():
""" Test that "page" image can be loaded. """
data.page()
def test_rocket():
""" Test that "rocket" image can be loaded. """
data.rocket()
def test_text():
""" Test that "text" image can be loaded. """
data.text()
def test_stereo_motorcycle():
""" Test that "stereo_motorcycle" image can be loaded. """
data.stereo_motorcycle()
def test_binary_blobs():
blobs = data.binary_blobs(length=128)
assert_almost_equal(blobs.mean(), 0.5, decimal=1)
blobs = data.binary_blobs(length=128, volume_fraction=0.25)
assert_almost_equal(blobs.mean(), 0.25, decimal=1)
blobs = data.binary_blobs(length=32, volume_fraction=0.25, n_dim=3)
assert_almost_equal(blobs.mean(), 0.25, decimal=1)
other_realization = data.binary_blobs(length=32, volume_fraction=0.25,
n_dim=3)
assert not np.all(blobs == other_realization)
def test_lfw_subset():
""" Test that "lfw_subset" can be loaded."""
data.lfw_subset()
def test_cell():
""" Test that "cell" image can be loaded."""
data.cell()
def test_cells_3d():
"""Needs internet connection."""
path = fetch('data/cells.tif')
image = io.imread(path)
assert image.shape == (60, 256, 256)