
    9i                        S SK rS SKJrJr  S SKJr  S SKJr  S SK	r	\	R                  R                  S\\R                  \R                  /5      S 5       rS rS rS	 rS
 rS rS rS r\	R                  R                  S\R.                  \R0                  \R2                  \\R4                  \R6                  \R8                  \R:                  \R                  \R<                  4
5      \	R                  R                  SS5      S 5       5       rS r S r!\	R                  R                  SS5      \	R                  R                  SS5      S 5       5       r"\	R                  R                  SS5      \	R                  R                  SS5      \	R                  R                  SS5      S 5       5       5       r#S r$S r%S r&S r'g)    N)join_segmentationsrelabel_sequential)testingassert_array_equaldtypec                    [         R                  " / SQ/ SQ/ SQ/U S9n[         R                  " / SQ/ SQ/ SQ/U S9n[        X5      n[         R                  " / SQ/ SQ/ S	Q/5      n[        X45        [        XS
S9u  p5n[        XS   U5        [        Xc   U5        [         R                  " / SQ/ SQ/5      n[        R
                  " [        5         [        X5        S S S 5        g ! , (       d  f       g = f)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   T)return_mapping)r   r   r   r
   )nparrayr   r   r   raises
ValueError)r   s1s2jj_refm1m2s3s           d/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/segmentation/tests/test_join.pytest_join_segmentationsr   	   s    	<|<E	JB	<|<E	JB 	2"AHHlL,?@Eq  #2$?IA2rub!rub! 
<.	/B	
	#2" 
$	#	#s   C&&
C4c                 <    [        X    U5        [        X1   U 5        g Nr   )arar_relabfwinvs       r   _check_mapsr$   !   s    rvx(s}b)    c                  r   [         R                  " / SQ5      n [        U 5      u  pn[        XX#5        [         R                  " / SQ5      n[	        X5        [         R
                  " S[        5      nSUS'   SUS'   SUS'   S	US
'   SUS'   [	        X%5        [         R                  " / SQ5      n[	        X65        g )Nr
   r
   r   r      c   *   )r
   r
   r   r   r   r   r   d   r
   r   r   r   r(   r   r*   r)   )r   r
   r   r(   r*   r)   r   r   r   r$   r   zerosintr    r!   r"   r#   ar_relab_reffw_refinv_refs          r   test_relabel_sequential_offset1r3   &   s    	)	*B*2.H#b&8812Lx.XXc3FF1IF1IF1IF2JF2Jr"hh+,Gs$r%   c                  p   [         R                  " / SQ5      n [        U SS9u  pn[        XX#5        [         R                  " / SQ5      n[	        X5        [         R
                  " S[        5      nSUS'   SUS'   SUS	'   S	US
'   SUS'   [	        X%5        [         R                  " / SQ5      n[	        X65        g )Nr'   r   offset)r   r      r7      	   r(   r+   r
   r7   r8   r(   r*   r9   r)   
r   r   r   r   r   r
   r   r(   r*   r)   r,   r/   s          r   test_relabel_sequential_offset5r;   7   s    	)	*B*2a8H#b&8812Lx.XXc3FF1IF1IF1IF2JF2Jr"hh78Gs$r%   c                  p   [         R                  " / SQ5      n [        U SS9u  pn[        XX#5        [         R                  " / SQ5      n[	        X5        [         R
                  " S[        5      nSUS'   SUS'   SUS	'   S	US
'   SUS'   [	        X%5        [         R                  " / SQ5      n[	        X65        g )Nr
   r
   r   r   r(   r)   r*   r   r   r5   r   r   r7   r7   r8   r9   r(   r   r+   r
   r7   r8   r(   r*   r9   r)   r:   r,   r/   s          r   %test_relabel_sequential_offset5_with0r?   H   s    	,	-B*2a8H#b&8845Lx.XXc3FF1IF1IF1IF2JF2Jr"hh78Gs$r%   c                     [         R                  " / SQ[         R                  S9n [        U SS9u  pn[	        U R                  [        5      XU5        [         R                  " / SQ5      n[        X5        [         R                  " S[        5      nSUS'   SUS'   S	US
'   S
US'   SUS'   [        X%5        [         R                  " / SQ5      n[        X65        g )Nr=   r   r   r5   r>   r+   r
   r7   r8   r(   r*   r9   r)   r:   )	r   r   uint8r   r$   astyper.   r   r-   r/   s          r   test_relabel_sequential_dtyperC   Y   s    	,BHH	=B*2a8H#		#c28845Lx.XXc3FF1IF1IF1IF2JF2Jr"hh78Gs$r%   c                  p   [         R                  " [         R                  5      R                  n [         R                  " / SQ[         R                  S9n[        XS9u  p#n[         R                  " SX S-   U S-   U S-   /[         R                  S9n[        X%5        UR                  UR                  :X  d   eg )N)r   r
   r)   r*   r*   r   r5   r   r   r
   )	r   iinfoint32maxr   r   uint32r   r   )imaxlabelsoutputr"   r#   	references         r   'test_relabel_sequential_signed_overflowrM   j   s    88BHH!!DXX(9F(=OF!T!8TAXtax@		RIv)<<9??***r%   c                     [         R                  " [         R                  5      R                  n [         R                  " SSU SS/[         R                  S9n[        XS9u  p#n[         R                  " U5      U S-   :X  d   eg )Nr   r
   r*   r   r5   r   )r   rE   int64rG   r   r   )rI   rJ   rK   r"   r#   s        r   test_very_large_labelsrP   s   sa    88BHH!!DXXq!T2r*"((;F(=OF66&>TAX%%%r%   data_already_sequential)FTc                    ^ U (       a  [         R                  " / SQTS9nO[         R                  " / SQTS9n[        U4S j[        U5       5       5      (       d   eg )Nr
   r   r   r   r   r   r   r=   c              3   @   >#    U  H  oR                   T:H  v   M     g 7fr   r   ).0ar   s     r   	<genexpr>>test_relabel_sequential_int_dtype_stability.<locals>.<genexpr>   s     @)?Aww%)?s   )r   r   allr   )rQ   r   r    s    ` r   +test_relabel_sequential_int_dtype_stabilityrZ   z   sG    " XX(6XX0>@);B)?@@@@@r%   c                  l   [         R                  " / SQ[         R                  S9n Sn[        XS9u  p#n[	        XX45        [        S X#4 5       5      (       d   eUR                  U R                  :X  d   e[         R                  " U S:  U R                  [        5      U-   S-
  S5      n[        X%5        g )NrS   r      r5   c              3   Z   #    U  H!  oR                   [        R                  :H  v   M#     g 7fr   )r   r   uint16)rU   rV   s     r   rW   =test_relabel_sequential_int_dtype_overflow.<locals>.<genexpr>   s     <^ww"))#^s   )+r   r
   )r   r   rA   r   r$   rY   r   whererB   r.   r   )r    r6   r!   r"   r#   r0   s         r   *test_relabel_sequential_int_dtype_overflowra      s    	$BHH	5BF*2=H#b&<h^<<<<<99   88BFBIIcNV$;a$?CLx.r%   c                      [         R                  " / SQ5      n [        R                  " [        5         [        U 5        S S S 5        g ! , (       d  f       g = f)N)r
   r
   r   r(   r)   r*   r   r   r   pytestr   r   r   )r    s    r   'test_relabel_sequential_negative_valuesrf      s1    	-	.B	z	"2 
#	"	"s   A
Ar6   )r   c                     U (       a  [         R                  " / SQ5      nO[         R                  " / SQ5      n[        R                  " [        5         [        X!S9  S S S 5        g ! , (       d  f       g = f)NrS   r=   r5   rd   )rQ   r6   r    s      r   *test_relabel_sequential_nonpositive_offsetri      sE     XX()XX01	z	"2- 
#	"	"s   
A&&
A4)r
   r   with0input_starts_at_offsetc                 @   U(       a  [         R                  " / SQ5      nO[         R                  " / SQ5      nU(       a  X3S:  ==   U S-
  -  ss'   [        X0S9u  pEn[        X4XV5        U(       a  UnO [         R                  " US:  X0-   S-
  S5      n[        XG5        g )NrS   )r
   r   r   r   r   r   r
   r5   )r   r   r   r$   r`   r   )r6   rj   rk   r    r!   r"   r#   r0   s           r   *test_relabel_sequential_already_sequentialrm      s     XX()XXo&
6
fqj 
*2=H#b&xxQa;x.r%   c                      [         R                  " / SQ[        S9n [        R                  " [
        5         [        U 5      nS S S 5        g ! , (       d  f       g = f)N)r   r   r   r
   r
   r(   r   )r   r   floatr   r   	TypeErrorr   )rJ   _s     r   test_incorrect_input_dtyperr      s5    XX(6F			"v& 
#	"	"s   A
Ac                      [         R                  " / SQ[         R                  S9n [        U 5      u  pn[        R
                  " X" U 5      5        [        R
                  " X" U5      5        g )Nr=   r   )r   r   intpr   r   r   r    	relabeledr"   r#   s       r   test_arraymap_callrw      sN    	,BGG	<B+B/I3y"R&1r3y>2r%   c                  f   [         R                  " / SQ[         R                  S9n [        U 5      u  pn[	        U5      S:X  d   e[	        U5      [	        [         R                  " U5      5      :X  d   e[	        U5      S:X  d   e[	        U5      [	        [         R                  " U5      5      :X  d   eg )Nr=   r   r+   r7   )r   r   rt   r   lenru   s       r   test_arraymap_lenrz      s    	,BGG	<B+B/I3r7c>>r7c"((2,''''s8q==s8s288C=))))r%   c                      [         R                  " / SQ[         R                  S9n [        U 5      u  pnSUS'   US   S:X  d   eg )Nr=   r   r7   H   )r   r   rt   r   ru   s       r   test_arraymap_setr}      s?    	,BGG	<B+B/I3BrFb6Q;;r%   )(numpyr   skimage.segmentationr   r   skimage._sharedr   skimage._shared.testingr   re   markparametrizer.   r^   uintr   r$   r3   r;   r?   rC   rM   rP   byteshortintclonglongubyteushortuintc	ulonglongrZ   ra   rf   ri   rm   rr   rw   rz   r}    r%   r   <module>r      s    G # 6  3		277";<# =#.*
%"%"%"%"+& 





		


 2MBA C A/ 7+2MB. C ,. 6*-01=A/ B 1 +/ '3*r%   