o
    j                     @   s   d Z 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ejejejgdd Zd	d
 Zej	
dg ddd Zdd Zdd Zej	
dg ddd Zej	
dg ddd Zdd ZdS )zB
Tests for Rolling Ball Filter
(skimage.restoration.rolling_ball)
    N)data)rolling_ball)ellipsoid_kerneldtypec                 C   sV   dt jd| d }tdd}t||d}t || t |s!J |j|jks)J d S )N   d   r   r   )   5   2   kernel)nponesr   r   allclose
zeros_liker   )r   imgr   
background r   l/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/restoration/tests/test_rolling_ball.pytest_ellipsoid_const   s
   
r   c                  C   s   dt jdtd } t j| d< t j| d< d}t |d  d |d d d t jd d f }t |d	  d |d	 d d d d t jf }t | }t j||d
 |d
 f< t j||d |d f< t|d}t| |dd}t j	| | |ddsxJ d S )N{   r   r	      r   )r   r   
   r         r   r   r   r   r   T)r   nansafe)Z	equal_nan)
r   r   floatnanZarangeZnewaxisr   r   r   r   )r   Zkernel_shapexyexpected_imgr   r   r   r   r   test_nan_const   s   

00

r%   radius)r   g      @gx&$@r   c                 C   s>   dt jdt jd }t|| d}t || t |sJ d S )N   r   r	   r&   )r   r   uint8r   r   r   )r&   r   r   r   r   r   test_const_image)   s   r*   c                  C   sn   d} t tdtd\}}t t | d |d  |d  dd }t|dd}t || t |s5J d S )Nr      r   r   r(   )r   meshgridrangesqrtZclipr   r   r   )Zspot_radiusr"   r#   r   r   r   r   r   test_radial_gradient1   s
   (r/   c                  C   sb   t tdtd\} }|d | d  }dt | }d|d< t|dd}t || |s/J d S )Nr   r      r   )r   r   r   r(   )r   r,   r-   Z	ones_liker   r   )r"   r#   r   r$   r   r   r   r   test_linear_gradient;   s   r1   )r   r   g      )@r   c                 C   sp   t tdtd\}}d| d|  d }d|d< d|d< d|d	< |d }t|| d
}t || |s6J d S )Nr   r   r   r   r   #   r      )-      r(   )r   r,   r-   r   r   )r&   r"   r#   r   r$   r   r   r   r   test_preserve_peaksG   s   r6   num_threads)Nr   r   c                 C   s6   dt jdt jd }t|d| d t|dd| d d S )Nr'   r   r	   r   )r&   r7   T)r&   r   r7   )r   r   r)   r   )r7   r   r   r   r   test_threadsT   s   r8   c                  C   s0   t  d dddf } tdd}t| |d d S )Nr+   r   .)   r   r   r   r   )r   Zcells3dr   r   )imager   r   r   r   	test_ndim]   s   
r;   )__doc__numpyr   ZpytestZskimager   Z!skimage.restoration._rolling_ballr   r   markZparametrizer)   Zint32Zfloat16Zfloat32Zfloat64r   r%   r*   r/   r1   r6   r8   r;   r   r   r   r   <module>   s(    




