o
    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 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#   [/var/www/html/scripts/venv/lib/python3.10/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      


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   medianr   r   )r   r   r   r    r!   r"   image3out3r#   r#   r$   test_block_reduce_median$   s   



r5   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   r0   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   r&   r            r   r   r,         $   '   )r   r   r   r   maxr   r   r   r#   r#   r$   test_block_reduce_maxD   r0   rC   c                  C   s   t ddd} tt t| g d W d    n1 s w   Y  tt t| ddg W d    d S 1 s=w   Y  d S )Nr   r   r   )r1   r	   r
   r1   g      ?)r   r   r   r   raises
ValueErrorr   )imager#   r#   r$   test_invalid_block_sizeR   s   "rG   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   )r6         r8   rF   outexpectedr#   r#   r$   test_default_block_size[   s   
rM   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   r8   )rF   rK   r   r"   r#   r#   r$   test_scalar_block_sizec   s   

rP   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s;J d S )N)a   {         )            )   r;      5   )rX      e   9   dtyper	   r	   r`   r'   func_kwargs)   rI       r?   )r   r   uint8r   r.   r   r`   rJ   r#   r#   r$   test_func_kwargs_same_dtypem   s   


rg   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s;J 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?r_   ra   r`   rb   gV-?g??g9m4?gy&1?)r   r   float64r   r.   float16r   r`   rJ   r#   r#   r$    test_func_kwargs_different_dtype{   s   


rj   )numpyr   skimage.measurer   skimage._sharedr   skimage._shared.testingr   r%   r/   r5   r:   rC   rG   rM   rP   rg   rj   r#   r#   r#   r$   <module>   s    	
