
    hhy                         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	 d dl
mZ d dlmZ  ej                         Z e	       ej                   j#                  dg d      d	               Zd
 Zd Zy)    N)assert_almost_equalassert_equal)data)run_in_parallel)SIFT)_convertdtype)float32float64uint8uint16int64c           	      (   t        t        |       }t               }|j                  |       t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }t	        j
                  g d      }	t	        j
                  g d      }
t	        j
                  g d	g d
g dg dg dg dg      }t        ||j                  d ddf          t        ||j                  d ddf          t        ||j                  d d        t        ||j                  d ddf   d       t        ||j                  d ddf   d       t        ||j                  d d d       t        |	|j                  d d        t        |
|j                  d d d       t        ||j                  d       t               }|j                  t               |j                  t               t        |j                  d ddf   |j                  d ddf          t        |j                  d ddf   |j                  d ddf          y )N)
   r            r         r       )
K  r   iE  J  i6  r      iC     iR  )
r   r   r   r   r   r   r   r   r   r   )
_~1@r   gB3@gI5@g&1J9@goʢA:@gе=@g#A>@gV@)>@g1/?@)
nt@r   g)St@g7}#t@g!Imes@g!bt@gNٗi@g!1t-t@gzIOҭb@gWu@)
=?r   gƔ?gbT?gCʪc?gз&Y^?gYj6|?gO?g/R ?g_``?)
   r         r    r   r   r   r   r   )
1K+?r!   gJ-A?gEaa?g G?g|WS?grH0?gV?g7?g84?)g?güCa ?găQ?皙?üCa  @ăQ@)r"   r#   r$   皙	@üCa @炽pQ@)r%   r&   r'   皙@üCa  @GQ$@)r(   r)   r*   皙)@üCa 0@eEQ4@)r+   r,   r-   皙9@üCa @@P0QD@)r.   r/   r0   gI@g8a P@gP0QT@
   r   r      )decimal)r   imgr   detect_and_extractnparrayr   	keypointsoctaves	positionsorientationsscalessigmasscalespace_sigmasdetectextract)r	   _imgdetector_extractorexp_keypoint_rowsexp_keypoint_colsexp_octavesexp_position_rowsexp_position_colsexp_orientations
exp_scales
exp_sigmasexp_scalespace_sigmasdetector_extractor2s                ]/var/www/html/dev/engine/venv/lib/python3.12/site-packages/skimage/feature/tests/test_sift.pytest_keypoints_siftrN      s|    CD))$/!IJ!ST((9:K	
 	
 xx	
 89J	
J HHFFGJLL	
	 )+=+G+GQ+OP)+=+G+GQ+OP%7%?%?%DE-77Q? -77Q? ,99#2> 
$6$=$=cr$BC
$6$=$=cr$BAN1CCQ &s#$$$SbS!V,.A.K.KCRCQRF.S $$SbS!V,.A.K.KCRCQRF.S    c                     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
t        j                        }| j	                  t
               t        || j                  d d        | 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 || j                  j                  d   k(  sJ || j                  j                  d   k(  sJ y )Nr   r2   )n_histn_ori)   r   7   r   rS      -   R   rS         rS   rS      A   n   )   4   r   r   r]         rT   r]   K   rS   [   r]   r[   r]      )         B   \   L   N   rf   rf   W   X   rW   b   8   `   rf   )   r   (   	         9   $   rp   rn         rp   *      rX   )rZ   x   rZ   rb      l   rZ   C   rZ      o   _   rZ   r{   E   )   )   r1      ,      r_      "   r   q   I   @   r   rW   r   r   )rX   rn   rX   1   rz   rX   rX   rj   rX   3   rX   S   rX   rX   rX   H   )   .   /   r`   r      r[   r   r   r^   r   r   r   r   ;      )   u   rX   f   r   r   Z   r\         r   2   ru   r   r   F   )r	   r1   r   )r   r6   r7   r   r5   r4   r   descriptorsr8   shaper;   r9   r:   r<   )rB   exp_descriptorskeypoints_counts      rM   test_descriptor_siftr      sJ   Qa0hhUUSRQWTVQ	
: hh=OB ))#."4"@"@""EF(2288;O0<<BB1EEEE0==CCAFFFF088>>qAAAA0::@@CCCC077==a@@@@077==a@@@@rO   c                      t        j                  d      } t               }t        j                  t
              5  |j                  |        d d d        y # 1 sw Y   y xY w)N)   r   )r6   onesr   pytestraisesRuntimeErrorr5   )r4   rB   s     rM   "test_no_descriptors_extracted_siftr      sG    
''*
C	|	$ 3--c23 3 3s   AA)numpyr6   r   numpy.testingr   r   skimager   skimage._shared.testingr   skimage.featurer   skimage.util.dtyper   coinsr4   markparametrizerN   r   r    rO   rM   <module>r      sh      ;  3   'djjl "TUm V m`-A`3rO   