o
    j                     @   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	 d dl
mZ d dlmZ d dlmZ ejdejejejgd	d
 Zejdejejgdd Zejdejejgdd Zejdejejgdd Zdd Zdd ZdS )    N)assert_equalassert_allclose)data)_supported_float_type)rgb2gray)gaussian)active_contourdtypec           
   	   C   s   t  }t|}tddtj d}ddt|  }ddt|  }t||gj	}t
|dddj| dd	}t||d
ddddd}|jt| ksLJ g d}g d}	ttj|d ddf tjd| ttj|d ddf tjd|	 d S )Nr        d         FsigmaZpreserve_rangecopyQ?
      MbP?)alphabetaw_linew_edgegamma)
b   c   r   e   f   g   h   i   j   l   )
i+  *  r%   r%   r%   )  r&   (  r'   i'  r	   )r   	astronautr   nplinspacepisincosarrayTr   astyper   r	   r   r   int32)
r	   imgsrcinit
img_smoothsnakerefrrefc r<   u/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/segmentation/tests/test_active_contour_model.pytest_periodic_reference   s   "&r>   c           	   
   C   s   t  }tddd}tddd}t||gj}t|dddj| dd	}t||d
dddddd}|j	t
| ks;J g d}g d}ttj|d ddf tjd| ttj|d ddf tjd| d S )N   2   r        r   Fr   r   fixed皙?      ?r   boundary_conditionr   r   r   r   r   
r?                           }   
rA   	                  "   &   *   r   r(   r   textr*   r+   r/   r0   r   r1   r   r	   r   r   r2   )	r	   r3   r5   r6   r7   Zimage_smoothr9   r:   r;   r<   r<   r=   test_fixed_reference   s,   
"&r_   c           	   
   C   s   t  }tddd}tddd}t||gj}t|dddj| dd	}t||d
dddddd}|j	t
| ks;J g d}g d}ttj|d ddf tjd| ttj|d ddf tjd| d S )NF   (   r   rA   rB   r   Fr   r   freerD   rE   rF   r   rG   )
L   rc   K   J   I   H   G   r`   E   ri   )
r   rU                      $   '   r   r(   r   r]   )	r	   r3   r5   r6   r7   r8   r9   r:   r;   r<   r<   r=   test_free_reference9   s(   
"&rr   c              
   C   sR  t t ddd}tj|jd |jd df| d}tj|jd |jd df| d}tj|jd |jd df| d}||d d d d df< ||d d d d df< |d d d d d f |d d d d d d f< tddd	}td
dd	}t||gj}t	||ddddddd}t
| }	|j|	ksJ g d}
g d}ttj|d ddf tjd|
 ttj|d ddf tjd| t	||ddddddd}|j|	ksJ ttj|d ddf tjd|
 ttj|d ddf tjd| t	||ddddddd}|j|	ksJ ttj|d ddf tjd|
 ttj|d ddf tjd| d S )Nr   Fr   r   r   r(   r?   r@   r   rA   rB   rC   rD   rE   rF   rG   rI   rS   r   g)r   r   r^   r*   zerosshaper+   r/   r0   r   r   r	   r   r2   )r	   r3   ZimgRZimgGZimgRGBr5   r6   r7   r9   Zfloat_dtyper:   r;   r<   r<   r=   test_RGBQ   sh      ,
""
""
"&ru   c                  C   sP  t  } t| } tddtj d}ddt|  }ddt|  }t||gj	}t
t| dd|dd	d
ddddd	}tt|dd d f |dd d f  dk sWJ t
t| dd|dd	d
ddddd	}tt|dd d f |dd d f  dksJ t
t| dd|dd	d
ddddd	}t|dd d f |d |d gdd d S )Nr   r
   r   r   r   r   )r   Zperiodicr   r   r   r   )rH   r   r   r   r   r   max_num_iterrb   rC   gh㈵>)Zatol)r   r)   r   r*   r+   r,   r-   r.   r/   r0   r   r   sumabsr   )r3   r4   r5   r6   r7   r9   r<   r<   r=   test_end_points   sT   
4
4
*rz   c                  C   s   t d} t ddd}t ddd}t ||gj}tt t| |dd W d    n1 s2w   Y  tt t| |d	d
 W d    d S 1 sOw   Y  d S )N)r   r   r?   r@   r   rA   rB   Zwrong)rH   i)rv   )	r*   rs   r+   r/   r0   pytestZraises
ValueErrorr   )r3   r5   r6   r7   r<   r<   r=   test_bad_input   s   
"r}   )numpyr*   r{   Znumpy.testingr   r   Zskimager   Zskimage._shared.utilsr   Zskimage.colorr   Zskimage.filtersr   Zskimage.segmentationr   markZparametrizeZfloat16Zfloat32Zfloat64r>   r_   rr   ru   rz   r}   r<   r<   r<   r=   <module>   s$    



7-