
    9ia                         S SK rS SKJr  S SKJs  Jr  S SKJ	r	  S SK
Jr  S r " S S5      r " S S5      r " S	 S
5      rg)    N)label)testing)assert_array_equalc                   J    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rSrg)TestConnectedComponents   c                    [         R                  " / SQ/ SQ/ SQ/ SQ/5      U l        [         R                  " / SQ/ SQ/ SQ/ SQ/5      U l        U R                  S	-   U l        S
U R                  S'   U R                  R                  5       U l        SU R                  U R                  S:H  '   U R                  U R                  S:  ==   S	-  ss'   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   )r   r   r   r   r   r   )   r   r         r   r   
   )r   r   r   r   )nparrayxlabelslabels_nobgcopylabels_bg_9selfs    `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/measure/tests/test_ccomp.pysetup_method$TestConnectedComponents.setup_method   s    """"	
 hh""""	
  ;;?#%   ++002()1% 	))A-.!3.    c                     [        [        U R                  5      U R                  5        U R                  S   S:X  d   e[        [        U R                  SS9U R                  5        [        [        U R                  SS9U R
                  5        g )N)r   r   r
   c   
backgroundr   )r   r   r   r   r   r   r   s    r   
test_basic"TestConnectedComponents.test_basic-   sh    5=$++6 vvd|q    	5B79I9IJ5A68H8HIr!   c                    [         R                  R                  SS5      S-  R                  [        5      n[        U5      nUR                  5       n[        U5       H,  nXU:H     n[         R                  " XUS   :H  5      (       a  M,   e   g N      r   r   	r   randomrandastypeintr   maxrangeallr   r   r   nivaluess         r   test_random#TestConnectedComponents.test_random8   o    YY^^B#a'//4qJJLqA{^F66&1I-.... r!   c                 l    [         R                  " / SQ/ SQ/ SQ/5      n[        [        U5      U5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     r   	test_diag!TestConnectedComponents.test_diagA   s%    HHiI6758Q'r!   c                     [         R                  " SS/SS//[        S9n[        [	        USS9SS/SS//5        [        [	        USS9SS/SS//5        g )Nr   r   )dtypeconnectivityr   )r   r   r0   r   r   r@   s     r   test_4_vs_8#TestConnectedComponents.test_4_vs_8E   s[    HHq!fq!f%S153q!fq!f5EF53q!fq!f5EFr!   c                     [         R                  " / SQ/ SQ/ SQ/5      n[        [        U5      / SQ/ SQ/ SQ/5        [        [        USS9/ SQ/ SQ/ SQ/5        g )Nr>   )r   r   r   r   r   r   )r   r   r   r   r$   r?   r@   s     r   test_background'TestConnectedComponents.test_backgroundK   sD    HHiI6758iI%FG5q1Iy)3TUr!   c                     [         R                  " / SQ/ SQ/ SQ/5      n[        USS9n[        U/ SQ/ SQ/ SQ/5        g )Nr   r   r   r   r   r   r   r$   r<   r   r   r   )r   r   r   r   )r   r   ress      r   test_background_two_regions3TestConnectedComponents.test_background_two_regionsR   s4    HHiI67A!$3Iy ABr!   c                 ~    [         R                  " / SQ/ SQ/ SQ/5      n[        [        USSS9/ SQ/ SQ/ SQ/5        g )NrJ   r=   r   r   rF   r%   r?   r@   s     r   !test_background_one_region_center9TestConnectedComponents.test_background_one_region_centerX   s4    HHiI67!!2Y	94U	
r!   c                     [         R                  " / SQ/ SQ/ SQ/5      n[        [        USS9S   S5        [        [        USSS	9S   S
5        g N)r   r   r   rN   rO   T)
return_numr   r
   r   )r%   rZ   r   r?   r@   s     r   test_return_num'TestConnectedComponents.test_return_num_   sE    HHiI675t4Q7;5rdCAFJr!   )r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r&   r8   rA   rG   rK   rR   rV   r[   __static_attributes__ r!   r   r   r      s5    4@	J/(GVC
Kr!   r   c                   \    \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rS rSrg)TestConnectedComponents3dg   c                    [         R                  " S[        5      U l        [         R                  " / SQ/ SQ/ SQ/ SQ/5      U R                  S'   [         R                  " / SQ/ SQ/ S	Q/ S
Q/5      U R                  S'   [         R                  " / SQ/ SQ/ SQ/ SQ/5      U R                  S'   [         R                  " S[        5      U l        [         R                  " / SQ/ SQ/ SQ/ SQ/5      U R
                  S'   [         R                  " / SQ/ SQ/ SQ/ SQ/5      U R
                  S'   [         R                  " / SQ/ SQ/ SQ/ SQ/5      U R
                  S'   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   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   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   )r   zerosr0   r   r   r   r   s    r   r   &TestConnectedComponents3d.setup_methodh   s    )S)HHoP
q	 HHoP
q	 HHoP
q	 hhy#.oP
A oP
A oP
Ar!   c                     [        U R                  5      n[        XR                  5        U R                  S   S:X  d   S5       eg )N)r   r   r   r   zData was modified!)r   r   r   r   )r   r   s     r   r&   $TestConnectedComponents3d.test_basic   s7    tvv6;;/vvg!#9%99#r!   c                    [         R                  R                  SS5      S-  R                  [        5      n[        U5      nUR                  5       n[        U5       H,  nXU:H     n[         R                  " XUS   :H  5      (       a  M,   e   g r)   r,   r4   s         r   r8   %TestConnectedComponents3d.test_random   r:   r!   c                     [         R                  " S[        5      nSUS'   SUS'   SUS'   [        [	        U5      U5        g )Nr
   r
   r
   r   )r   r   r   r   r   r   )r   r   r   )r   rg   r0   r   r   r@   s     r   rA   #TestConnectedComponents3d.test_diag   s;    HHY$'
'
'
58Q'r!   c                     [         R                  " S[        5      nSUS'   SUS'   UR                  5       nSUS'   [	        [        USS9U5        [	        [        USS9U5        g NrP   r   )r   r   r   r>   r   rE   r
   r   rg   r0   r   r   r   )r   r   label4s      r   rG   %TestConnectedComponents3d.test_4_vs_8   Z    HHY$'
'
w53V<53Q7r!   c                     [         R                  " S[        5      nSUS'   SUS'   UR                  5       nSUS'   [	        [        USS9U5        [	        [        USS9U5        g rr   rs   )r   r   label1s      r   test_connectivity_1_vs_22TestConnectedComponents3d.test_connectivity_1_vs_2   rv   r!   c                    [         R                  " S[        5      n[         R                  " / SQ/ SQ/ SQ/5      US'   [         R                  " / SQ/ SQ/ SQ/5      US'   UR	                  5       n[         R                  " / SQ/ SQ/ SQ/5      US'   [         R                  " / SQ/ S	Q/ SQ/5      US'   UR	                  5       n[         R                  " S[
        [
        /S[
        [
        /[
        [
        [
        //5      US'   [         R                  " [
        [
        [
        /[
        SS
/[
        [
        [
        //5      US'   [        [        U5      U5        [        [        USS9U5        g )Nr   r
   r
   r>   rJ   r   )r   r   r   r   )r   r   r   rP   )r   r   r
   r   r   r$   )r   rg   r0   r   r   BGr   r   )r   r   lnblbs       r   rK   )TestConnectedComponents3d.test_background   s   HHY$xxIy9:!xxIy9:!ffh9i;<A9i;<AVVX1b"+2r{RRLAB12r2,Q
RRLAB158R(5r2C8r!   c                    [         R                  " S[        5      n[         R                  " / SQ/ SQ/ SQ/5      US'   [         R                  " / SQ/ SQ/ SQ/5      US'   UR	                  5       n[         R                  " [
        [
        S/[
        [
        S// S	Q/5      US'   [         R                  " SS[
        /S
[
        [
        /[
        [
        [
        //5      US'   [        USS9n[        X25        g )Nr|   rN   rO   r   )r   r   r   )r   r   r   rJ   r   rP   r   r$   )r   rg   r0   r   r   r}   r   r   )r   r   r   rQ   s       r   rR   5TestConnectedComponents3d.test_background_two_regions   s    HHY$xxIy9:!xxIy9:!VVX2r1+B{I>?11a*q"bkBB<@A1A!$3#r!   c                     [         R                  " S[        5      nSUS'   [         R                  " U5      [        -  nSUS'   [        [        USSS9U5        g )Nrn   r   ro   r   rU   )r   rg   r0   	ones_liker}   r   r   )r   r   r   s      r   rV   ;TestConnectedComponents3d.test_background_one_region_center   sI    HHY$'
\\!_r!75qA2Fr!   c                     [         R                  " / SQ/ SQ/ SQ/5      n[        [        USS9S   S5        [        [        USSS	9S   S
5        g rY   r?   r@   s     r   r[   )TestConnectedComponents3d.test_return_num   sE    HHiI675t4Q7;5rdCAFJr!   c                    [         R                  " S5      n[        U5      n[         R                  " S5      nU4SU4US4SUS4USS4SSU44nU H8  nUR                  U5      n[	        U5      n[        X7R                  5       5        M:     g )N)r   r   r   r   r   r   r   r   )r   r   r   r   r
   r
   r   r   r   )r   r   lenreshaper   r   flatten)r   r   xlenyreshapesr   x2labelleds           r   test_1D!TestConnectedComponents3d.test_1D   s    HH-.1vHH-.GI1IaL1aL4L
  G7#BRyHq"2"2"45  r!   c                     [         R                  " S5      n[        R                  " [        5         [        U5        S S S 5        g ! , (       d  f       g = f)N)r   r   r
   r   )r   onesr   raisesNotImplementedErrorr   r@   s     r   test_nd!TestConnectedComponents3d.test_nd   s0    GGL!^^/0!H 100s   A
A)r   r   N)r]   r^   r_   r`   r   r&   r8   rA   rG   ry   rK   rR   rV   r[   r   r   ra   rb   r!   r   rd   rd   g   s@    
8:/(889	$GK6"r!   rd   c                       \ rS rSrS rSrg)TestSupport   c                 b   SnU H  n[         R                  " U5      n[        US:H  5      n[         R                  R                  U5      n[        R
                  " U5      u  pVUR                  n[        U5       H  nXx   S:X  a  M   e   [        R                  " XV5      n	[        XI5        M     g )N))r
   r   r   )r   r   r   )r
   r   r   )r   r   )r   r   )
r   r   sumr-   ccompreshape_arrayshaper2   undo_reshape_arrayr   )
r   	shapes_inr   numonesinpfixedswapsshape2r6   backs
             r   test_reshapeTestSupport.test_reshape   s    C	EHHUOE%1*oG))""5)C ..s3LE[[F7^yA~%~ $ ++E9Ds) r!   rb   N)r]   r^   r_   r`   r   ra   rb   r!   r   r   r      s    *r!   r   )numpyr   skimage.measurer   skimage.measure._ccompmeasure_ccompr   skimage._sharedr   skimage._shared.testingr   r}   r   rd   r   rb   r!   r   <module>r      sB     ! & & # 6XK XKvB BJ* *r!   