o
    ci{                     @   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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oTe 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is_wasm)ORB)_convertdtype)float32float64uint8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rX|jjtjksEJ |j	jtjksNJ |j
jtjksWJ n|jjtjksaJ |j	jtjksjJ |j
jtjkssJ 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   _imgdetector_extractorexp_rowsexp_cols
exp_scalesexp_orientationsexp_response r/   h/var/www/addictedbytheproject.nl/epg/venv/lib/python3.10/site-packages/skimage/feature/tests/test_orb.py*test_keypoints_orb_desired_no_of_keypoints   sB   


r1   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@)      ?r6   r6   r6   r6   )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/   r0   4test_keypoints_orb_less_than_desired_no_of_keypointsQ   s,   



r8   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   sT  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sJ || j	jd ksJ || jjd ksJ || jjd ksJ 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   descriptorsr&   shaper"   )r)   exp_descriptorskeypoints_countr/   r/   r0   test_descriptor_orbr   sP   


rD   c                  C   sJ   t d} t }tt ||  W d    d S 1 sw   Y  d S )N)   rE   )r   onesr	   pytestraisesRuntimeErrorr&   r   r)   r/   r/   r0   !test_no_descriptors_extracted_orb   s
   
"rK   c                  C   s<   t  d dd df } tddd}||  ||  d S )N@   r3      )r4   r5   )r   brickr	   r   r&   rJ   r/   r/   r0   test_img_too_small_orb   s   
rO   )numpyr   rG   numpy.testingr   r   skimager   skimage._shared.testingr   r   r   r   skimage.featurer	   skimage.util.dtyper
   coinsr   markparametrizer1   r8   rD   rK   rO   r/   r/   r/   r0   <module>   s(    A
 
	/