
    1-Phy                         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                            dg d          d	                         Zd
 Zd ZdS )    N)assert_almost_equalassert_equal)data)run_in_parallel)SIFT)_convertdtype)float32float64uint8uint16int64c           	      |   t          t          |           }t                      }|                    |           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                      }|                    t                     |                    t                     t          |j        d ddf         |j        d ddf                    t          |j        d ddf         |j        d ddf                    d S )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/test/jupyter/venv/lib/python3.11/site-packages/skimage/feature/tests/test_sift.pytest_keypoints_siftrN      sh    CD))$///!I!I!IJJ!S!S!STT(999::K	
 	
 	
  	
 	
 	
  x	
 	
 	
  88899J	
 	
 	
 J HFFFFFFGGGJJJLLLLLL	
	 	 )+=+GQ+OPPP)+=+GQ+OPPP%7%?%DEEE-7Q?    -7Q?    ,9#2#>    
$6$=crc$BCCC
$6$=crc$BANNNN1CQ    &&s###$$$$SbS!V,.A.KCRCQRF.S   $SbS!V,.A.KCRCQRF.S        c                  V   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                  }|                     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 d S )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      s   Qa000hUUUUUUSSSRRRQQQWWWTTTVVVQQQ  	
: h=  OB ))#..."4"@""EFFF(28;O0<B1EEEEE0=CAFFFFF08>qAAAAA0:@CCCCC07=a@@@@@07=a@@@@@@@rO   c                      t          j        d          } t                      }t          j        t
                    5  |                    |            d d d            d S # 1 swxY w Y   d S )N)   r   )r6   onesr   pytestraisesRuntimeErrorr5   )r4   rB   s     rM   "test_no_descriptors_extracted_siftr      s    
'*

C	|	$	$ 3 3--c2223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   A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      s         ; ; ; ; ; ; ; ;       3 3 3 3 3 3             ' ' ' ' ' 'djll "T"T"TUUm m VU m`-A -A -A`3 3 3 3 3rO   