U
    ?h=                     @   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   s  t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	gtd} t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	gtd}tt| | d S Nr      dtypenparrayboolr   r   imageexpected r   [/var/www/html/venv/lib/python3.8/site-packages/skimage/morphology/tests/test_convex_hull.py
test_basic
   s*    r   c               	   C   s6   t jdtd} tdg tt| |  W 5 Q R X 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(  ddddddddddddddddddddddddddddddddddddddddddddddddddd	d	d	d	d	d
d
d
ddg<ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddg<f} t jdtd}d|| < | }tt|| d S )NiW  iX  iY  iZ  i[  i\  i]  i^  i_  i`  ia                                )ip  i  r
   T)r   r   r   copyr   r   )nonzerosr   r   r   r   r   test_qhull_offset_example$   s                                                                                             r&   c               
   C   s   t jdddddddgdddddddgdddddddggtd} t jdddddddgdddddddgdddddddggtd}tt| | d S r   r   r   r   r   r   test_pathological_qhull_example6   s    r'   c               
   C   s   t jdddddddgdddddddgdddddddggtd} t jdddddddgdddddddgdddddddggtd}t| dd}t|| d S )Nr   r	   r
   F)Zinclude_borders)r   r   r   r   r   )r   r   actualr   r   r   test_pathological_qhull_labelsB   s    r)   c                  C   s  t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	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   uint8r   r   )r   r   phr   r   r   test_possible_hullO   s@    
r1   c                  C   s  t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	td} t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	td}tt| dd| t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	g	td}tt| dd| tt t| dd W 5 Q R X t| dd}t|| d S )Nr   r	   r
   )Zconnectivityr+   r,   )r   r   r   r   r   r   Zraises
ValueError)r   Zexpected_conn_1Zexpected_conn_2outr   r   r   test_objectp   sb    r4   c                  C   sj   t jddtd} tt| |  t jddtd} tt| |  t t jdtddddg} 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_contiguous   s    r7   c                  C   s$   ddl m}  t| | | f}| |fS )Nr,   )SAMPLE)Zmeasure.tests.test_regionpropsr8   r   stack)r   image3dr   r   r   
images2d3d   s    r;   c                 C   s2   | \}}t |}d|d< t |}t|d | d S )NT)   r   r	   )r   r   )r;   r   r:   Zchimage	chimage3dr   r   r   test_consistent_2d_3d_hulls   s
    r>   c                  C   s   t jdddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	dddddddddg	gt jd} t | | | g}tt$ t|}t|t j	|j
td W 5 Q R X d S r   )r   r   r/   r9   r   Zassert_warnsUserWarningr   r   r   shaper   )r   r:   r=   r   r   r   test_few_points   s    rA   )numpyr   Zskimage.morphologyr   r   Zskimage.morphology._convex_hullr   Zskimage._sharedr   Zskimage._shared.testingr   Zskimage._shared._warningsr   r   r   r&   r'   r)   r1   r4   r7   Zfixturer;   r>   rA   r   r   r   r   <module>   s"   !/
