o
    Õjð  ã                   @   sü   d dl Z d dlZd dlZd dlmZmZ d dlmZ ej	 
dddejg¡ej	 
dg d¢¡d	d
„ ƒƒZej	 
dg d¢¡ej	 
dg d¢¡dd„ ƒƒZej	 
dddejg¡ej	 
dg d¢¡dd„ ƒƒZdd„ Zej	 
dddejg¡ej	 
dg d¢¡dd„ ƒƒZdS )é    N)ÚpdistÚ	minkowski)Úensure_spacingÚpé   é   Úsize)é   é2   Nc              	   C   s    t g | dg ks
J ‚tj dd¡}t |t || |d¡sJ ‚tj dd¡}t |t |d| |d¡s3J ‚t|t| d ¡ d	 }t ||| |d}t ||¡sNJ ‚d S )
N)Úp_normr   r   )r   Úmin_split_sizeéd   r   ©Úspacingr   r   ©Zmetricr   g      à?)r   ÚnpÚrandomÚrandnÚarray_equalr   r   Úmin©r   r   Úcoordr   Úout© r   úa/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/_shared/tests/test_coord.pyÚtest_ensure_spacing_trivial
   s   ÿr   Úndim)r   r   é   é   é   )r   é
   Nc                 C   s8   t  d| f¡}t  d| f¡}t  t||d|¡sJ ‚d S )Nr   r   )r   )r   Zonesr   r   )r   r   r   Úexpectedr   r   r   Útest_ensure_spacing_nD$   s   r"   )r
   r   Nc                 C   sP   t j dd¡}t  t|t| d¡}t||| d}t  t||| |d|¡s&J ‚d S )Nr   r   r   )r   r   r   )r   r   r   Úmedianr   r   r   r   )r   r   r   r   r!   r   r   r   Ú$test_ensure_spacing_batch_processing.   s   ÿr$   c                  C   sn   t jjdddd} t ¡ }t| dddd t ¡ | }t ¡ }t| ddd	d t ¡ | }|d
| k s5J ‚dS )zŸSmall batches are slow, large batches -> large allocations -> also slow.

    https://github.com/scikit-image/scikit-image/pull/6035#discussion_r751518691
    r   i8  )i@œ  r   )ÚlowÚhighr   r   r
   iÐ  )r   r   Zmax_split_sizei N  gHáz®Gõ?N)r   r   ÚrandintÚtimer   )ZcoordsZtstartZdur1Zdur2r   r   r   Útest_max_batch_size=   s   r)   c                 C   sP   t j dd¡}t  t|t| d¡}t||| |d}t|t| d ¡ |ks&J ‚d S )Nr   r   r   r   )r   r   r   r#   r   r   r   r   r   r   r   r   Útest_ensure_spacing_p_normR   s   r*   )r(   Únumpyr   ZpytestZscipy.spatial.distancer   r   Zskimage._shared.coordr   ÚmarkZparametrizeÚinfr   r"   r$   r)   r*   r   r   r   r   Ú<module>   s$    