o
    j"                     @   s   d dl Zd dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ dd Zd	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zejdd Zdd Zdd ZdS )    N)convex_hull_imageconvex_hull_object)possible_hull)testing)assert_array_equal)expected_warningsc                  C   sv   t jg dg dg dg dg dg dgtd} t jg dg dg dg dg d	g dgtd}tt| | d S )
N	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   r   )	r   r
   r   r   r   r   r   r
   r   dtype)	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   nparrayboolr   r   imageexpected r   j/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/morphology/tests/test_convex_hull.py
test_basic
   s*   r   c                  C   sL   t jdtd} tdg tt| |  W d    d S 1 sw   Y  d S )N)   r   r   zentirely zero)r   zerosr   r   r   r   r   r   r   r   test_empty_image&   s   "r   c                  C   s@   g dg df} t jdtd}d|| < | }tt|| d S )N)<iW  X  r   r   Y  r   r   r   r   Z  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$   r$   r$   _  r%   r%   r%   r%   `  r&   r&   ia  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-   r0   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/   )ip  i  r   T)r   r   r   copyr   r   )Znonzerosr   r   r   r   r   test_qhull_offset_example,   s   @ r2   c                  C   sR   t jg dg dg dgtd} t jg dg dg dgtd}tt| | d S )N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
   r
   r
   )r
   r
   r
   r
   r
   r   r   r   r   r   r   r   test_pathological_qhull_example   s   r6   c                  C   sZ   t jg dg dg dgtd} t jg dg dg dgtd}t| dd}t|| d S )Nr3   r4   r5   r   )r
   r
   r
   r
   r   r   r   F)Zinclude_borders)r   r   r   r   r   )r   r   actualr   r   r   test_pathological_qhull_labels   s   r8   c                  C   s   t jg dg dg dg dg dg dgt jd} t ddgd	d
gd
d	gddgddgd
d	gd	d
gddgd	dgd
dgddgd	dgd
dgddgdd	gdd
gddgddgddgg}t| }t|| d S )Nr   r	   r   r   r   r   r
               r      )r   r   uint8r   r   )r   r   phr   r   r   test_possible_hull   sD   r@   c                  C   s@  t jg dg dg dg dg dg dg dg dg dg	td} t jg dg dg dg dg dg d	g d
g dg dg	td}tt| dd| t jg dg dg dg dg dg dg dg dg dg	td}tt| dd| tt t| dd W d    n1 sw   Y  t| dd}t|| d S )Nr   )	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
   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   r   r   r
   r   r
   r
   )Zconnectivity)	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   r   Zraises
ValueError)r   Zexpected_conn_1Zexpected_conn_2outr   r   r   test_object   s\   rC   c                  C   sh   t jddtd} tt| |  t jddtd} tt| |  t t jdtdg d} tt| |  d S )N)r:   r:   F)orderr   )r:   r:   r:   r   )r   r:   r
   )r   Zonesr   r   r   Z	transposer   r   r   r   test_non_c_contiguous2  s   rF   c                  C   s$   ddl m}  t| | | f}| |fS )Nr;   )SAMPLE)Zmeasure.tests.test_regionpropsrG   r   stack)r   image3dr   r   r   
images2d3d>  s   rJ   c                 C   s2   | \}}t |}d|d< t |}t|d | d S )NT)   r   r
   )r   r   )rJ   r   rI   Zchimage	chimage3dr   r   r   test_consistent_2d_3d_hullsF  s
   rM   c                  C   s   t jg dg dg dg dg dg dgt jd} t | | | g}tt t|}t|t j	|j
td W d    d S 1 sBw   Y  d S )Nr   )	r   r   r   r   r   r   r   r
   r   )	r   r
   r   r   r   r   r   r   r   r   )r   r   r>   rH   r   Zassert_warnsUserWarningr   r   r   shaper   )r   rI   rL   r   r   r   test_few_pointsN  s   "rP   )numpyr   Zskimage.morphologyr   r   Zskimage.morphology._convex_hullr   Zskimage._sharedr   Zskimage._shared.testingr   Zskimage._shared._warningsr   r   r   r2   r6   r8   r@   rC   rF   ZfixturerJ   rM   rP   r   r   r   r   <module>   s&     
)9
