
    9i                        S SK rS SKJs  Jr  S SKJrJrJr  S SK	J
r
  \R                  R                  S 5        \R                  " S\R                  S9rS \SS2S4'   S \SSS24'   SrS	 rS
 rS rS rS r\" SSS/S-  5      S 5       rS rg)    N)assert_array_equalassert_almost_equalparametrize)expected_warnings)   r   )dtype   z|\A\Zc                  >   [        S[        -   /5         [        R                  " [        SS9n S S S 5        W R                  S/5      u  pU R                  S5      n[        U/ SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/ SQ/ SQ/5        [        U/ SQ5        g ! , (       d  f       Nf= f)NUpgrading NumPyTfully_connected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   r   r   r   r         @r   r	      r	      r	      r	   r   r   r	   r"   r	   r    r	   r   r	   r   r	   r   r   warning_optionalmcpMCPa
find_costs	tracebackr   mcostsr/   return_paths       \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/graph/tests/test_mcp.py
test_basicr5      s    	-0@@A	BGGAt, 
C||VH-E++f%K44444444		
 	
% 
C	B   B
Bc                     [         R                  " [        S:H  [         R                  S5      n / SQn[         R                  " [        S:H  SS5      n[         R                  " [        S:H  [         R                  S5      n[	        S[
        -   /5         [        R                  " USS9nS S S 5        WR                  S/5      u  pVUR                  S	5      n[        XP5        [        Xq5        [	        S[
        -   /5         [        R                  " USS9nS S S 5        UR                  S/5      u  pVUR                  S	5      n[        XP5        [        Xq5        g ! , (       d  f       N= f! , (       d  f       N[= f)
Nr	   r   )
r   r   r   r!   r#   r$   r%   r&   r'   r(   r
   r   Tr   r   r(   )npwherer-   infr   r*   r+   r,   r.   r/   r   )expected_costsexpected_pathtest_negtest_infr1   r2   r/   r3   s           r4   test_neg_infr?   5   s   XXa1fbffa0NM xxQA&HxxQ*H	-0@@A	BGGHd3 
C||VH-E++f%Ku-{2	-0@@A	BGGHd3 
C||VH-E++f%Ku-{2 
C	B 
C	Bs   E=E(
E%(
E6c                      [        S[        -   /5         [        R                  " [        SSSS9u  pS S S 5        [        W[        R                  " S5      S-  5        [        W / SQ5        g ! , (       d  f       N@= f)Nr   r   r   T)	geometricr   r   )	r   r*   r+   route_through_arrayr-   r   r8   sqrtr   )r3   costs     r4   
test_routerE   S   sd    	-0@@A	B33AvvQUV 
Cbggaj1n-	
 
C	Bs   A,,
A:c                  >   [        S[        -   /5         [        R                  " [        SS9n S S S 5        W R                  S/5      u  pU R                  S5      n[        U/ SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/ SQ/ SQ/5        [        U/ SQ5        g ! , (       d  f       Nf= f)Nr   Fr   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   r   r   r   r   g      @)r   r   r   r!   r#   )r	   r	   r$   r%   r&   r'   r(   )r   r	   r   r)   r0   s       r4   test_no_diagonalrG   i   s    	-0@@A	BGGAu- 
C||VH-E++f%K44444444		
 	
# 
C	Br6   c                     [        S5       V s/ s H  n SU 4PM	     sn [        SS5       V s/ s H  n SU * 4PM
     sn -   n[        S[        -   /5         [        R                  " [
        US9nS S S 5        WR                  S/5      u  p4[        U/ SQ/ SQ/ SQ/ S	Q/ S	Q/ S	Q/ S	Q/ S	Q/5        [        US
5      (       d   e[        XR                  5        g s  sn f s  sn f ! , (       d  f       Ny= f)N
   r	   r   )offsetsr   )rK   rK   rK   rK   rK   rK   rK   )rK   rK   rK   rK   rK   rK   r
   rK   )               rI   r   r	   )rI   r   r	   r   r"   r    r   r   rJ   )
ranger   r*   r+   r,   r-   r.   r   hasattrrJ   )irJ   r1   r2   r/   s        r4   test_offsetsrT      s    $Ry)y!1vy)eArl,Kla!Wl,KKG	-0@@A	BGGAw' 
C||VH-E,,*%%%%%		
 1i    w		*% *,K	B	Bs   CCC  
C.shape)d   rV   )r   r   rN      r   c                     [        U 5        g )N)_test_random)rU   s    r4   test_crashingrZ      s
        c                    [         R                  R                  " U 6 R                  [         R                  5      nS/[        U 5      -  S/[        U 5      -  [         R                  R                  [        U 5      5      U -  R                  [        5      /n[        S5       Vs/ s HA  n[         R                  R                  [        U 5      5      U -  R                  [        5      PMC     nn[        S[        -   /5         [        R                  " USS9nS S S 5        WR                  U5      u  pg[        S5       Vs/ s HA  n[         R                  R                  [        U 5      5      U -  R                  [        5      PMC     sn H  nUR                  U5        M     UR                  5         UR                  X$5        U H  n	UR                  U	5        M     XU4$ s  snf ! , (       d  f       N= fs  snf )Nr   r
   r    r   Tr   )r8   randomrandastypefloat32lenintrQ   r   r*   r+   r,   r.   r/   _reset)
rU   r-   startsrS   endsr1   r2   rJ   pointends
             r4   rY   rY      ss   
		%%bjj1A	
c%j	s5z	E
	#e	+33C8F
 GLAhOhRYY^^CJ'%/77<hDO	-0@@A	BGGAt, 
C\\&)NELQRSHUHq299>>#e*-5==cBHU	E VHHJLL	C W P	B	B Vs   #AG  G%>AG6%
G3)numpyr8   skimage.graph.mcpgraphr+   skimage._shared.testingr   r   r   skimage._shared._warningsr   r]   seedonesr`   r-   r*   r5   r?   rE   rG   rT   rZ   rY    r[   r4   <module>rp      s       X X 7 		q GGF"**%!B$'
!QrT'
 "J3<,#L+, Wz>2Q67 8r[   