
    |h                     l    d dl Zd dlmZ d dlmZ d dlmZ d Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zy)    N)block_reduce)testing)assert_equalc                  d   t        j                  d      j                  dd      } t        | d      }t        j                  ddgddgg      }t        ||       t        j                  d      j                  d	d
      }t        |d      }t        j                  g dg dg      }t        ||       y )N               *   `   r   (         r   r   )Q   l   W   )         )nparangereshaper   arrayr   image1out1	expected1image2out2	expected2s         _/var/www/html/test/engine/venv/lib/python3.12/site-packages/skimage/measure/tests/test_block.pytest_block_reduce_sumr&      s    YYu%%a+F'D2r(RI./ID!YYu%%a+F'D-9:ID!    c                     t        j                  d      j                  dd      } t        | dt         j                        }t        j
                  ddgdd	gg      }t        ||       t        j                  d
      j                  dd      }t        |dt         j                        }t        j
                  ddgddgg      }t        ||       y )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D!YYu%%a+FRWW5D4,c
34ID!r'   c                  *   t        j                  d      j                  dd      } t        | dt         j                        }t        j
                  ddgdd	gg      }t        ||       t        j                  d
      j                  dd      }t        |dt         j                        }t        j
                  ddgddgg      }t        ||       t        j
                  g dg dg      }t        |dt         j                        }t        d|       y )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D!YYu%%a+FRYY7D4+Sz23ID!XX|_56FRYY7DDr'   c                     t        j                  d      j                  dd      } t        | dt         j                        }t        j
                  ddgdd	gg      }t        ||       t        j                  d
      j                  dd      }t        |dt         j                        }t        j
                  ddgddgg      }t        ||       y )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D!YYu%%a+FRVV4D1a&1a&)*ID!r'   c                     t        j                  d      j                  dd      } t        | dt         j                        }t        j
                  ddgdd	gg      }t        ||       t        j                  d
      j                  dd      }t        |dt         j                        }t        j
                  ddgddgg      }t        ||       y )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D!YYu%%a+FRVV4D2r(RH-.ID!r'   c                  >   t        j                  d      j                  dd      } t        j                  t
              5  t        | g d       d d d        t        j                  t
              5  t        | ddg       d d d        y # 1 sw Y   :xY w# 1 sw Y   y xY w)Nr   r   r	   )r4   r   r   r4   g      ?)r   r   r   r   raises
ValueErrorr   )images    r%   test_invalid_block_sizerM   H   s|    IIe$$Q*E	
	# 'UI&'	
	# &UQH%& &' '& &s   B/BBBc                      t        j                  d      j                  dd      } t        | t         j                        }t        j
                  g dg dg      }t        ||       y )Nr   r   r	   r)   )r   r   r   )r:         r<   rL   outexpecteds      r%   test_default_block_sizerT   Q   sJ    IIe$$Q*E
u266
*CxxL12H3r'   c                  $   t        j                  d      j                  dd      } t        | dt         j                        }t        j
                  ddgddgg      }t        ||       t        | dt         j                        }t        ||       y )	NrE   r	   r   r)   r         r   r<   )rL   rR   r!   r$   s       r%   test_scalar_block_sizerX   X   sp    IIe$$Q*E
uabff
-C1a&2r(+,IC UF8IC r'   c                  d   t        j                  g dg dg dg dgt         j                        } t        | dt         j                  dt         j                  i      }t        j                  d	d
gddggt         j                        }t        ||       |j                  |j                  k(  sJ y )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h99&&&r'   c                  d   t        j                  g dg dg dg dgt         j                        } t        | dt         j                  dt         j
                  i      }t        j                  d	d
gddggt         j
                        }t        ||       |j                  |j                  k(  sJ y )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h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'   