+
    Ai                     R    ^ RI t^ RIHtHt R t^]P                  ^2R3RR/R lltR# )    N)cKDTreedistancec                   \        V 4      pVP                  WVR7      p\        4       p^ p\        V4       F  w  rW9  g   K  V	P	                  V4       \
        P                  ! W,          .W	,          RVR7      P                  R4      p
\        W4       UUu. uF  w  rW8  g   K  VNK  	  p	ppVP                  V	4       V^,          pVf   K  Ws8  g   K   M	  \        P                  ! V \        V4      ^ R7      pVe   VRV pV# u uppi )a  Returns a subset of coord where a minimum spacing is guaranteed.

Parameters
----------
coord : ndarray
    The coordinates of the considered points.
spacing : float
    the maximum allowed spacing between the points.
p_norm : float
    Which Minkowski p-norm to use. Should be in the range [1, inf].
    A finite large p may cause a ValueError if overflow can occur.
    ``inf`` corresponds to the Chebyshev distance and 2 to the
    Euclidean distance.
max_out : int
    If not None, at most the first ``max_out`` candidates are
    returned.

Returns
-------
output : ndarray
    A subset of coord where a minimum spacing is guaranteed.

)rp	minkowski)r   N)axis)r   query_ball_pointset	enumerateremover   cdistreshapezipupdatenpdeletetuple)coordspacingp_normmax_outtreeindicesrejected_peaks_indices	nacceptedidx
candidatesdistcdoutputs   &&&&          S/var/www/html/photoedit/myenv/lib/python3.14/site-packages/skimage/_shared/coord.py_ensure_spacingr%      s   4 5>D##E#?G UI$W-,c">>e/gbk  ),J(=M(=!!(=JM #))*5NI"y'; .  YYue$:;!DF!M Ns   
D	'D	max_split_sizei  c               6   T p\        V 4      '       Ed   \        P                  ! V 4      p Vf   V .pMm\        V 4      pV.p	Tp
WR,          ,
          V8  d4   V
^,          p
V	P                  V	R,          \	        W4      ,           4       KG  \        P
                  ! W	4      p\        P                  ! ^ V P                  ^,          3V P                  R7      pV F>  p\        \        P                  ! Wk.4      WV4      pVf   K+  \        V4      V8  g   K=   V# 	  V# )a/  Returns a subset of coord where a minimum spacing is guaranteed.

Parameters
----------
coords : array_like
    The coordinates of the considered points.
spacing : float
    the maximum allowed spacing between the points.
p_norm : float
    Which Minkowski p-norm to use. Should be in the range [1, inf].
    A finite large p may cause a ValueError if overflow can occur.
    ``inf`` corresponds to the Chebyshev distance and 2 to the
    Euclidean distance.
min_split_size : int
    Minimum split size used to process ``coords`` by batch to save
    memory. If None, the memory saving strategy is not applied.
max_out : int
    If not None, only the first ``max_out`` candidates are returned.
max_split_size : int
    Maximum split size used to process ``coords`` by batch to save
    memory. This number was decided by profiling with a large number
    of points. Too small a number results in too much looping in
    Python instead of C, slowing down the process, while too large
    a number results in large memory allocations, slowdowns, and,
    potentially, in the process being killed -- see gh-6010. See
    benchmark results `here
    <https://github.com/scikit-image/scikit-image/pull/6035#discussion_r751518691>`_.

Returns
-------
output : array_like
    A subset of coord where a minimum spacing is guaranteed.

)dtyper
   )lenr   
atleast_2dappendminarray_splitzerosshaper(   r%   vstack)coordsr   r   min_split_sizer   r&   r#   
batch_listcoord_count	split_idx
split_sizebatchs   &&&&&$      r$   ensure_spacingr8   ;   s    V F
6{{v&! Jf+K'(I'J"->a
  2Z1P!PQ:J1fll1o.fllCE$		6/*GWF "s6{g'=M   M    )numpyr   scipy.spatialr   r   r%   infr8    r9   r$   <module>r>      s4     +3p 66A Ar9   