
    9i{                     h   S SK rS SKrS SKJrJr  S SKJr  S SKJ	r	J
r
JrJr  S SKJr  S SKJr  \R"                  " 5       r\	" 5       \R&                  R)                  S/ SQ5      S	 5       5       r\R&                  R)                  S/ SQ5      S
 5       r\
" \=(       a    \(       + SS9S 5       rS rS rg)    N)assert_almost_equalassert_equal)data)run_in_parallelxfailarch32is_wasm)ORB)_convertdtype)float32float64uint8uint16int64c                 L   [        [        U 5      n[        SSSS9nUR                  U5        [        R
                  " / SQ5      n[        R
                  " / SQ5      n[        R
                  " / SQ5      n[        R
                  " / SQ5      n[        R
                  " / S	Q5      n[        R                  " U 5      [        R                  :X  a  UR                  R                  [        R                  :X  d   eUR                  R                  [        R                  :X  d   eUR                  R                  [        R                  :X  d   eO~UR                  R                  [        R                  :X  d   eUR                  R                  [        R                  :X  d   eUR                  R                  [        R                  :X  d   e[        X2R                  S S 2S
4   5        [        XBR                  S S 2S4   5        [        XRR                  5        [        XrR                  S5        [        U[        R                  " UR                  5      S5        UR                  [        5        [        X2R                  S S 2S
4   5        [        XBR                  S S 2S4   5        g )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_responses           ^/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/feature/tests/test_orb.py*test_keypoints_orb_desired_no_of_keypointsr2      s    CDBtLd#xxPH xxPH ABJxx	
 88	
L 
xx"**$!((.."**<<<!++11RZZ???!..44

BBB!((.."**<<<!++11RZZ???!..44

BBB">">q!t"DE">">q!t"DE
$=$=>&B&BAF"**%7%D%DEq ))#.">">q!t"DE">">q!t"DE    c                    [        [        U 5      n[        SSSSSS9nUR                  U5        [        R
                  " / SQ5      n[        R
                  " / SQ5      n[        R
                  " / SQ5      n[        R
                  " / S	Q5      n[        R
                  " / S
Q5      n[        X2R                  S S 2S4   5        [        XBR                  S S 2S4   5        [        XRR                  5        [        XrR                  5        [        U[        R                  " UR                  5      S5        UR                  [        5        [        X2R                  S S 2S4   5        [        XBR                  S S 2S4   5        g )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@)      ?r9   r9   r9   r9   )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)   s           r1   4test_keypoints_orb_less_than_desired_no_of_keypointsr;   Q   s+   CDr$!a d#xx9:Hxx;<H34Jxx@ 88UVL">">q!t"DE">">q!t"DE
$=$=>&B&BC"**%7%D%DEq ))#.">">q!t"DE">">q!t"DEr3   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                     [        SSS9n [        R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/ S
Q/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ SQ/[        S9nU R	                  [
        5        U R                  [
        U R                  U R                  U R                  5        [        XR                  SS2SS24   5        U R                  [
        5        [        XR                  SS2SS24   5        U R                  R                  S   nX R                  R                  S   :X  d   eX R                  R                  S   :X  d   eX R                  R                  S   :X  d   eX R                  R                  S   :X  d   eg )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_counts      r1   test_descriptor_orbrH   r   sy    Bt<hh********************)	
, /O4 c"$$!!''	 "@"@S"R%"PQ))#."@"@S"R%"PQ(2288;O<<BB1EEEE==CCAFFFF::@@CCCC77==a@@@@r3   c                      [         R                  " S5      n [        5       n[        R                  " [
        5         UR                  U 5        S S S 5        g ! , (       d  f       g = f)N)   rJ   )r!   onesr
   pytestraisesRuntimeErrorr(   r   r+   s     r1   !test_no_descriptors_extracted_orbrP      s>    
''*
C	|	$--c2 
%	$	$s   A
A$c                      [         R                  " 5       S S2S S24   n [        SSS9nUR                  U 5        UR	                  U 5        g )N@   r6      )r7   r8   )r   brickr
   r    r(   rO   s     r1   test_img_too_small_orbrU      sG    
**,ssCRCx
 Cq15c"))#.r3   )numpyr!   rL   numpy.testingr   r   skimager   skimage._shared.testingr   r   r   r	   skimage.featurer
   skimage.util.dtyper   coinsr   markparametrizer2   r;   rH   rP   rU    r3   r1   <module>r`      s      ;  K K  ' jjl "TU>F V >FB "TUF VF@ $W	C,A,A^3/r3   