
    h$                        S SK rS SKrS SKJrJr  SrS rS r\R                  R                  S/ SQ5      S 5       rS	 rS
 rS rS rS rS rS rS rS r\R                  R                  SSS /5      S 5       rS rS rg)    N)flood
flood_fillg-q=c                  2   [        [        R                  " S5      SS5      n U R                  S:X  d   e[	        [        R                  " S5      S5      R
                  [        :X  d   e[	        [        R                  " S5      S5      R                  S:X  d   eg )Nr       )   r      )r   npemptysizer   dtypeboolshape)outputs    b/var/www/fran/franai/venv/lib/python3.13/site-packages/skimage/morphology/tests/test_flood_fill.pytest_empty_inputr   	   su    R+F;;! !b!''4/// *%r*00J>>>    c                      [         R                  " / SQ[         R                  S9n [        R                  " [
        SS9   [        U SS5        S S S 5        g ! , (       d  f       g = f)N)g      "@g?*   r   zdtype of `image` is float16)matchr      )r
   arrayfloat16pytestraises	TypeErrorr   )images    r   test_float16r      s>    HH^2::6E	y(E	F5!Q 
G	F	Fs   A
A$	tolerance)ij   ii{  c                     [         R                  " S[         R                  S9R                  S5      nSn[         R                  " U5      n[        XSU S9n[         R                  R                  XC5        g )N   r   )   r$   r	   )   r	   r   r   r    )r
   arangeuint8reshape
zeros_liker   testingassert_equal)r    r   seedexpectedr   s        r   test_overrange_tolerance_intr/      sT    IIc*229=ED}}U#HQ)<FJJF-r   c                     [         R                  " [         R                  5      R                  n [         R                  R                  SSSS9R                  [         R                  5      nX-  n[         R                  " U5      n[        USSU R                  5       S-  S9n[         R                  R                  X25        g )N)@   r1               ?)r   lowhigh)r   r   
   r&   )r
   finfofloat32maxrandomuniformastype	ones_liker   itemr+   r,   )	max_valuer   r.   r   s       r   test_overrange_tolerance_floatr@   $   s    $((III8C@GG

SE	E||E"Hvsinn6F6KLFJJF-r   c                      [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n [        U SSSS9  [         R                  " / S	Q/ S
Q/ S
Q/ SQ/ SQ/5      n[         R                  R	                  X5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r%   r   r   r   r   r%   r%   r	   r   r      Tin_place)rG   rG   rG   rG   rG   rG   rG   )rG   r   r   rG   r   r   rG   )r   rG   rG   rG   rG   rG   r%   rG   r   r   r   r%   r%   r	   )r
   r   r   r+   assert_array_equalr   r.   s     r   test_inplace_intrM   0   sj    HH!!!!!	
E ufa$/xx!!!!!	
H JJ!!%2r   c                  "   [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/[         R                  S9n [        U SSSS	9  [         R                  " / S
Q/ SQ/ SQ/ SQ/ SQ/[         R                  S9n[         R                  R                  X5        g )NrB   rC   rD   rE   r   rF   rG   TrH         @rP   rP   rP   rP   rP   rP   rP   r3   r3   rP          @rR   rP   r3   rP   rP   rP   rP   rP         @rP   r3   r3   r3   rT   rT   g      @r
   r   r8   r   r+   assert_allcloserL   s     r   test_inplace_floatrX   J   s|    HH!!!!!	
 jj	E ufa$/xx/////	
 jj	H JJu/r   c                     [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n U S S S2S S S24   n[        USSSS	9  [         R                  " / S
Q/ SQ/ SQ/5      n[         R                  R	                  X5        [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[         R                  R	                  X5        g )NrB   rC   rD   rE   r   rF   rG   TrH   )rG   rG   rG   rG   )rG   r   r   rG   )rG   r   r%   r	   )rG   r   rG   r   rG   r   rG   )rG   r   r   r   r   r   rG   rJ   )r
   r   r   r+   rW   )r   image2	expected2r.   s       r   test_inplace_noncontiguousr\   f   s    HH!!!!!	
E 3Q3!8_Fvvq40 ,lCDIJJv1 xx!!!!!	
H JJu/r   c                     [         R                  " S5      n [         R                  " / SQ5      n[        U SSSS9n[        U SSSS9n[         R                  R                  X!5        [         R                  R                  X#5        g )N   )r   r   r_   r_   r_   r_   r_   r_   	   r6   rG   r_   r%   r&   rG   )r
   r'   r   r   r+   r,   )r   r.   r   output2s       r   test_1drc      sb    IIbMExxHIHq#3FcQ7GJJF-JJF,r   c                      [         R                  " S[         R                  S9n SU S S 2S4'   [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[         R                  R                  [        U SS5      U5        g )NrG      r   d   r%   )r2   r2   r2   g      Y@        rh   rh   rF   )r
   zerosfloat64r   r+   r,   r   )testr.   s     r   test_wraparoundrm      sf     88F"**-DDAJxx44444	
H JJJtVR8(Cr   c                  j   [         R                  " S[         R                  S9n SU S S 2S4'   [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n[	        U SS5      n[         R
                  R                  X!5        SU S'   SUS'   [	        U S	S5      n[         R
                  R                  X15        g )
Nre   r   rg   r%   )r   r   r      r   r   r   )r   r%   ro   r   r   r%   )r
   rj   rk   r   r   r+   r,   )rl   r.   r   rb   s       r   test_neighborsrq      s    88F"**-DDAJxx#####	
H fc*FJJF-DGHQKvs+GJJG.r   c                  x   [         R                  " / SQ/ SQ/ SQ/5      n [        [         R                  " S[         R                  S9SSU S9n[         R                  " / SQ/ SQ/ SQ/ SQ/ S	Q/[         R                  S9n[         R
                  R                  X5        [         R                  " / SQ/ S
Q/ S
Q/5      n [        [         R                  " S[         R                  S9SSU S9n[         R                  " / S	Q/ SQ/ SQ/ SQ/ SQ/[         R                  S9n[         R
                  R                  X5        g )N)r   r   r   )r   r   r   rG      r   )r%   r   ro   	footprint)r   ro   ro   ro   ro   ro   r   r   r   r   r   r   )r   r   r   )r   r	   )ro   ro   ro   ro   ro   r   r
   r   r   rj   r(   r+   r,   )rv   r   r.   s      r   test_footprintry      s    )Y	:;I
rxx(&#F xx((((	
 hh	H JJF-)Y	:;I
rxx(&#F xx((((	
 hh	H JJF-r   c            
         S H  n SU -  n[         R                  " U5      n[        S [        U 5       5       5      nSX#'   [	        USU -  S5      nUR                  5       SU -  S-  :X  d   e[         R                  R                  U[         R                  " [         R                  " SU -  5      S-  SS	5      5        M     g )
N)r%   r	   rG   ra   c              3   <   #    U  H  n[        S SS5      v   M     g7f)r   ri   N)slice).0dims     r   	<genexpr> test_basic_nd.<locals>.<genexpr>   s     I8H%2t,,8Hs   r   )r   r   r%   )r%   constant)
r
   rj   tupleranger   sumr+   r,   padones)	dimensionr   	hypercube	slice_midfilleds        r   test_basic_ndr      s    	y HHUO	Ii8HII	 	Iti'7; zz|q)|a//// 	

BFF2774)#34q8!ZH	
 r   c                 ,   [         R                  " / SQ/ SQ/ SQ/SS9n[         R                  " / SQ/ SQ/ SQ/[        S9n[        USU S9n[         R                  R                  X#5        [        US	U S9n[         R                  R                  X#5        g )
N)r   r   r   r   )r   r   r   r   )r   r   r   r   F)orderr   )r   r   )
seed_pointr    )r   r   )r
   r   r   r   r+   rK   )r    r   r.   masks       r   test_f_orderr      s    HH	

 E xx	

 H 6Y?DJJ!!(16Y?DJJ!!(1r   c                  $   [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/[         R                  S9n [         R                  " / SQ/ SQ/ SQ/ SQ/ S	Q/[         R                  S9n[        U S
S5      n [         R                  R                  X5        g )NrB   rC   rD   rE   r   rO   rQ   rS   rU   )r   ri   rG   rV   rL   s     r   !test_negative_indexing_seed_pointr     s|    HH!!!!!	
 jj	E xx/////	
 jj	H ugq)EJJu/r   c                     [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n [        [         R                  " S[         R                  S9SSU S9n[         R                  " / S	Q/ S
Q/ SQ/ S
Q/ S	Q/[         R                  S9n[         R
                  R                  X5        [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/5      n [         R                  " S[         R                  S9nSUS S 2S4'   [        USSU S9n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/[         R                  S9n[         R
                  R                  X5        g )N)r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   rs   r   rp   ro   ru   )r   ro   r   r   r   ro   rw   )r   r   r   ro   r   r   )r   r   r   r   r   )rG   r6   rg   )r%   rf   r$   rF   )
ro   ro   ro   rg   ro   ro   ro   rg   rg   r   rx   )rv   r   r.   r   s       r   test_non_adjacent_footprintr   1  s   	
I 
rxx(&#F xx" "	
 hh	H JJF-	
I HHWBHH-EE!Y,vsi@Fxx<<<<<	
 hh	H JJF-r   )numpyr
   r   skimage.morphologyr   r   epsr   r   markparametrizer/   r@   rM   rX   r\   rc   rm   rq   ry   r   r   r   r   r   r   r   <module>r      s      0	?  &<=. >.	.3408 0F-D&/4&.R
" tQi02 122087.r   