o
    j)                     @   s   d dl Zd dlZd dlmZ d dlmZ d dlmZ ej	
dejejgd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dd Zdd Zdd Zdd ZdS )    N)assert_array_equal)_supported_float_type)	chan_vesedtypec                 C   s   t jd| d}d|ddddf< t jdd| d}t|dd|d	}t|tt d t|dd| d	}t|tt d d S )
N
   r   r                      MbP?mutolinit_level_set)npzerosfullr   r   astypefloatones)r   imglsresult r   j/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/segmentation/tests/test_chan_vese.pytest_chan_vese_flat_level_set	   s   r   c                  C   sB   t d} d| ddddf< t| dddd}t|t|  d S )	Nr   r	   r
   r   r   r   z
small diskr   )r   r   r   r   r   r   r   r   r   r   r   #test_chan_vese_small_disk_level_set   s   
r    c                  C   s@   t d} d| ddddf< t| dddt}t||  d S )Nr   r	   r
   r   r   :0yE>)r   r   )r   r   r   r   r   r   r   r   r   r   test_chan_vese_simple_shape!   s   
r"   c                    s|   t jd| d}d|ddddf< t|dddd	}t|  |d j ks&J t fd
d|d D s5J tt|d d S )Nr   r   r	   r
   r   r   r!   T)r   r   Zextended_outputc                 3   s    | ]}|j  kV  qd S )Nr   ).0ZarrZfloat_dtyper   r   	<genexpr>/   s    z1test_chan_vese_extended_output.<locals>.<genexpr>   )r   r   r   r   r   allr   len)r   r   r   r   r$   r   test_chan_vese_extended_output(   s   r)   c                  C   sz   t d} t g dg dg dg dg dg| ddddf< |  }d|d< t|ddd	d
ddt}t||  d S )Nr   )r   r	   r	   r	   r   )r	   r	   r	   r	   r	   r	   r   )   r
   g333333?r   d   r   diskr   r   Zmax_num_iterdtr   )r   r   arraycopyr   r   r   r   refr   r   r   r   r   test_chan_vese_remove_noise3   s"   
	r3   c                  C   sR   t d} t d}tt t| d|d W d    d S 1 s"w   Y  d S )N)r   r   r
   r   	   r   r   r   r   r   pytestZraises
ValueErrorr   r   r   r   r   r   #test_chan_vese_incorrect_image_typeF   s
   

"r;   c                  C   sj   t d} t d| ddd d f< |  }t d|d d df< t|ddd	d	d
dt}t||  d S )N)   r<   )   r<   r*      r<   r   gffffff?r   r   r,   r-   )r   r   r   r0   r   r   r   r   r1   r   r   r   test_chan_vese_gap_closingM   s   
r?   c                  C   s   t d} t d}tt t| d|d W d    n1 s!w   Y  tt t| ddd W d    d S 1 s>w   Y  d S )Nr   r4   r   r6   ar7   r:   r   r   r   "test_chan_vese_incorrect_level_setX   s   

"rA   c                  C   s>   t d} t jdd}|dk}t| dd|d}t|| d S )Nr   r   r   r   r   )r   r   randomZrandr   r   )r   Z	level_setr2   r   r   r   r   test_chan_vese_blank_imagea   s
   
rC   )numpyr   r8   Znumpy.testingr   Zskimage._shared.utilsr   Zskimage.segmentationr   markZparametrizeZfloat32Zfloat64r   r    r"   Zuint8Zfloat16r)   r3   r;   r?   rA   rC   r   r   r   r   <module>   s     


	