
    9i                     n   S SK rSSKJrJr  SSKJr  \R                  " S5      R                  S5      R                  \
5      rS rS	 rS
 rS rS rS rS rS rS rS rS r\R.                  " S\
5      rSrSrSrS\\'   S\\'   S\\'   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)'    N   )assert_equalassert_almost_equal   )profile_lined   )
   r	   c                  j    [        [        SSSSS9n [        R                  " SS5      n[	        X5        g )Nr   r   r      r   constantordermoder   	   r   imagenparanger   profexpected_profs     b/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/measure/tests/test_profile.pytest_horizontal_rightwardr   	   s+    vvQZHDIIaOM%    c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr   r   r   r   r   r      r   r   s     r   test_horizontal_leftwardr       s.    vvQZHDIIaB'M%r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr      r   r#   r   r   r      _   r	   r   r   s     r   test_vertical_downwardr'      s.    vvQZHDIIb"b)M%r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr$   r"   r   r   r   U      ir   r   s     r   test_vertical_upwardr+      s.    vvQZHDIIb"c*M%r   c                  l    [        [        SSSSS9n [        R                  " / SQ5      n[	        X5        g )Nr   r   r   r   r   r   r   )
   !   r0   ,   7   r2   B   M   r4   X   )r   r   r   arrayr   r   s     r   test_45deg_right_downwardr7   !   s-    vvQZHDHHEFM ,r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr-   r.   r   r   r   r/   r5   r	   r   r   r   linspacer   r   s     r   &test_45deg_right_downward_interpolatedr;   ,   .    vvQZHDKKB+M,r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr   r   r   r   r   r   r   R      ir   r   r   r   r   r   s     r   test_45deg_right_upwardrC   2   s.    vvQZHDIIb"b)M,r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr.   r-   r   r   r   r5      gUUUUUUrB   r   s     r   test_45deg_left_upwardrF   8   s.    vvQZHDIIb"i0M,r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )	Nr?   r>   r   r   r      S      rB   r   s     r   test_45deg_left_downwardrK   >   s.    vvQZHDIIb"a(M,r   c                  l    [        [        SSSSS9n [        R                  " / SQ5      n[	        X5        g )Nr   r      r   r   r   r   )   r/      r0   "   -   8   9   C   D   O   )r   r   r   r6   r   r   s     r   (test_pythagorean_triangle_right_downwardrY   D   s+    vvQZHDHHIJM%r   c                  l    [        [        SSSSS9n [        R                  " SSS5      n[	        X5        g )NrM   rN   r   r   r   rP   rX   r9   r   s     r   5test_pythagorean_triangle_right_downward_interpolatedr[   J   r<   r   )rJ   rO   ))r   r   r   r   r      )r   r   r   r   r\   r#   ))r   r   r   r\   r\   r#   )r   r   r   r   r\   r\   ))r   r   r   r   r   r   )r   r   r   r\   r#   rJ   g?g333333?c            	      j    [        [        SSSSSS9n [        R                  " S5      n[	        X5        g )NrM   )r\   r#   r   r   r   	linewidthr   r   rJ   r   
pyth_imager   onesr   r   s     r   2test_pythagorean_triangle_right_downward_linewidthrc   Y   s0    FFaqzD GGAJM,r   c            	      ~    [        [        S S S2S S 24   SSSSSS9n [        R                  " S5      n[	        X5        g )	Nr   )r\   r   )r   r#   r   r   r   r^   rJ   r`   r   s     r   0test_pythagorean_triangle_right_upward_linewidthre   a   s=    4R47VVq
D GGAJM,r   c            	          [        [        R                  S S 2S S S24   SSSSSS9n [        R                  " S5      n[        X5        g )	Nr   )r   r\   )r#   r   r   r   r   r^   rJ   )r   ra   Tr   rb   r   r   s     r   7test_pythagorean_triangle_transpose_left_down_linewidthrh   i   sA    Q"Wvv!*D GGAJM,r   c            
          [        [        SSSS[        R                  SS9n [        S S2S S24   R                  S5      n[	        X5        g 	Nr   r   r   r   r   r   reflectr_   r   reduce_funcr   r\   r   r   ra   r   meanr   r   s     r   test_reduce_func_meanrr   q   sP    GGD rr2A2v&++A.M,r   c            
          [        [        SSSS[        R                  SS9n [        S S2S S24   R                  S5      n[	        X5        g rj   )r   ra   r   maxr   r   s     r   test_reduce_func_maxru      P    FFD rr2A2v&**1-M,r   c            
          [        [        SSSS[        R                  SS9n [        S S2S S24   R                  S5      n[	        X5        g rj   )r   ra   r   sumr   r   s     r   test_reduce_func_sumry      rv   r   c            
      v    [        [        SSSS[        R                  SS9n [        S S2S4   n[	        X5        g )Nrk   rl   r   r   r   rn   r\   rp   r   s     r   !test_reduce_func_mean_linewidth_1r{      sA    GGD rr1u%M,r   c            
      x    [        [        SSSSS SS9n [        SS2S[        R                  4   n[	        X5        g )	Nr   r   r\   r   r   r   r   rn   r#   r   )r   ra   r   newaxisr   r   s     r   !test_reduce_func_None_linewidth_1r      sD    D qsArzz12M,r   c            
      ^    [        [        SSSSS SS9n [        SS2SS	24   n[        X5        g )
Nr}   r~   r   r   r   rn   r   r#   r\   )r   ra   r   r   s     r   !test_reduce_func_None_linewidth_3r      sA    D qsAaCx(M,r   c            
          S n [        [        SSSSU SS9n[        R                  " U [        SS	2SS
24   SS9n[	        X5        g )Nc                     X S-  -   $ )Nr    xs    r   ro   8test_reduce_func_lambda_linewidth_3.<locals>.reduce_func   s    a4xr   r}   r~   r   r   r   rn   r   r#   r\   arraxisr   ra   r   apply_along_axisr   ro   r   r   s      r   #test_reduce_func_lambda_linewidth_3r      sX     D ''AaC1H9MTUVM,r   c            
          S n [        [        SSSSU SS9n[        R                  " U [        SS	2SS
24   SS9n[	        X5        g )Nc                     U S-  $ Ng      ?r   r   s    r   ro   6test_reduce_func_sqrt_linewidth_3.<locals>.reduce_func   s    #vr   r}   r~   r   r   r   rn   r   r#   r\   r   r   r   s      r   !test_reduce_func_sqrt_linewidth_3r      sX     D ''AaC1H9MTUVM,r   c            
          S n [        [        SSSSU SS9n[        R                  " U [        SS	2SS
24   SS9n[	        X5        g )Nc                 4    [         R                  " U S-  5      $ r   )r   rx   r   s    r   ro   ;test_reduce_func_sumofsqrt_linewidth_3.<locals>.reduce_func   s    vvaf~r   r}   r~   r   r   r   rn   r   r#   r\   r   r   r   s      r   &test_reduce_func_sumofsqrt_linewidth_3r      sX     D ''AaC1H9MTUVM,r   c            
      >   Sn [         R                  S   U -   n[        [         U * S4US4SSS SS9n[        R                  " [        R
                  " U S45      [         S S 2S[        R                  4   [        R
                  " U S-   S45      /5      n[        X#5        g )Nr   r   r   r   rn   )ra   shaper   r   vstackzerosr   r   )offsetidxr   r   s       r   test_oob_coodinatesr      s    F


1

&C
!	aD II	61+	
1a+; <bhhQR
TU>WXM ,r   c                  4   Sn Su  pSn[         R                  " [        U S   5      [        U S   5      5      u  pEXR-
  S-  XA-
  S-  -   US-  :  nX!4nS[         R                  -  S-  nS	[         R                  " U5      -  n	S	[         R
                  " U5      -  n
X)-   X-   4n[        UR                  [         R                  5      X{S
S9n[        US U S:H  5      (       d   e[        XgUS
S9n[        US U S:H  5      (       d   e[        X:H  5      (       d   eg )N)   r   )         r   r   r   r\   g      "@   rm   )r   )
r   meshgridrangepicossinr   astypeuint8all)r   center_xcenter_yradiusr   ymasksrcphidydxdst
profile_u8	profile_bs                 r   test_bool_array_inputr   
  s   E#HF;;uU1XeAh8DALQ!,1!44vqy@D
C
bee)c/C	bffSk	B	bffSk	B=(-
(Cdkk"((3SINJz'6"a'((((T)<Iy&!Q&''''y&''''r   )*numpyr   _shared.testingr   r   profiler   r   reshaper   floatr   r   r    r'   r+   r7   r;   rC   rF   rK   rY   r[   r   ra   linebelowaboverc   re   rh   rr   ru   ry   r{   r   r   r   r   r   r   r   r   r   r   <module>r      s     @ "
		#x(//6&&&&-----&- XXfe$
/00
4 
5 
5 ----------"-"-"-$(r   