o
    ÕjT  ã                   @   sÂ   d dl Zd dlZd dlmZmZ d dlmZ ejej	ej
ejejejejejgZeejejg Zej de¡ej de¡ej dddg¡d	d
„ ƒƒƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )é    N)Ú	map_arrayÚArrayMap)ÚtestingÚdtype_inÚ	dtype_outÚ	out_arrayTFc           	      C   sº   t jg d¢| d}t jg d¢| dd d d… }t jg d¢|dd d d… }t jg d¢|d}d }|r;t j|jd|d}t||||d}t j ||¡ |j|ksQJ ‚|rY||u s[J ‚d S d S )	N)r   é   r   é   é   é   r   ©Údtype)é   r   r	   r
   é   éÿÿÿÿ)r   é   é   é	   é
   )r   r   r   r   r   r   r   é   )Ú	input_arrÚ
input_valsÚoutput_valsÚout)ÚnpÚarrayÚfullÚshaper   r   Zassert_array_equalr   )	r   r   r   r   r   r   Zdesiredr   Úresult© r   úb/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/util/tests/test_map_array.pyÚtest_map_array_simple   s    ÿÿr!   c                  C   s|   t jjdddd} t  d¡}t  | ¡}t j |j¡ |j¡}t 	t
¡ t| |||d W d   ƒ d S 1 s7w   Y  d S )Nr   r   ©é   é   ©Úsize)r#   r#   ©r   ©r   ÚrandomÚrandintÚemptyÚuniquer   Zastyper   r   ZraisesÚ
ValueErrorr   ©Úlabelsr   Ú	in_valuesÚ
out_valuesr   r   r    Ú%test_map_array_incorrect_output_shape*   s   

"ÿr2   c                  C   s   t jjdddd} t  d¡d d d…d d d…f }t  | ¡}t j |j¡ |j¡}t 	t
¡ t| |||d W d   ƒ d S 1 sAw   Y  d S )	Nr   r   r"   r%   )éH   é2   r	   r   r'   r(   r.   r   r   r    Ú*test_map_array_non_contiguous_output_array3   s   
"ÿr5   c                  C   sX   t jjdddd} t  | ¡}t j |j¡}t||ƒ}tt|ƒ d¡ƒ|j	d ks*J ‚d S )Nr   é(   r"   r%   Ú
r   )
r   r)   r*   r,   r   r   ÚlenÚstrÚsplitZ_max_str_lines)r/   r0   r1   Úmr   r   r    Útest_arraymap_long_str<   s
   

$r<   c                  C   sŒ   t  t jjdddd¡} t j t| ƒ¡}t| |ƒ}t jjdt|ƒdd}t  || dk ¡s/J ‚|dd …  d7  < t  || dk¡sDJ ‚d S )Nr   éÈ   r   r%   r   ©é   r?   )r   r,   r)   r*   r8   r   Úall)r0   r1   r;   Úimager   r   r    Útest_arraymap_updateD   s   
rB   c                  C   s¢   t  t jjdddd¡} t j t| ƒ¡}t| |ƒ}t jjdt| ƒdd}t  || dk ¡s/J ‚t jt|ƒtd}d|d< ||  d7  < t  || dk¡sOJ ‚d S )	Nr   r=   r   r%   r   r>   r   F)	r   r,   r)   r*   r8   r   r@   ZonesÚbool)r0   r1   r;   rA   Zpositiver   r   r    Útest_arraymap_bool_indexN   s   
rD   )Únumpyr   ZpytestZskimage.util._map_arrayr   r   Zskimage._sharedr   Zuint8Zuint16Zuint32Zuint64Zint8Zint16Zint32Zint64Z_map_array_dtypes_inZfloat32Zfloat64Z_map_array_dtypes_outÚmarkZparametrizer!   r2   r5   r<   rB   rD   r   r   r   r    Ú<module>   s.    ø		
