
    9i\                        S SK rS SKrS SKJrJr  S SKJr  S SKJ	r	J
r
  SrS rS r\R                  R                  S\R                   \R"                  \R$                  \R&                  /5      S	 5       rS
 r\R                  R                  S\R"                  \R$                  \R&                  /5      S 5       r\R                  R                  S/ SQ5      S 5       rg)    N)assert_array_equalassert_allclose)_supported_float_type)find_boundariesmark_boundaries)   r   r   c                      [         R                  " S[         R                  S9n SU SS2SS24'   [         R                  " / SQ/ SQ/ SQ/ S	Q/ S	Q/ S	Q/ SQ/ SQ/ SQ/ SQ/
5      n[	        U 5      n[        X!5        g )
N
   r   dtyper         
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   
r   r   r   r   r   r   r   r   r   r   )npzerosuint8arrayr   r   imagerefresults      j/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/segmentation/tests/test_boundaries.pytest_find_boundariesr      sp    HHXRXX.EE!A#qs(O
((**********	
C U#Fv#    c                      [         R                  " S[        S9n SU SS2SS24'   [         R                  " / SQ/ SQ/ SQ/ S	Q/ S	Q/[        S9n[	        U 5      n[        X!5        g )
N)   r    r   Tr   r    )FFFFF)FFTTT)FTTTT)FTTFF)r   r   boolr   r   r   r   s      r   test_find_boundaries_boolr"   #   sb    HHV4(EE!A#qs(O
((/,+--	
 	C U#Fv#r   r   c                 N   [         R                  " SU S9n[         R                  " S[         R                  S9nSUSS2SS24'   [         R                  " / SQ/ SQ/ SQ/ S	Q/ S	Q/ S	Q/ SQ/ SQ/ SQ/ SQ/
5      n[	        X[
        S
S9nUR                  [        U 5      :X  d   e[         R                  " USS9n[        XS5        [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/
5      n[	        X[
        SS
S9n[         R                  " USS9n[        XS5        g )Nr
   r   r   r   r   r   r   r   r   thickcolormodeaxis)
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   )
r   r   r   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r   r   r   )r&   outline_colorr'   )
r   r   r   r   r   whiter   r   meanr   )r   r   label_imager   markedr   s         r   test_mark_boundariesr0   5   s   HHXU+E((82884KK!QqS
((**********	
C Uu7KF<<07777WWV"%Fv#
((**********	
C %ywF WWV"%Fv#r   c                  X   [         R                  " S[        S9n [         R                  " S[         R                  S9nSUSS2SS24'   [         R                  " / SQ/ SQ/ SQ/ S	Q/ S	Q/ S	Q/ SQ/ SQ/ SQ/ SQ/
5      n[        X[        S
S9n[         R                  " USS9n[        XB5        g )Nr
   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   s        r   test_mark_boundaries_boolr2   d   s    HHXT*E((82884KK!QqS
((**********	
C Uu7KFWWV"%Fv#r   c                 \   [         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/[         R                  S9n[         R                  R	                  S5        [         R
                  " [         R                  R                  " UR                  6 S5      nUR                  U SS9n[        X![        S	S
9nUR                  [        U 5      :X  d   e[         R
                  " [         R                  " USS9S5      n[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/	5      n[        XESS9  g )N)r   r   r   r   )r   r   r    r   )r   r   r    r   r   r   r   F)copysubpixelr%   r(   r)   )皙?g)\(?
ףp=
?Gz?g333333?r6   HzG?)g?g(\?r7         ?r:   r:   r8   )gzG?r9   g?r:   g)\(?r:   {Gz?)r8   r:   r:   r:   r8   r:   (\?)gQ?r:   RQ?r:   gHzG?r:   g(\?)r;   r:   r:   r:   r=   r:   g{Gz?)g=
ףp=?(\?g(\?r:   gQ?r:   g
ףp=
?)g?gp=
ף?gq=
ףp?r:   r:   r:   r9   )g{Gz?gffffff?r<   g?r>   gQ?gףp=
?g{Gz?)atol)r   r   r   randomseedroundrandshapeastyper   r,   r   r   r-   r   )r   labelsr   r/   marked_proj
ref_results         r   test_mark_boundaries_subpixelrI   }   s    XX	|\<NhhF IINN1HHRYY^^V\\2A6ELLUL+EU%jIF<<07777((27763Q7K534232425
	
J K$7r   r'   )r$   innerouterr5   c                     [         R                  " S[        S9n[        XS9n[         R                  " US:H  5      (       d   eg)z+A constant-valued image has not boundaries.)   rM   r   )r'   r   N)r   onesintr   all)r'   rN   bs      r   test_boundaries_constant_imagerR      s4     776%D(A66!q&>>>r   )numpyr   pytestnumpy.testingr   r   skimage._shared.utilsr   skimage.segmentationr   r   r,   r   r"   markparametrizer   float16float32float64r0   r2   rI   rR    r   r   <module>r^      s      = 7 A 	$.$$ 288RZZRZZ"PQ+$ R+$\$2 2::rzz2::"FG8 H88 !HI Jr   