
    k h{                     \   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j"                         Z e	       ej&                  j)                  dg d      d	               Zej&                  j)                  dg d      d
        Z e
exr e d      d        Zd Zd Zy)    N)assert_almost_equalassert_equal)data)run_in_parallelxfailarch32is_wasm)ORB)_convertdtype)float32float64uint8uint16int64c                 @   t        t        |       }t        ddd      }|j                  |       t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d	      }t	        j                  |       t        j                  k(  r{|j                  j                  t        j                  k(  sJ |j                  j                  t        j                  k(  sJ |j                  j                  t        j                  k(  s}J |j                  j                  t        j                  k(  sJ |j                  j                  t        j                  k(  sJ |j                  j                  t        j                  k(  sJ t        ||j                  d d d
f          t        ||j                  d d df          t        ||j                         t        ||j                  d       t        |t	        j                  |j                        d       |j                  t               t        ||j                  d d d
f          t        ||j                  d d df          y )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           z/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/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"4">">q!t"DE"4">">q!t"DE
$6$=$=>&8&B&BAF"**%7%D%DEq ))#."4">">q!t"DE"4">">q!t"DE    c                 
   t        t        |       }t        ddddd      }|j                  |       t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d	      }t	        j
                  g d
      }t        ||j                  d d df          t        ||j                  d d df          t        ||j                         t        ||j                         t        |t	        j                  |j                        d       |j                  t               t        ||j                  d d df          t        ||j                  d d df          y )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"4">">q!t"DE"4">">q!t"DE
$6$=$=>&8&B&BC"**%7%D%DEq ))#."4">">q!t"DE"4">">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                  *   t        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              }| j	                  t
               | j                  t
        | j                  | j                  | j                         t        || j                  ddddf          | j                  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(  sJ || j                  j                  d   k(  sJ y )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   s    Bt<hh********************)	
, /O4 c"$$!!''	 "4"@"@S"R%"PQ))#."4"@"@S"R%"PQ(2288;O0<<BB1EEEE0==CCAFFFF0::@@CCCC077==a@@@@r3   c                      t        j                  d      } t               }t        j                  t
              5  |j                  |        d d d        y # 1 sw Y   y xY w)N)   rJ   )r!   onesr
   pytestraisesRuntimeErrorr(   r   r+   s     r1   !test_no_descriptors_extracted_orbrP      sG    
''*
C	|	$ 3--c23 3 3s   AAc                      t        j                         d dd df   } t        dd      }|j                  |        |j	                  |        y )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  ' djjl "TU>F V >FB "TUF VF@ $W	C,A,A^3/r3   