a
    
do                     @   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   sd   t g dg dg} t g dg dg}tt t| | W d   n1 sV0    Y  dS )z@Sizes of descriptors of keypoints to be matched should be equal.)TTFT)FTFTTFFTF)FTTTFN)nparrayr
   Zraises
ValueErrorr   )descs1descs2 r   i/var/www/html/stable-diffusion-webui/venv/lib/python3.9/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   ZscaleZrotationtranslationFZclip   Zdescriptor_size   r   皙?Zmin_distanceZthreshold_absZthreshold_relcross_check/   )/r      r         r            	                           %                            #   r4   *      &   !   (   $   '   
   rC   +   r/   r=   )      r4   r;   r6   r)   NZ	minkowski)metricr#   r'   )rI   pr#   )r   	astronautr   r   SimilarityTransformwarpr   r   r	   extractdescriptorsr   r   aranger   r   imgZtformZrotated_imgZ	extractorZ
keypoints1Zdescriptors1Z
keypoints2Zdescriptors2r   Zexp_matches1Zexp_matches2r   r   r   1test_binary_descriptors_rotation_crosscheck_false   s<    



rS   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   rH   r(   r)   r+   rE   r,      r-   r*   r/   r0   r2   r3         r1   r.   r6   r:   r7   r<   r?   r8      r;   rA   "   r@   rG   r>   )$r   r%   r   r&   r'   r   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r5   r6   r7   r8   r9   r:   r<   r=   r4   r>   r?   r@   rA   rB   rC   rF   rG   rH   N)r   rK   r   r   rL   rM   r   r   r	   rN   rO   r   r   r   r   rQ   r   r   r   0test_binary_descriptors_rotation_crosscheck_trueL   s(    


rY   c                  C   s   t d} t d}d| dd d f< t| |dddd}t|d	ksFJ t| |dt d
dd}t|dksnJ t| |dddd}t|ddgg t| |dt d
dd}t|ddgg d S )N)rE      )r/   rZ   r   r   	euclideanr    F)rI   Zmax_distancer#   r+   g33333`@rE   T)r   zerosr   lensqrtr   r   r   r   r   test_max_distanceo   s,    

r_   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 )NrE   r/   g      @r   r[   g      ?F)rI   Z	max_ratior#   g333333?g      ?r+   g      @r   )r   rP   Zastypefloat32r   r   r]   r   r   r   r   test_max_ratio   sL    """"ra   )numpyr   Zskimage._shared.testingr   Zskimager   r   Zskimage.colorr   Zskimage.featurer   r   r   r	   Zskimage._sharedr
   r   r   rS   rY   r_   ra   r   r   r   r   <module>   s   
	.#