U
    ?h                     @   s   d dl Zd dlmZ d dlmZ d dlm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S )    N)block_reduce)testing)assert_equalc                  C   s   t ddd} t| d}t ddgddgg}t|| t dd	d
}t|d}t dddgdddgg}t|| d S )N               *   `   r   (         r
   r
   Q   l   W            )nparangereshaper   arrayr   image1out1	expected1image2out2	expected2 r#   R/var/www/html/venv/lib/python3.8/site-packages/skimage/measure/tests/test_block.pytest_block_reduce_sum   s    



r%   c                  C   s   t ddd} t| dt jd}t ddgdd	gg}t|| t d
dd}t|dt jd}t ddgddgg}t|| d S )Nr   r   r   r   func      @      @      0@      3@r   r   r   r   r         ,@g%@g      !@g@)r   r   r   r   meanr   r   r   r#   r#   r$   test_block_reduce_mean   s    


r/   c                  C   s   t ddd} t| dt jd}t ddgdd	gg}t|| t d
dd}t|dt jd}t ddgddgg}t|| t ddddgddddgg}t|dt jd}td| d S )Nr   r   r   r   r&   r(   r)   r*   r+   r   r   r   r,   r-   g      @g           i  )r	   r   )r   r   r   r   Zmedianr   r   )r   r   r   r    r!   r"   Zimage3Zout3r#   r#   r$   test_block_reduce_median$   s    



r1   c                  C   s   t ddd} t| dt jd}t ddgdd	gg}t|| t d
dd}t|dt jd}t ddgddgg}t|| d S )Nr   r   r   r   r&   r   r
         r   r   r   r,   r   r   r   r   minr   r   r   r#   r#   r$   test_block_reduce_min6   s    


r6   c                  C   s   t ddd} t| dt jd}t ddgdd	gg}t|| t d
dd}t|dt jd}t ddgddgg}t|| d S )Nr   r   r   r   r&   r            r   r   r,         $   '   )r   r   r   r   maxr   r   r   r#   r#   r$   test_block_reduce_maxD   s    


r?   c               	   C   s`   t ddd} tt t| dddg W 5 Q R X tt t| ddg W 5 Q R X d S )Nr   r   r   r0   r	   r
   g      ?)r   r   r   r   Zraises
ValueErrorr   )imager#   r#   r$   test_invalid_block_sizeR   s
    rB   c                  C   sH   t ddd} t| t jd}t dddgddd	gg}t|| d S )
Nr   r   r   r&   r   r	   r2         r4   rA   outexpectedr#   r#   r$   test_default_block_size[   s    rH   c                  C   s`   t ddd} t| dt jd}t ddgddgg}t|| t| dt jd}t|| d S )	Nr<   r   r
   r&   r         r   r4   )rA   rF   r   r"   r#   r#   r$   test_scalar_block_sizec   s    

rK   c                  C   s   t jddddgddddgd	d
ddgddddggt jd} t| dt jdt jid}t jddgddggt jd}t|| |j|jkstd S )Na   {                        r7      5      e   9   dtyper	   r	   r[   r'   Zfunc_kwargs)   rD       r;   )r   r   Zuint8r   r.   r   r[   AssertionErrorrE   r#   r#   r$   test_func_kwargs_same_dtypem   s    




ra   c                  C   s   t jddddgddddgd	d
ddgddddggt jd} t| dt jdt jid}t jddgddggt jd}t|| |j|jkstd S )NgHF?gn?gkj?g>p:n$?g?gM;Es?g7I+?gY#F?g7X?g:;`H?gIg/?g|?g;aWR?gcXt?g1V8?g*.eQ?rZ   r\   r[   r]   gV-?g??g9m4?gy&1?)	r   r   Zfloat64r   r.   Zfloat16r   r[   r`   rE   r#   r#   r$    test_func_kwargs_different_dtype{   s    




rb   )numpyr   Zskimage.measurer   Zskimage._sharedr   Zskimage._shared.testingr   r%   r/   r1   r6   r?   rB   rH   rK   ra   rb   r#   r#   r#   r$   <module>   s   	
