U
    ?hb                     @   s   d dl Zd dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
 dZdd Zdd	 Zejd
ejejejejgdd Zdd Zejd
ejejejgdd Zejdddddgdd ZdS )    N)assert_array_equalassert_allclose)_supported_float_type)find_boundariesmark_boundaries)   r   r   c                  C   s   t jdt jd} d| ddddf< t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
g
}t| }t|| d S )N
   r	   dtyper         r   )npzerosuint8arrayr   r   imagerefresult r   \/var/www/html/venv/lib/python3.8/site-packages/skimage/segmentation/tests/test_boundaries.pytest_find_boundaries   s    r   c               
   C   s   t jdtd} d| ddddf< t jdddddgdddddgdddddgdddddgdddddggtd}t| }t|| d S )N)   r   r
   Tr   r   F)r   r   boolr   r   r   r   r   r   r   test_find_boundaries_bool   s    r   r   c                 C   sh  t jd| d}t jdt jd}d|ddddf< t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
g
}t||tdd}|jt| ks<tt j	|d	d
}t
|| t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
g
}t||tddd}t j	|d	d
}t
|| d S )Nr   r
   r   r   r   r   thickcolormodeZaxis)r   r   r   )r   Zoutline_colorr   )r   r   r   r   r   whiter   r   AssertionErrormeanr   )r   r   label_imager   markedr   r   r   r   test_mark_boundaries,   sF    

 r'   c                  C   sD  t jdtd} t jdt jd}d|ddddf< t ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
ddddddddddg
g
}t| |tdd}t j|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   test_mark_boundaries_boolT   s"    r(   c                 C   sV  t jddddgddddgddddgddddgddddggt jd}t jd t t jj|j d}|j| dd}t	||t
dd	}|jt| kstt t j|d
dd}t dddddddgdddddddgdddddddgdddddddgdddddddgdddddddg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,d- d S ).Nr   r   r   r
   r   F)copysubpixelr   r    r!   g?g)\(?g
ףp=
?gGz?g333333?gHzG?g?g(\?g      ?gzG?g?g)\(?g{Gz?g(\?gQ?gRQ?gHzG?g(\?g{Gz?g=
ףp=?g(\?g(\?gQ?g
ףp=
?g?gp=
ף?gq=
ףp?g{Gz?gffffff?g?gQ?gףp=
?g{Gz?)Zatol)r   r   r   randomseedroundZrandshapeZastyper   r"   r   r   r#   r$   r   )r   labelsr   r&   Zmarked_projZ
ref_resultr   r   r   test_mark_boundaries_subpixeli   s6    




r0   r   r   innerouterr*   c                 C   s0   t jdtd}t|| d}t |dks,tdS )z+A constant-valued image has not boundaries.)   r3   r
   )r   r   N)r   onesintr   allr#   )r   r4   br   r   r   test_boundaries_constant_image   s    r8   )numpyr   ZpytestZnumpy.testingr   r   Zskimage._shared.utilsr   Zskimage.segmentationr   r   r"   r   r   markZparametrizer   Zfloat16Zfloat32Zfloat64r'   r(   r0   r8   r   r   r   r   <module>   s"    
%
