o
    :ήc                     @   sF  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'd9d: Z(ej)*d;g d<d=d> Z+dS )?    N)image_fetcher)io)assert_equalassert_almost_equalfetchc                  C   s   t j} dt| v sJ d S )Nzastronaut.png)datadata_diroslistdirr    r   C/tmp/pip-target-vg8gfxp4/lib/python/skimage/data/tests/test_data.pytest_data_dir
   s   r   c                  C   sh   t j} td urt   tt| dksJ d S tt	 t   W d    d S 1 s-w   Y  d S )N2   )
r   r   r   download_alllenr	   r
   pytestraisesModuleNotFoundErrorr   r   r   r   test_download_all_with_pooch   s   
"r   c                  C      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'      r   c                  C   r   )z) Test that "camera" image can be loaded.    N)r   camerar   ndim)	cameramanr   r   r   test_camera-   r   r!   c                   C      t   dS )z/ Test that "checkerboard" image can be loaded. N)r   checkerboardr   r   r   r   test_checkerboard3      r$   c                   C   r"   )z* Test that "chelsea" image can be loaded. N)r   chelsear   r   r   r   test_chelsea8   r%   r'   c                   C   r"   )z( Test that "clock" image can be loaded. N)r   clockr   r   r   r   
test_clock=   r%   r)   c                   C   r"   )z) Test that "coffee" image can be loaded. N)r   coffeer   r   r   r   test_coffeeB   r%   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   uint8N)r   r   eagler   r   dtypenp)r-   r   r   r   
test_eagleG   s   r0   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/   )r2   r   r   r   
test_horseQ   s   r3   c                   C   r"   )z) Test that "Hubble" image can be loaded. N)r   hubble_deep_fieldr   r   r   r   test_hubbleX   r%   r5   c                   C   r"   )z7 Test that "immunohistochemistry" image can be loaded. N)r   immunohistochemistryr   r   r   r   test_immunohistochemistry]   r%   r7   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   )r9   r   r   r   	test_logob   s   r:   c                   C   r"   )z' Test that "moon" image can be loaded. N)r   moonr   r   r   r   	test_mooni   r%   r<   c                   C   r"   )z' Test that "page" image can be loaded. N)r   pager   r   r   r   	test_pagen   r%   r>   c                   C   r"   )z) Test that "rocket" image can be loaded. N)r   rocketr   r   r   r   test_rockets   r%   r@   c                   C   r"   )z' Test that "text" image can be loaded. N)r   textr   r   r   r   	test_textx   r%   rB   c                   C   r"   )z4 Test that "stereo_motorcycle" image can be loaded. N)r   stereo_motorcycler   r   r   r   test_stereo_motorcycle}   r%   rD   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rAJ d S )N   )lengthg      ?   )decimalg      ?)rF   volume_fraction    r   )rF   rI   n_dim)r   binary_blobsr   meanr/   all)blobsother_realizationr   r   r   test_binary_blobs   s   rQ   c                   C   r"   )z& Test that "lfw_subset" can be loaded.N)r   
lfw_subsetr   r   r   r   test_lfw_subset   r%   rS   c                  C   s   t  } | jdksJ dS )zJTest that "skin" image can be loaded.

    Needs internet connection.
    r   N)r   skinr   )rT   r   r   r   	test_skin   s   rU   c                   C   r"   )z& Test that "cell" image can be loaded.N)r   cellr   r   r   r   	test_cell   r%   rW   c                  C   $   t d} t| }|jdksJ dS )Needs internet connection.zdata/cells3d.tif)<   r      r[   Nr   r   imreadr   pathimager   r   r   test_cells3d      
ra   c                  C   rX   )rY   zdata/brain.tiff)
   r[   r[   Nr\   r^   r   r   r   test_brain_3d   rb   rd   c                  C   "   t d t } | jdksJ 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   )rg   r   r   r   test_kidney_3d_multichannel      rh   c                  C   re   )zdTest that microscopy image of lily of the valley can be loaded.

    Needs internet connection.
    zdata/lily.tif)  rj   r8   N)r   r   lilyr   )rk   r   r   r   test_lily_multichannel   ri   rl   c                  C   s<   t d t d t \} }| |fD ]	}|jdksJ qd S )Nzdata/pivchallenge-B-B001_1.tifzdata/pivchallenge-B-B001_2.tif)r   r   )r   r   vortexr   )image0image1r`   r   r   r   test_vortex   s   rp   function_name)create_image_fetcher	file_hashr   c                 C   s   t t| sJ d S )N)hasattrr   )rq   r   r   r   test_fetchers_are_public   s   ru   ),numpyr/   skimage.datar   skimage.data._fetchersr   skimager   skimage._shared.testingr   r   r   r	   r   r   r   r   r!   r$   r'   r)   r+   r0   r3   r5   r7   r:   r<   r>   r@   rB   rD   rQ   rS   rU   rW   ra   rd   rh   rl   rp   markparametrizeru   r   r   r   r   <module>   sL    
	

