o
    :ήcN                     @   st   d dl Zd dlmZ d dlmZ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dS )    N)clear_border)assert_array_equalassert_)expected_warningsc               	   C   s$  t g dg dg dg dg dg dg} t|  }|  }d|dd	dd
f< d|dd
df< t|| t|  d}t|t |j t|  dd
d}t|d
t |   t g dg dg dg dg dg dgt	}t|  |d}|  }d|dd	dd
f< 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   r   r   r   r   r   r   r         buffer_sizebgval)	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   )mask)
nparrayr   copyr   zerosshape	ones_likeastypebool)imageresultrefr    r   S/tmp/pip-target-vg8gfxp4/lib/python/skimage/segmentation/tests/test_clear_border.pytest_clear_border   s>   	

r   c               	   C   s   t g dg dg dg dgg dg dg dg dgg dg dg dg dgg} t|  }|  }d|d< t|| t|  d}t|t |j t|  ddd	}t|d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   test_clear_border_3d-   s2   
r   c                  C   sn   t g dg dg dg dg} t| }t g dg dg dg dg}t|| tt | |k  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   allr   r   expectedr   r   r   test_clear_border_non_binaryK   s   


r*   c               	   C   s   t g dg dg dg dgg dg dg dg dgg dg dg dg dgg} t| }t g dg dg dg dgg dg dg dg dgg dg dg dg dgg}t|| tt | |k  d S )	Nr   r   r   r   r    r   r   r    r   r    r   r"   r   r!   r#   r   r   r   r   r   r&   image3dr   r)   r   r   r   test_clear_border_non_binary_3d[   sN   
r0   c                  C   s   t g dg dg dg dg} tdg t| dd}W d    n1 s'w   Y  t g dg d	g d
g dg}t|| t| | d S )Nr   r   r!   r"   in_place argument is deprecatedTin_placer#   r$   r%   r   r   r   r   r   r(   r   r   r   $test_clear_border_non_binary_inplace   s   


r5   c               	   C   s   t g dg dg dg dgg dg dg dg dgg dg dg dg dgg} tdg t| dd	}W d    n1 sBw   Y  t g d
g d
g d
g d
gg d
g dg dg d
gg d
g d
g d
g d
gg}t|| t| | d S )Nr   r+   r,   r"   r   r!   r1   Tr2   r#   r-   r4   r.   r   r   r   'test_clear_border_non_binary_inplace_3d   sR   
r6   c                  C   sr   t g dg dg dg dg} t | }t| |d}t g dg dg dg dg}t|| t|| d S )	Nr   r   r!   r"   outr#   r$   r%   r   r   
empty_liker   r   )r   r8   r   r)   r   r   r    test_clear_border_non_binary_out   s   



r;   c               	   C   s   t g dg dg dg dgg dg dg dg dgg dg dg dg dgg} t | }t| |d}t g dg dg dg dgg dg d	g d	g dgg dg dg dg dgg}t|| t|| d S )
Nr   r+   r,   r"   r   r!   r7   r#   r-   r9   )r/   r8   r   r)   r   r   r   #test_clear_border_non_binary_out_3d   sP   

r<   )numpyr   skimage.segmentationr   skimage._shared.testingr   r   skimage._shared._warningsr   r   r   r*   r0   r5   r6   r;   r<   r   r   r   r   <module>   s    %$%