o
    j                  
   @   s   d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 dd Zdd Zdd	 Zd
d Zejje ddejdg ddd Zejje ddejdg dgddgedfdd Zejje dddd ZdS )    N)has_mpl)FeatureDetectorDescriptorExtractor_prepare_grayscale_input_2D_mask_border_keypointsplot_matched_featuresc                   C   s<   t t t d  W d    d S 1 sw   Y  d S N)pytestraisesNotImplementedErrorr   detect r   r   `/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/skimage/feature/tests/test_util.pytest_feature_detector   s   "r   c                   C   s>   t t t d d  W d    d S 1 sw   Y  d S r   )r	   r
   r   r   extractr   r   r   r   test_descriptor_extractor   s   "r   c                   C   s   t t ttd W d    n1 sw   Y  t t ttd W d    n1 s3w   Y  t t ttd W d    n1 sOw   Y  ttd ttd ttd d S )N)   r   r   )r      )r   r   r   )r   r   )r   r   r   )r   r   r   )r	   r
   
ValueErrorr   npzerosr   r   r   r   test_prepare_grayscale_input_2D   s   r   c                  C   s   t ddgddgddgddgddgg} t jtd| dg d t jtd| dg d t jtd	| dg d
 t jtd| dg d t jtd| dg d d S )Nr   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   arrayZtestingZassert_equalr   )Z	keypointsr   r   r   test_mask_border_keypoints$   s    (r   zMatplotlib not installed)reasonshapes))r   r   )r      r   )r   r   r"   )r   r"   r"   )r!   r   )r#   r   )r$   r   c                    st  ddl m} ddl m} |d | \}}tjd d d }d d } jddd} jddd}t||f}	| \}
}t	|
}t	|}t
|||||	|d	 t
||||||	d
d t
||||||	dd t
||||||	dd tjd  fddtt|	D }t
||||||	|d t
||||||	tjddt|	dd t
||||||	dd |  d S )Nr   pyplotuseAggl   
*A r   )r   r   size)
keypoints0
keypoints1matchesaxT)r/   r,   r-   r.   Zonly_matchesr)r/   r,   r-   r.   Zkeypoints_colorr/   r,   r-   r.   matches_colorl   	A c                    s   g | ]	}  g d qS ))C0z#abcZ
aquamarine)choice).0_rngr   r   
<listcomp>{   s    z.test_plot_matched_features.<locals>.<listcomp>)r   r   r   )r   r   r   )numvertical)r/   r,   r-   r.   	alignment)
matplotlibr&   r(   subplotsr   randomZdefault_rngZintegerscolumn_stackr   r   rangelenZlinspaceclose)r    pltr(   Zfigr/   r,   r-   idxs0idxs1r.   Zshape0Zshape1img0img1Zrandom_matches_colorr   r7   r   test_plot_matched_features7   s   

		



		rI   r2   r3   ZC1   c              
   C   s   ddl m} ddl m} |d | \}}dtjdd }dtjdd }tjjddd}tjjddd}t||f}	t	| t	|	ksIJ t
d}
t|
}d	}tjt|d
 t|
|||||	| d W d    d S 1 ssw   Y  d S )Nr   r%   r'   r)   r   r   r*   r   za`matches_color` needs to be a single color or a sequence of length equal to the number of matchesmatchr1   )r=   r&   r(   r>   r   r?   randrandintr@   rB   r   
zeros_liker	   r
   r   r   )r2   rD   r(   r6   r/   r,   r-   rE   rF   r.   rG   rH   regexr   r   r   &test_plot_matched_features_color_error   s2   

"rQ   c                  C   s   ddl m}  ddl m} |d |  \}}dtjdd }dtjdd }tjjddd}tjjddd}t||f}t	d}	t
|	}
tjtd	d
 t|	|
||||tt|d W d    d S 1 slw   Y  d S )Nr   r%   r'   r)   r   r   r*   r   z.* not a valid value for colorrK   r1   )r=   r&   r(   r>   r   r?   rM   rN   r@   r   rO   r	   r
   r   r   arangerB   )rD   r(   r6   r/   r,   r-   rE   rF   r.   rG   rH   r   r   r   1test_plot_matched_features_matplotlib_color_error   s,   

"rS   )numpyr   r	   Z"skimage._shared._dependency_checksr   Zskimage.feature.utilr   r   r   r   r   r   r   r   r   markZskipifZparametrizerI   rR   rQ   rS   r   r   r   r   <module>   s&    	Y "