U
    ?h
                     @   s   d dl Z d dlmZ d dlZd dlZd dlmZmZ d dl	m
Z
 d dlmZmZmZmZ dd Zdd	 Zd
d Zdd Zdd Zdd Zdd ZG dd dZdS )    N)NamedTemporaryFile)assert_array_almost_equalassert_array_equal)fetch)imreadimsavereset_plugins
use_pluginc                   C   s   t d tjd d S )NZtifffiler   )r	   nprandomseed r   r   P/var/www/html/venv/lib/python3.8/site-packages/skimage/io/tests/test_tifffile.pysetup   s    r   c                   C   s
   t   d S )N)r   r   r   r   r   teardown   s    r   c                  C   s8   t td} ttd}|jt jks*tt||  d S )Ndata/chessboard_GRAY_U8.npydata/chessboard_GRAY_U16.tifr
   loadr   r   dtypeuint16AssertionErrorr   expectedimgr   r   r   test_imread_uint16   s    r   c                  C   s8   t td} ttd}|jt jks*tt||  d S )Nr   zdata/chessboard_GRAY_U16B.tifr   r   r   r   r   test_imread_uint16_big_endian   s    r   c                  C   s$   t td} | jdks t| jd S )Nzdata/multipage_rgb.tif)   
   r      r   r   shaper   r   r   r   r   test_imread_multipage_rgb_tif"   s    r#   c                  C   s,   t tddgdd} | jdks(t| jd S )Nzdata/multipage.tif   T)keyZis_ome)   r   r    r"   r   r   r   test_tifffile_kwarg_passthrough'   s    r'   c               	   C   sN   t td} ttdd}t|}W 5 Q R X |jt jks@tt||  d S )Nr   r   rb)	r
   r   r   openr   r   r   r   r   )r   fhr   r   r   r   test_imread_handle,   s
    r+   c                   @   sz   e Zd ZdddZdZejejejej	ej
fZejdeejdeejdddgejd	ddgd
d ZdS )TestSaveFc              	   K   sV   t dd}|j}W 5 Q R X |r*t|}t||fddi| t|}t|| d S )Nz.tif)suffixZcheck_contrastF)r   namepathlibPathr   r   r   )selfr   xuse_pathlibkwargsffnameyr   r   r   	roundtrip6   s    
zTestSave.roundtrip))r   r   )r   r   r   )r   r      r!   r   r3   Texplicit_photometric_kwargc                 C   sr   t jj| }t |t js2|t |j |}n
||}|rX|jd dkrXddi}ni }| j	|||f| d S )N)r   r9   Zphotometricrgb)
r
   r   ZrandZ
issubdtypeZfloatingZiinfomaxZastyper!   r8   )r1   r!   r   r3   r:   r2   r4   r   r   r   test_imsave_roundtripC   s    

zTestSave.test_imsave_roundtripN)F)__name__
__module____qualname__r8   Zshapesr
   Zuint8r   Zfloat32Zint16Zfloat64ZdtypespytestmarkZparametrizer>   r   r   r   r   r,   4   s   

r,   )r/   tempfiler   numpyr
   rB   Znumpy.testingr   r   Zskimage._shared.testingr   Z
skimage.ior   r   r   r	   r   r   r   r   r#   r'   r+   r,   r   r   r   r   <module>   s   