
    9i                     l    S SK rS SKJr  S SKJr  S SKJr  S rS r	S r
S rS	 rS
 rS rS rS rS rg)    N)block_reduce)testing)assert_equalc                  h   [         R                  " S5      R                  SS5      n [        U S5      n[         R                  " SS/SS//5      n[        X!5        [         R                  " S5      R                  S	S
5      n[        US5      n[         R                  " / SQ/ SQ/5      n[        XT5        g )N               *   `   r   (         r   r   )Q   l   W   )         )nparangereshaper   arrayr   image1out1	expected1image2out2	expected2s         `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/measure/tests/test_block.pytest_block_reduce_sumr&      s    YYu%%a+F'D2r(RI./I!YYu%%a+F'D-9:I!    c                     [         R                  " S5      R                  SS5      n [        U S[         R                  S9n[         R
                  " SS/SS	//5      n[        X!5        [         R                  " S
5      R                  SS5      n[        US[         R                  S9n[         R
                  " SS/SS//5      n[        XT5        g )Nr   r   r	   r
   func      @      @      0@      3@r   r   r   r   r         ,@g%@g      !@g@)r   r   r   r   meanr   r   r   s         r%   test_block_reduce_meanr2      s    YYu%%a+FRWW5D3*tTl34I!YYu%%a+FRWW5D4,c
34I!r'   c                     [         R                  " S5      R                  SS5      n [        U S[         R                  S9n[         R
                  " SS/SS	//5      n[        X!5        [         R                  " S
5      R                  SS5      n[        US[         R                  S9n[         R
                  " SS/SS//5      n[        XT5        [         R
                  " / SQ/ SQ/5      n[        US[         R                  S9n[        SU5        g )Nr   r   r	   r
   r)   r+   r,   r-   r.   r   r   r   r/   r0   g      @g        )   r   r   r   )r   r   r   i  )r   r   )r   r   r   r   medianr   r   )r   r    r!   r"   r#   r$   image3out3s           r%   test_block_reduce_medianr8       s    YYu%%a+FRYY7D3*tTl34I!YYu%%a+FRYY7D4+Sz23I!XX|_56FRYY7DDr'   c                     [         R                  " S5      R                  SS5      n [        U S[         R                  S9n[         R
                  " SS/SS	//5      n[        X!5        [         R                  " S
5      R                  SS5      n[        US[         R                  S9n[         R
                  " SS/SS//5      n[        XT5        g )Nr   r   r	   r
   r)   r   r         r   r   r   r/   r   r   r   r   minr   r   r   s         r%   test_block_reduce_minr>   0   s    YYu%%a+FRVV4D1a&2r(+,I!YYu%%a+FRVV4D1a&1a&)*I!r'   c                     [         R                  " S5      R                  SS5      n [        U S[         R                  S9n[         R
                  " SS/SS	//5      n[        X!5        [         R                  " S
5      R                  SS5      n[        US[         R                  S9n[         R
                  " SS/SS//5      n[        XT5        g )Nr   r   r	   r
   r)   r            r   r   r/         $   '   )r   r   r   r   maxr   r   r   s         r%   test_block_reduce_maxrH   <   s    YYu%%a+FRVV4D1b'B8,-I!YYu%%a+FRVV4D2r(RH-.I!r'   c                  X   [         R                  " S5      R                  SS5      n [        R                  " [
        5         [        U / SQ5        S S S 5        [        R                  " [
        5         [        U SS/5        S S S 5        g ! , (       d  f       N@= f! , (       d  f       g = f)Nr   r   r	   )r4   r   r   r4   g      ?)r   r   r   r   raises
ValueErrorr   )images    r%   test_invalid_block_sizerM   H   sj    IIe$$Q*E	
	#UI& 
$	
	#UQH% 
$	# 
$	#	#	#s   B
2B

B
B)c                      [         R                  " S5      R                  SS5      n [        U [         R                  S9n[         R
                  " / SQ/ SQ/5      n[        X!5        g )Nr   r   r	   r)   )r   r   r   )r:         r<   rL   outexpecteds      r%   test_default_block_sizerT   Q   sH    IIe$$Q*E
u266
*CxxL12Hr'   c                     [         R                  " S5      R                  SS5      n [        U S[         R                  S9n[         R
                  " SS/SS//5      n[        X!5        [        U S[         R                  S9n[        X15        g )	NrE   r	   r   r)   r         r   r<   )rL   rR   r!   r$   s       r%   test_scalar_block_sizerX   X   sl    IIe$$Q*E
uabff
-C1a&2r(+,I UF8I r'   c                  V   [         R                  " / SQ/ SQ/ SQ/ SQ/[         R                  S9n [        U S[         R                  S[         R                  0S9n[         R                  " S	S
/SS//[         R                  S9n[        X5        UR                  UR                  :X  d   eg )N)a   {         )            )   r@      5   )ra      e   9   dtyper   r   ri   r*   func_kwargs)   rP       rD   )r   r   uint8r   r1   r   ri   rQ   s      r%   test_func_kwargs_same_dtyperp   a   s    HH 		
 hhE uf277"((@S
TCxx"bB8,BHH=H99&&&r'   c                  V   [         R                  " / SQ/ SQ/ SQ/ SQ/[         R                  S9n [        U S[         R                  S[         R
                  0S9n[         R                  " S	S
/SS//[         R
                  S9n[        X5        UR                  UR                  :X  d   eg )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?rh   rj   ri   rk   gV-?g??g9m4?gy&1?)r   r   float64r   r1   float16r   ri   rQ   s      r%    test_func_kwargs_different_dtypert   s   s    HH;;<<		
 jjE uf277"**@U
VCxx&&)FE?;2::NH99&&&r'   )numpyr   skimage.measurer   skimage._sharedr   skimage._shared.testingr   r&   r2   r8   r>   rH   rM   rT   rX   rp   rt    r'   r%   <module>rz      sC     ( # 0	"	" 	"	"& !'$'r'   