
    9iU              	       j   S SK r S SKrS SKrS SKJrJrJr  S SKJ	r
  S SKJr  S SKJr  \R                  R!                  S5         " S S5      r\R$                  R'                  S	/\ R(                  " \" S
5      \" S
5      5       V s/ s H  o /PM     sn 5      S 5       rS rS r " S S5      rgs  sn f )    N)assert_array_almost_equalassert_array_equalassert_equal)ndimage)expected_warnings)peak   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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Sr g) TestPeakLocalMax   c                     [         R                  " S5      n[        R                  " USS9n[	        U5      [         R
                  L d   eUR                  S:X  d   eg )N)   r      min_distancer   )npzerosr   peak_local_maxtypendarraysize)selftrivialpeak_indicess      _/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/feature/tests/test_peak.pytest_trivial_case"TestPeakLocalMax.test_trivial_case   sM    ((8$**7CL!RZZ///  A%%%    c                    / SQnS[         R                  R                  SS5      -  nU H  u  p4SX#U4'   M     [        R                  " USS9n[        U5      [        U5      :X  d   eU H  n[        U5      U;   a  M   e   g )N)   r!   )r!      )r"   r!   )r"   r"   g?   r      r   )r   randomrandr   r   lentuple)r   peak_locationsimagercpeaks_detectedlocs          r   test_noisy_peaks!TestPeakLocalMax.test_noisy_peaks   s    = biinnR,,"DAEQ$K # ,,UC>"c.&9999!C:/// "r   c                     [         R                  " S[         R                  S9nSUS'   SUS'   [        R                  " USSS	9n[        U5      S:X  d   e[        US/5        g )
Nr$   r$   dtype
   r   r   r#      r8   r         ?r   threshold_relr   r   uint8r   r   r'   r   r   r*   peakss      r   test_relative_threshold(TestPeakLocalMax.test_relative_threshold$   sX    rxx0dd##EM5zQ!%&2r   c                     [         R                  " S[         R                  S9nSUS'   SUS'   [        R                  " USSS9n[        U5      S:X  d   e[        US/5        g )	Nr2   r3   r5   r6   r#   r7   r   r   threshold_absr<   r>   s      r   test_absolute_threshold(TestPeakLocalMax.test_absolute_threshold,   sX    rxx0dd##EL5zQ!%&2r   c                     [         R                  " SS[         R                  S9n[        R                  " USS9n[        U5      S:X  d   eg )N)r#   r#      r3   r   r   r   )r   fullr=   r   r   r'   r>   s      r   test_constant_image$TestPeakLocalMax.test_constant_image4   s:    #RXX6##E:5zQr   c                     [         R                  " S[         R                  S9nSUSS2SS24'   [        R                  " USS9n[        U5      S:X  d   eg )Nr2   r3   r5   r   r8   r      r   r   r=   r   r   r'   r>   s      r   test_flat_peakTestPeakLocalMax.test_flat_peak9   sM    rxx0ac1Q3h##E:5zQr   c                 d   [         R                  " S[         R                  S9nSUS'   SUS'   [        R                  " USS9nUR                  5       SS/S	S	//:X  d   e[         R                  " S
5      nSUS'   [        R                  " USS9nUR                  5       SS/SS/SS	/SS//:X  d   eg )Nr2   r3   r#   r6   r5   r7   r   r   r8   )r8   r5   )r      r8   rM   )r   )r   r8   r$   r!   r!   r$   )r   r   r=   r   r   tolistr>   s      r   test_sorted_peaks"TestPeakLocalMax.test_sorted_peaks?   s    rxx0dd##E:||~1a&1a&!1111!!-o##E:||~1a&1a&1a&1a&!AAAAr   c                    [         R                  " S[         R                  S9nSUS'   SUS'   SUS'   S	US
'   SUS'   [        [        R
                  " USSS95      S:X  d   e[        R
                  " USSSS9n[        U5      S:X  d   eSU;   d   eSU;   d   e[        R
                  " USSSS9n[        U5      S:X  d   eSU;   d   eSU;   d   eSU;   d   eS
U;   d   eg )Nr    r3   r5   r6      r   r8      r   r$      r8   r$   r!   r$   r8   r   r   rC   r$   rR   )r   rD   	num_peaksrM   )r   r   r=   r'   r   r   r   r*   peaks_limiteds      r   test_num_peaksTestPeakLocalMax.test_num_peaksK   s   rxx0ddddd4&&u1ANOSTTTT++a
 =!Q&&&&&&&&&++a
 =!Q&&&&&&&&&&&&&&&r   c                 j   [         R                  " S[         R                  S9n[         R                  " S[         R                  S9S-   nSUS'   SUS'   SUS	'   S
US'   SUS'   [        R                  " USSUS9n[        U5      S:X  d   e[        R                  " USSUSS9n[        U5      S:X  d   eg )Nr    r3   r#   r5   r6   rW   rX   rY   rZ   r[   r\   r!   r]   r   r   )r   rD   labelsr$   rR   )r   rD   rd   r^   rN   )r   r*   rd   r`   s       r   test_num_peaks_and_labels*TestPeakLocalMax.test_num_peaks_and_labelsb   s    rxx0&1B6ddddd++6
 =!Q&&&++6Q
 =!Q&&&r   c           	         [         R                  R                  S5        [         R                  R                  SS9n[         R                  SS2SS24   u  p#SUS:  -   US	:  S
-  -   n[
        R                  " UUSS[         R                  S
S9n[        U5      S:X  d   e[
        R                  " UUSS[         R                  SS9n[        U5      S:X  d   e[
        R                  " UUSSS
S
S9n[        U5      S
:X  d   eg )Nr	   r#      r   r   r#   ri   r   r5   r   rR   )rd   r   r;   r^   num_peaks_per_labelr[   rM   )	r   r%   seeduniformmgridr   r   infr'   )r   r*   ijrd   results         r   'test_num_peaks_tot_vs_labels_4quadrants8TestPeakLocalMax.test_num_peaks_tot_vs_labels_4quadrantss   s	   
		r		!!x!0xx"ad
#a2g!r'Q.$$ff !
 6{a$$ff !
 6{a$$ !
 6{ar   c                     [         R                  " S5      n[         R                  " S5      USSS S S24'   [        R                  " USSS9n[        U5      S:X  d   eg )N)r5   r5   d   r#   r$   r   rR   )r   r^   )r   r   aranger   r   r'   r_   s      r   test_num_peaks3D!TestPeakLocalMax.test_num_peaks3D   sU     '99R=aCaCi++EQO=!Q&&&r   c           	      |   [         R                  R                  SS9n[         R                  SS2SS24   u  p#SUS:  -   US:  S	-  -   nS
XDS:H  '   [         R                  SS2SS24   u  p#X"-  X3-  -   S:*  n[         R                  " UR
                  [        5      nS H3  u  pxS H(  u  p[        R                  " XU2X24   US9XgU2X24'   M*     M5     Xa:H  n[        R                  " UUSSUSS9n[         R                  " U[        S9nSU[        UR                  5      '   X:H  R                  5       (       d   eg )N(   <   rj   r   r|   r}   r   r#   ri   rR   r$   rM   	   )r   r#   )r#   r|   )r   ri   )ri   r}   	footprintFrd   r   r;   r   exclude_borderr3   Tr   r%   rm   rn   r   shapefloatndimaximum_filterr   r   
zeros_likeboolr(   Tallr   r*   rp   rq   rd   r   expectediminimaxjminjmaxpeak_idxrr   s                r   test_reorder_labels$TestPeakLocalMax.test_reorder_labels   sO   		!!x!0xx"ad
#a2g!r'Q.{xx1bd
#EAEMQ&	88EKK/-JD1
141C1Ct)TY./92dDI-. 2 .
 $&& 
 xt4$(uXZZ !"''))))r   c           	      .   [         R                  R                  SS9n[         R                  SS2SS24   u  p#SUS:  -   US:  S	-  -   n[         R                  S
S2S
S24   u  p#X"-  X3-  -   S:*  n[         R                  " UR
                  [        5      nS H3  u  pxS H(  u  p[        R                  " XU2X24   US9XgU2X24'   M*     M5     [         R                  " [         R                  " Xa:H  5      SS9nU[         R                  " U[        UR                  5         5      S S S2      n[        R                  " UUSSUSS9nU[         R                  " U[        UR                  5         5      S S S2      nX:H  R!                  5       (       d   eg )Nr{   rj   r   r|   r}   r   r#   ri   rR   r~   rM   r   r   r   r   axisFr   )r   r%   rm   rn   r   r   r   r   r   stacknonzeroargsortr(   r   r   r   r   )r   r*   rp   rq   rd   r   r   r   r   r   r   rr   s               r   test_indices_with_labels)TestPeakLocalMax.test_indices_with_labels   s   		!!x!0xx"ad
#a2g!r'Q.xx1bd
#EAEMQ&	88EKK/-JD1
141C1Ct)TY./92dDI-. 2 .
 88BJJx'89CBJJuU8::->'?@2FG$$ 
 

5vxx#9:4R4@A"''))))r   c           	         [         R                  " S5      nSU/ SQ/ SQ/ SQ4'   SUS'   SUS'   [         R                  " / SQ/[        S9n[         R                  " / SQ/ SQ/ SQ/[        S9n[        R
                  " US	S	S
9n[        XB5        [        [        R
                  " US	S	S
9[        R
                  " US	SS
95        [        [        R
                  " US	SS
9[        R
                  " US	SS
95        [        R
                  " US	SS
9n[        XC5        [        R
                  " USS9n[         R                  " U[        S9nSU[        UR                  5      '   [        XAR                  [        5      5        g )Nr$   r$   r$   r   )r   r   r   )r   r   r   )r   r   r   )r8   r   r   )rR   rR   rR   r3   rR   r   r   Tr   Fr   )r   r   arrayintr   r   r   r   r   r(   r   astype)r   nd_imager   expectedNoBorderrr   r   s         r   test_ndarray_exclude_border,TestPeakLocalMax.test_ndarray_exclude_border   s9   88I&45Iy0188YKs388Y	9$ESQ$$XAaP6,qKqN	
 	qKqO	
 $$XAaP64&&xFxt4$(uXZZ !6??4#89r   c           	         [         R                  " S5      n[         R                  " S[        5      n[        R                  " UU[         R
                  " S[        5      SSSS9nUR                  SUR                  4:X  d   eg )Nr5   r#   r7   r   r   Frd   r   r   r;   r   )	r   r   r   r   r   onesr   r   ndim)r   r*   rd   rr   s       r   
test_emptyTestPeakLocalMax.test_empty   si    "(C($$ggfd+ 
 ||5::...r   c                     [         R                  " S5      n[        R                  " U[         R                  " S[
        5      SSSS9nUR                  SUR                  4:X  d   eg )N)r5   r5   r5   )r8   r8   r8   r   r   F)r   r   r;   r   )r   r   r   r   r   r   r   r   )r   r*   rr   s      r   test_empty_non2d_indices)TestPeakLocalMax.test_empty_non2d_indices   sV    &$$ggi. 
 ||5::...r   c           	         [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   [        R                  " UU[         R
                  " S[        5      SSSS9n[         R                  " U[        S9nS	U[        UR                  5      '   [         R                  " XBS:H  :H  5      (       d   eg )
Nr   r   r2   r7   r   Fr   r3   T)r   r   r   r   r   r   r   r   r(   r   r   )r   r*   rd   r   rr   s        r   test_one_pointTestPeakLocalMax.test_one_point  s    "(C(dt&&ggfd+ 
 uD1$(uXZZ !vvf1-....r   c           	      \   [         R                  " S5      n[         R                  " S[        5      nSUSSS24'   SUSSS24'   [         R                  " [         R                  " US:H  5      SS9n[
        R                  " UU[         R                  " S[        5      SSS	S
9n[        XC5        g )Nr   r   r$      r   r   r7   r   Fr   
r   r   r   r   wherer   r   r   r   r   r   r*   rd   r   rr   s        r   test_adjacent_and_same'TestPeakLocalMax.test_adjacent_and_same  s    "(C(a1fq!A#v88BHHVq[1;$$ggfd+ 
 	6,r   c           	         [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   SUSSS24'   [         R                  " [         R                  " US:H  5      SS	9n[
        R                  " UU[         R                  " S
[        5      SSSS9n[        XC5        [
        R                  " XSSSS9n[        XC5        g )Nr   r   r2   r9   r$   r   r$   r   r   r   r7   r   Fr   )rd   r   r;   r   r   r   s        r   test_adjacent_and_different,TestPeakLocalMax.test_adjacent_and_different#  s    "(C(ddq!A#v88BHHUaZ0r:$$ggfd+ 
 	6,$$qRW
 	6,r   c           	      Z   [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   SX!S:  '   [         R                  " [         R                  " US:H  5      SS9n[
        R                  " UU[         R                  " S	[        5      SSS
S9n[        XC5        g )Nr   r   r2   r9   )r$   r[   r   r   r   r7   Fr   r   r   s        r   test_not_adjacent_and_different0TestPeakLocalMax.test_not_adjacent_and_different8  s    "(C(ddqy88BHHVq[1;$$ggfd+ 
 	6,r   c           	      `   [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   SUS'   SUS'   [         R                  " [         R                  " US:  5      SS	9n[
        R                  " UU[         R                  " S
[        5      SSSS9n[        XC5        g )Nr   r   r2   r9   )r$   r   rR   r   r   r   r7   Fr   r   r   s        r   test_two_objects!TestPeakLocalMax.test_two_objectsI  s    "(C(detu88BHHVaZ0r:$$ggfd+ 
 	6,r   c           	      `   [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   SUS'   SUS'   [         R                  " [         R                  " US:  5      SS	9n[
        R                  " UU[         R                  " S
[        5      SSSS9n[        XC5        g )Nr   r   r2   r9   r   rR   r   r   r   r7   Fr   r   r   s        r   test_adjacent_different_objects0TestPeakLocalMax.test_adjacent_different_objects[  s    "(C(ddtt88BHHVaZ0r:$$ggfd+ 
 	6,r   c           	      z   [         R                  R                  SS9n[         R                  SS2SS24   u  p#SUS:  -   US:  S	-  -   n[         R                  S
S2S
S24   u  p#X"-  X3-  -   S:*  n[         R                  " UR
                  [        5      nS H3  u  pxS H(  u  p[        R                  " XU2X24   US9XgU2X24'   M*     M5     Xa:H  n[        R                  " UUUSSSS9n[         R                  " U[        S9nSU[        UR                  5      '   [         R                  " X:H  5      (       d   eg )Nrh   rj   r   r#   ri   r   r5   r   rR   r~   rM   r   ))r   r5   r   ))r   r   )r   ri   r   Fr   r3   Tr   r   s                r   test_four_quadrants$TestPeakLocalMax.test_four_quadrantsm  sC   		!!x!0xx"ad
#a2g!r'Q.xx1bd
#EAEMQ&	88EKK/-JD1
141C1Ct)TY./92dDI-. 2 .
 $&& 
 uD1$(uXZZ !vvf())))r   c           
      8   [         R                  R                  SS9n[         R                  " S//5      n[        R
                  " U[         R                  " S[        5      USSSSS9n[         R                  " U[        S9nS	U[        UR                  5      '   [         R                  " U5      (       d   e[        R
                  " XSSS
9n[         R                  " U[        S9nS	U[        UR                  5      '   [         R                  " U5      (       d   eg)zjregression test of img-1194, footprint = [1]
Test peak.peak_local_max when every point is a local maximum
r   rj   r   r   r   F)rd   r   r   r;   rD   r   r3   T)r   rD   r   N)r   r%   rm   r   r   r   r   r   r   r   r(   r   r   )r   r*   r   r   rr   s        r   	test_diskTestPeakLocalMax.test_disk  s     		!!x!0HHqcUO	&&778S) 
 uD1$(uXZZ !vvf~~~&&b
 uD1$(uXZZ !vvf~~~r   c           	         [         R                  " S5      nSUS'   SUS'   [        [        R                  " USSS9/ SQ/5        [        [        R                  " USSS9/ SQ/5        [        [        R                  " USSS	S
9R                  5       5      / SQ/ SQ/:X  d   e[        [        R                  " USSS9R                  5       5      / SQ/ SQ/:X  d   eg )N)ri   ri   ri   r   )r   r   r   r   r5   r   r:   r   Fr   r;   r   r$   r   r   r   r   r   sortedrS   r   r*   s     r   test_3DTestPeakLocalMax.test_3D  s    &jgBaH<.	
 	AQG,	
 Bafh
 &	' 	' '
 AQGNNP
&' 	' 'r   c           	         [         R                  " S5      nSUS'   SUS'   [        [        R                  " USSS9/ SQ/5        [        [        R                  " USSS9/ SQ/5        [        [        R                  " USSS	S
9R                  5       5      / SQ/ SQ/:X  d   e[        [        R                  " USSS9R                  5       5      / SQ/ SQ/:X  d   eg )N)ri   ri   ri   ri   r   )r   r   r   r   )r$   r$   r$   r$   r5   r   r:   r   Fr   r$   r   r   s     r   test_4DTestPeakLocalMax.test_4D  s    )* !njBaH	
 	AQG	
 Bafh
 ,-	. 	. .
 AQGNNP
,-. 	. .r   c                    [         R                  " S5      nSUS'   [        [        R                  " U5      5      S:X  d   eSUS'   [        [        R                  " U5      SS//5        SUS'   [        S/5         [        [        R                  " USS95      UR                  S-
  :X  d   e S S S 5        g ! , (       d  f       g = f)Nr2   r   )rR   rR   r   rR   zWhen min_distance < 1r   )r   r   r'   r   r   r   r   r   r   s     r   test_threshold_rel_default+TestPeakLocalMax.test_threshold_rel_default  s    d4&&u-.!333d4..u5Ax@d 789t**5qABejjSTnTTT :99s   :2B66
Cc                 
   [         R                  " SS5      nSUS'   SUS'   [        R                  " USS9nUR                  S:X  d   e[        R                  " USSS	9n[        U5      S
:X  d   eS
S/U;   d   eSS/U;   d   eg )N)r5   r5   r   )rR   rM   )r8   r   r8   r   r   r   rR   rM   )r   rI   r   r   r   r'   r>   s      r   test_peak_at_border$TestPeakLocalMax.test_peak_at_border  s    "%dd##E:zzQ##E!L5zQ1v1vr    N)!__name__
__module____qualname____firstlineno__r   r/   r@   rE   rJ   rO   rT   ra   re   rs   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r   r   r   r   r      s    &033

B'.'" B'*4*2:6/	//"- -*-"-$-$*22'&.*Ur   r   indicesr$   c                    [         R                  " S5      nSX'   [        [        R                  " USS95      S:X  d   e[        [        R                  " USS95      S:X  d   eU S   S;   d	  U S   S;   a  SnOSn[        [        R                  " USSS95      U:X  d   eU S   S;   a  SnOSn[        [        R                  " US	S95      U:X  d   eU S   S;   a  SnOSn[        [        R                  " US
S95      U:X  d   eg )Nr2   r   Fr   r   )r   rM   Tr   )r   r   )r   r   )r   r   r'   r   r   )r   r*   expected_peakss      r   test_exclude_borderr     s   
 HHVEEN t""5?@AEEE t""5;<AAA qzVwqzV3DAdKL		 qzVt""5@A^SSS qzVt""5@A^SSSr   c                  \   [         R                  " S5      n [        R                  " [        5         [
        R                  " U SS9(       d   e S S S 5        [        R                  " [        5         [
        R                  " U SS9(       d   e S S S 5        [        R                  " [        5         [
        R                  " U SS9(       d   e S S S 5        [        R                  " [        5         [
        R                  " U SS9(       d   e S S S 5        [        R                  " [        5         [
        R                  " U SS9(       d   e S S S 5        g ! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       g = f)Nr2   )r   r   g      ?)r   a)r   r   r   )r   r   pytestraises
ValueErrorr   r   	TypeError)r*   s    r   test_exclude_border_errorsr     s   HHVE 
z	"""5>>> 
# 
y	!""5=== 
"
 
z	"""5BBB 
#
 
z	"""5AAA 
# 
z	"""5<<< 
#	"% 
#	" 
"	!
 
#	"
 
#	" 
#	"s;   E1E*1E;1F1F
E'*
E8;
F	
F
F+c                     [         R                  R                  SS5      n [         R                  " S[        5      nSUSS2SS24'   SUSS2SS24'   U R                  5       n[        R                  " XS	9n[        X5        g )
NrH   )rH   rH   r   r5   r#   r   rY      )rd   )	r   r%   r&   r   r   copyr   r   r   )imgrd   
img_before_s       r   test_input_values_with_labelsr   &  sw     ))..c
"CXXj#&FF2b5"R%<F2b5"R%<JC/As'r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	TestProminentPeaksi6  c                 6   [         R                  " S5      nSu  p#nSu  pVnSu  pn
XAX24'   XqXe4'   XX4'   [        R                  " U5      n[	        US   5      S:X  d   e[        US   US   US   5       H!  u  pnXXz4;   d   eXXX4;   d   eXXi4;   a  M!   e   g )	Nr   r   )rY   r[   r   )rR   rR   r   )r$   r"   r   r   r8   r   rR   r   r   r   _prominent_peaksr'   zipr   r*   x0y0i0x1y1i1x2y2i2outrp   xys                  r   test_isolated_peaks&TestProminentPeaks.test_isolated_peaks7  s    "


bfbfbf##E*3q6{a3q63q63q62GA!R$$$R$$$R$$$ 3r   c                    [         R                  " S5      nSu  p#nSu  pVnSu  pn
XAX24'   XqXe4'   XX4'   [        R                  " US S9n[	        US   5      S:X  d   e[        US   US   US	   5       H  u  pnXXz4;   d   eXXX4;   a  M   e   [        R                  " US
S9n[	        US   5      S	:X  d   e[        US   US   US	   5       H!  u  pnXU
4;   d   eXU4;   d   eXU	4;   a  M!   e   g )Nr   )rY   r[   r5   )rR   rR   r[   )r$   r"   r5   )	thresholdr   r8   r   rR   r   r   r  s                  r   test_threshold!TestProminentPeaks.test_thresholdF  s(   " 

 
bfbfbf##ET:3q6{a3q63q63q62GA!R$$$R$$$ 3 ##EQ73q6{a3q63q63q62GA!R= =R= =R= = 3r   c                 p   [         R                  " S5      nSu  p#nSu  pVnSu  pn
XAX24'   XqXe4'   XX4'   [        R                  " USSS9n[	        US   [         R
                  " U45      5        [	        US   [         R
                  " U45      5        [	        US	   [         R
                  " U45      5        g )
Nr   )r[   r[   r   )r!   r!   r   )r   r   r   r8   )min_xdistancemin_ydistancer   r   rR   )r   r   r   r  r   r   )r   r*   r  r  r  r  r  r	  r
  r  r  r  s               r   test_peaks_in_contact(TestProminentPeaks.test_peaks_in_contactZ  s    "


bfbfbf##

 	SVRXXre_-SVRXXre_-SVRXXre_-r   c           	      <   [         R                  " S5      n[         R                  " S[        5      nSUS'   SUS'   UR                  5       n[        R
                  " UU[         R                  " S[        5      SSSS9  [         R                  " X#:H  5      (       d   eg )	Nr   r   r2   r8   r7   r   Fr   )	r   r   r   r   r   r   r   r   r   )r   r*   rd   labelsins       r   test_input_labels_unmodified/TestProminentPeaks.test_input_labels_unmodifiedk  s    "(C(dt;;=ggfd+ 	
 vvf())))r   c                 l   [         R                  " SS/[        S9n[         R                  " S5      u  p#US-  S-  S-   nUS-  S-  S-   nSXU-
  S-  X5-
  S-  -   S:  '   [        R
                  " U5      u  pg[        R                  " U5      n[        R                  " USS	US
9n	[        U	5      S:X  d   eg )N  r3   )r   r   r#   r5   TrR   @   F)r   r   rd   iq  )
r   r   r   r   r   labeldistance_transform_edtr   r   r'   )
r   maskr  r  x_cy_crd   num_objsdist	local_maxs
             r   test_many_objects$TestProminentPeaks.test_many_objects{  s    xxc
$/zz*%2glR2glR7;#g!^qw1n,t3499T?))$/''r%
	 9~$$$r   r   N)
r   r   r   r   r  r  r  r  r*  r   r   r   r   r   r   6  s    %!(."* %r   r   )	itertoolsnumpyr   r   numpy.testingr   r   r   scipyr   r   skimage._shared._warningsr   skimage.featurer   r%   rl   r   markparametrizeproductranger   r   r   r   )r   s   0r   <module>r6     s       U U   7   		r P Pf K'//a%(CDC7YCD#T	#TL=4( P% P%e Es   B0
