a
    
d                     @   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	m
Z
mZ d dlmZ d dlmZ e Ze	 ejdg dd	d
 Zejdg ddd Ze
edddd Zdd Zdd ZdS )    N)assert_almost_equalassert_equal)data)run_in_parallelxfailarch32)ORB)_convertdtype)float32float64Zuint8Zuint16int64c                 C   s  t t| }tdddd}|| tg d}tg d}tg d}tg d}tg d	}t| tjkr|jjtjksJ |j	jtjksJ |j
jtjksJ n6|jjtjksJ |j	jtjksJ |j
jtjksJ t||jd d d
f  t||jd d df  t||j t||j	d t|t|j
d |t t||jd d d
f  t||jd d df  d S )N
      皙?)n_keypointsfast_nfast_threshold)
     a@      [@gRj@g     ``@gbX9j@g     P@g     i@g      f@r   r   )
g     0t@g     t@gp=
ףq@g     @r@gvq@g     @U@g     @p@g     q@ǧt@     p@)
   r   g
ףp=
?r   gS?r   r   r   g333333?r   )
gG'JgYk(M@g͊n4XgfvbgBWg^nFgkxIgZ.d\@gTO@gS)
gp/?gv?g/C?gU#K?g?gUk/?g_vj.?gjK>ރ?g ?gt(?r   r         )r	   imgr   detectnparrayr
   r   scales	responsesorientationsr   r   	keypointsrad2degdetect_and_extractr
   Z_imgdetector_extractorZexp_rowsZexp_colsZ
exp_scalesZexp_orientationsZexp_response r&   g/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/skimage/feature/tests/test_orb.py*test_keypoints_orb_desired_no_of_keypoints   s2    


r(   c                 C   s  t t| }tdddddd}|| tg d}tg d}tg d}tg d	}tg d
}t||jd d df  t||jd d df  t||j t||j	 t|t
|jd |t t||jd d df  t||jd d df  d S )N   r   gQ?   )r   r   r   	downscalen_scales)r   g     `i@g     a@g     @P@g      M@)g     Pr@r   g     @i@g     @`@g     0r@)      ?r-   r-   r-   r-   )gkb@glF=DsLgjSgIKMgfc)g7Ԕƿg"-D>?g܌:g㳆?gO?r   r      )r	   r   r   r   r   r   r   r!   r   r   r"   r    r#   r$   r&   r&   r'   4test_keypoints_orb_less_than_desired_no_of_keypoints;   s(    


r/   zKnown test failure on 32-bit platforms. See links for details: https://github.com/scikit-image/scikit-image/issues/3091 https://github.com/scikit-image/scikit-image/issues/2529)	conditionreasonc                  C   s\  t ddd} tjg dg dg dg dg dg d	g d
g dg dg dg dg dg dg dg dg dg dg dg dg dgtd}| t | t| j| j| j	 t
|| jddddf  | t t
|| jddddf  | jjd }|| jjd ksJ || j	jd ks,J || jjd ksBJ || jjd ksXJ 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   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   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   )
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   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   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   r   r   r   r   r   r   r   )
r   r   r   r   r   r   r   r   r   r   )r
   d   x   r      r   )r   r   r   boolr   r   extractr!   r   r    r   Zdescriptorsr#   shaper   )r%   Zexp_descriptorsZkeypoints_countr&   r&   r'   test_descriptor_orb[   sR    



r8   c                  C   sH   t d} t }tt ||  W d    n1 s:0    Y  d S )N)   r9   )r   Zonesr   pytestZraisesRuntimeErrorr#   r   r%   r&   r&   r'   !test_no_descriptors_extracted_orb   s    
r=   c                  C   s<   t  d dd df } tddd}||  ||  d S )N@   r*      )r+   r,   )r   Zbrickr   r   r#   r<   r&   r&   r'   test_img_too_small_orb   s    
r@   )numpyr   r:   Znumpy.testingr   r   Zskimager   Zskimage._shared.testingr   r   r   Zskimage.featurer   Zskimage.util.dtyper	   Zcoinsr   markZparametrizer(   r/   r8   r=   r@   r&   r&   r&   r'   <module>   s,   )

)