o
    ho                     @   s   d dl 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
mZmZmZ d dlmZ dd	 Zd
d Zdd Zdd Zdd Zdd ZdS )    N)assert_equal)data)	transform)rgb2gray)BRIEFmatch_descriptorscorner_peakscorner_harris)testingc                  C   sf   t g dg dg} t g dg dg}tt t| | W d   dS 1 s,w   Y  dS )z@Sizes of descriptors of keypoints to be matched should be equal.)TTFT)FTFTTFFTF)FTTTFN)nparrayr
   raises
ValueErrorr   )descs1descs2 r   [/var/www/html/scripts/venv/lib/python3.10/site-packages/skimage/feature/tests/test_match.py6test_binary_descriptors_unequal_descriptor_sizes_error   s   

"r   c                  C   sP   t g dg dg} t g dg dg}t| |}t|ddgddgg d S )N)TTFTT)FTFTTr   )FFTTTr      )r   r   r   r   r   r   matchesr   r   r   test_binary_descriptors   s   


r   c                  C   sV  t  } t| } tjdddd}tj| |dd}tdd}tt| d	d
dd}|	| | |j
}tt|d	d
dd}|	|| |j
}t||dd}td}	tg d}
t|ddd
f |	 t|dddf |
 t||ddd}t|ddd
f |	 t|dddf |
 t||dddd}t|ddd
f |	 t|dddf |
 dS )zVerify matched keypoints and their corresponding masks results between
    image and its rotated version with the expected keypoint pairs with
    cross_check disabled.r   333333?r   r   scalerotationtranslationFclip   descriptor_size   r   皙?min_distancethreshold_absthreshold_relcross_check/   )/r      r         r$            	                           %                            #   r<   *      &   !   (   $   '   
   rK   +   r7   rE   )      r<   rC   r>   r1   N	minkowski)metricr+   r/   )rR   pr+   )r   	astronautr   r   SimilarityTransformwarpr   r   r	   extractdescriptorsr   r   aranger   r   imgtformrotated_img	extractor
keypoints1descriptors1
keypoints2descriptors2r   exp_matches1exp_matches2r   r   r   1test_binary_descriptors_rotation_crosscheck_false   s<   



re   c                  C   s   t  } t| } tjdddd}tj| |dd}tdd}tt| d	d
dd}|	| | |j
}tt|d	d
dd}|	|| |j
}t||dd}tg d}	tg d}
t|ddd
f |	 t|dddf |
 dS )zVerify matched keypoints and their corresponding masks results between
    image and its rotated version with the expected keypoint pairs with
    cross_check enabled.r   r   r   r   Fr   r!   r"   r$   r   r%   r&   Tr*   )$r   r   r-   r.   r/   r$   rP   r0   r1   r3   rM   r4      r5   r2   r7   r8   r:   r;         r9   r6   r>   rB   r?   rD   rG   r@      rC   rI   "   rH   rO   rF   )$r   r-   r   r.   r/   r$   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r=   r>   r?   r@   rA   rB   rD   rE   r<   rF   rG   rH   rI   rJ   rK   rN   rO   rP   N)r   rT   r   r   rU   rV   r   r   r	   rW   rX   r   r   r   r   rZ   r   r   r   0test_binary_descriptors_rotation_crosscheck_trueL   s(   


rk   c                  C   s   t d} t d}d| dd d f< t| |dddd}t|d	ks#J t| |dt d
dd}t|dks7J t| |dddd}t|ddgg t| |dt d
dd}t|ddgg d S )N)rM      )r7   rl   r   r   	euclideanr%   F)rR   max_distancer+   r3   g33333`@rM   T)r   zerosr   lensqrtr   r   r   r   r   test_max_distanceo   s,   

rr   c                  C   s  dt dd d d f t j } dt dd d d f t j }d|d< t| |dddd}tt|d t| |dd	dd}tt|d t| |dd
dd}tt|d d| d< t| |dd
dd}tt|d dt dd d d f t j }t| |dddd}tt|d t| |dd
dd}tt|d dt dd d d f t j } t| |dddd}tt|d t| |dd
dd}tt|d d S )NrM   r7   g      @r   rm   g      ?F)rR   	max_ratior+   g333333?g      ?r3   g      @r   )r   rY   astypefloat32r   r   rp   r   r   r   r   test_max_ratio   sL   """"rv   )numpyr   skimage._shared.testingr   skimager   r   skimage.colorr   skimage.featurer   r   r   r	   skimage._sharedr
   r   r   re   rk   rr   rv   r   r   r   r   <module>   s    
	.#