a
    
d                     @   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 g dg dg}t|| d S )N               *   `   r   (         r
   r
   )Q   l   W   )         )nparangereshaper   arrayr   image1out1	expected1image2out2	expected2 r#   i/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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 g dg d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        )   r   r   r   )r   r   r   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| g d W d    n1 s@0    Y  tt t| ddg W d    n1 sx0    Y  d S )Nr   r   r   )r0   r	   r
   r0   g      ?)r   r   r   r   Zraises
ValueErrorr   )imager#   r#   r$   test_invalid_block_sizeR   s
    ,rB   c                  C   sD   t ddd} t| t jd}t g dg dg}t|| d S )Nr   r   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   sz   t jg dg dg dg d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svJ d S )N)a   {         )            )   r7      5   )rS      e   9   dtyper	   r	   r[   r'   Zfunc_kwargs)   rD       r;   )r   r   Zuint8r   r.   r   r[   rE   r#   r#   r$   test_func_kwargs_same_dtypem   s    


r`   c                  C   sz   t jg dg dg dg d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svJ d S )N)g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   float64r   r.   float16r   r[   rE   r#   r#   r$    test_func_kwargs_different_dtype{   s    


rc   )numpyr   Zskimage.measurer   Zskimage._sharedr   Zskimage._shared.testingr   r%   r/   r1   r6   r?   rB   rH   rK   r`   rc   r#   r#   r#   r$   <module>   s   	
