U
    ?h¶  ã                   @   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dd	dg¡d
d„ ƒƒZej	 
ddddddg¡ej	 
ddddg¡dd„ ƒƒZej	 
dddejg¡ej	 
dd	ddg¡dd„ ƒƒZdd„ Zej	 
dddejg¡ej	 
ddd	dg¡dd„ ƒƒZdS )é    N)ÚpdistÚ	minkowski)Úensure_spacingÚpé   é   Úsizeé   é2   c              	   C   s    t g | dg kst‚tj dd¡}t |t || |d¡s<t‚tj dd¡}t |t |d| |d¡sft‚t|t| d ¡ d	 }t ||| |d}t ||¡sœt‚d S )
N)Úp_normr   r   )r   Úmin_split_sizeéd   r   ©Úspacingr   r   ©Zmetricr   g      à?)	r   ÚAssertionErrorÚnpÚrandomÚrandnÚarray_equalr   r   Úmin©r   r   Úcoordr   Úout© r   úR/var/www/html/venv/lib/python3.8/site-packages/skimage/_shared/tests/test_coord.pyÚtest_ensure_spacing_trivial
   s    ÿÿÿr   Úndimé   é   é   é
   c                 C   s8   t  d| f¡}t  d| f¡}t  t||d|¡s4t‚d S )Nr    r   )r   )r   Zonesr   r   r   )r   r   r   Úexpectedr   r   r   Útest_ensure_spacing_nD%   s    r#   r   c                 C   sP   t j dd¡}t  t|t| d¡}t||| d}t  t||| |d|¡sLt‚d S )Nr   r   r   )r   r   r   )	r   r   r   Úmedianr   r   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 sjt‚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   r   )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sLt‚d S )Nr   r   r   r   )	r   r   r   r$   r   r   r   r   r   r   r   r   r   Útest_ensure_spacing_p_normU   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"   