U
    ?h                     @   s<  d dl Zd dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlZd dlZdd Zdd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Z d+d, Z!d-d. Z"d/d0 Z#d1d2 Z$d3d4 Z%d5d6 Z&d7d8 Z'ej()d9d:gd;d< Z*dS )=    N)_image_fetcher)io)assert_equalassert_almost_equalfetchc               	   C   sb   t j} td k	r@t   dt| ks(ttt| dks^tnt	t
 t   W 5 Q R X d S )Nzastronaut.png2   )datadata_dirr   Zdownload_alloslistdirAssertionErrorlenpytestZraisesModuleNotFoundError)r	    r   N/var/www/html/venv/lib/python3.8/site-packages/skimage/data/tests/test_data.pytest_download_all_with_pooch
   s    r   c                  C   s   t  } t| jd dS )z, Test that "astronaut" image can be loaded. )   r      N)r   	astronautr   shape)r   r   r   r   test_astronaut!   s    r   c                  C   s   t  } t| jd dS )z) Test that "camera" image can be loaded.    N)r   camerar   ndim)Z	cameramanr   r   r   test_camera'   s    r   c                   C   s   t   dS )z/ Test that "checkerboard" image can be loaded. N)r   Zcheckerboardr   r   r   r   test_checkerboard-   s    r   c                   C   s   t   dS )z* Test that "chelsea" image can be loaded. N)r   Zchelsear   r   r   r   test_chelsea2   s    r   c                   C   s   t   dS )z( Test that "clock" image can be loaded. N)r   clockr   r   r   r   
test_clock7   s    r   c                   C   s   t   dS )z) Test that "coffee" image can be loaded. N)r   coffeer   r   r   r   test_coffee<   s    r!   c                  C   s2   t d t } t| jd t| jtd dS )z( Test that "eagle" image can be loaded. zdata/eagle.pngr   Zuint8N)r   r   eagler   r   dtypenp)r"   r   r   r   
test_eagleA   s    r%   c                  C   s*   t  } t| jd t| jtd dS )z( Test that "horse" image can be loaded. r   boolN)r   horser   r   r#   r$   )r'   r   r   r   
test_horseK   s    r(   c                   C   s   t   dS )z) Test that "Hubble" image can be loaded. N)r   Zhubble_deep_fieldr   r   r   r   test_hubbleR   s    r)   c                   C   s   t   dS )z7 Test that "immunohistochemistry" image can be loaded. N)r   Zimmunohistochemistryr   r   r   r   test_immunohistochemistryW   s    r*   c                  C   s(   t  } t| jd t| jd d dS )z' Test that "logo" image can be loaded. r   r      N)r   logor   r   r   )r,   r   r   r   	test_logo\   s    r-   c                   C   s   t   dS )z' Test that "moon" image can be loaded. N)r   moonr   r   r   r   	test_moonc   s    r/   c                   C   s   t   dS )z' Test that "page" image can be loaded. N)r   pager   r   r   r   	test_pageh   s    r1   c                   C   s   t   dS )z) Test that "rocket" image can be loaded. N)r   rocketr   r   r   r   test_rocketm   s    r3   c                   C   s   t   dS )z' Test that "text" image can be loaded. N)r   textr   r   r   r   	test_textr   s    r5   c                   C   s   t   dS )z4 Test that "stereo_motorcycle" image can be loaded. N)r   Zstereo_motorcycler   r   r   r   test_stereo_motorcyclew   s    r6   c                  C   s   t jdd} t|  ddd t jddd} t|  ddd t jddd	d
} t|  ddd t jddd	d
}t| |krtd S )N   )lengthg      ?   )decimalg      ?)r8   volume_fraction    r   )r8   r;   Zn_dim)r   Zbinary_blobsr   Zmeanr$   allr   )ZblobsZother_realizationr   r   r   test_binary_blobs|   s    r>   c                   C   s   t   dS )z& Test that "lfw_subset" can be loaded.N)r   Z
lfw_subsetr   r   r   r   test_lfw_subset   s    r?   c                  C   s   t  } | jdkstdS )zJTest that "skin" image can be loaded.

    Needs internet connection.
    r   N)r   skinr   r   )r@   r   r   r   	test_skin   s    rA   c                   C   s   t   dS )z& Test that "cell" image can be loaded.N)r   cellr   r   r   r   	test_cell   s    rC   c                  C   s$   t d} t| }|jdks tdS )Needs internet connection.zdata/cells3d.tif)<   r      rF   Nr   r   Zimreadr   r   pathimager   r   r   test_cells3d   s    
rK   c                  C   s$   t d} t| }|jdks tdS )rD   zdata/brain.tiff)
   rF   rF   NrG   rH   r   r   r   test_brain_3d   s    
rM   c                  C   s"   t d t } | jdkstdS )zdTest that 3D multichannel image of kidney tissue can be loaded.

    Needs internet connection.
    zdata/kidney.tif)   r   r   r   N)r   r   kidneyr   r   )rO   r   r   r   test_kidney_3d_multichannel   s    rP   c                  C   s"   t d t } | jdkstdS )zdTest that microscopy image of lily of the valley can be loaded.

    Needs internet connection.
    zdata/lily.tif)  rQ   r+   N)r   r   lilyr   r   )rR   r   r   r   test_lily_multichannel   s    rS   c                  C   s<   t d t d t \} }| |fD ]}|jdks$tq$d S )Nzdata/pivchallenge-B-B001_1.tifzdata/pivchallenge-B-B001_2.tif)r   r   )r   r   Zvortexr   r   )Zimage0Zimage1rJ   r   r   r   test_vortex   s
    rT   function_nameZ	file_hashc                 C   s   t t| std S )N)hasattrr   r   )rU   r   r   r   test_fetchers_are_public   s    rW   )+numpyr$   Zskimage.datar   Zskimage.data._fetchersr   Zskimager   Zskimage._shared.testingr   r   r   r
   r   r   r   r   r   r   r   r!   r%   r(   r)   r*   r-   r/   r1   r3   r5   r6   r>   r?   rA   rC   rK   rM   rP   rS   rT   markZparametrizerW   r   r   r   r   <module>   sJ   
	

 