
    a6d                         d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d Zd Zd Zd Zej                            e d	          d
             ZdS )    N)has_mpl)FeatureDetectorDescriptorExtractor_prepare_grayscale_input_2D_mask_border_keypointsplot_matchesc                      t          j        t                    5  t                                          d            d d d            d S # 1 swxY w Y   d S N)pytestraisesNotImplementedErrorr   detect     ?lib/python3.11/site-packages/skimage/feature/tests/test_util.pytest_feature_detectorr   
   s    	*	+	+ ' '  &&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   "A		AAc                      t          j        t                    5  t                                          d d            d d d            d S # 1 swxY w Y   d S r
   )r   r   r   r   extractr   r   r   test_descriptor_extractorr      s    	*	+	+ 2 2%%dD1112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s   #A

AAc                     t          j        t                    5  t          t	          j        d                     d d d            n# 1 swxY w Y   t          j        t                    5  t          t	          j        d                     d d d            n# 1 swxY w Y   t          j        t                    5  t          t	          j        d                     d d d            n# 1 swxY w Y   t          t	          j        d                     t          t	          j        d                     t          t	          j        d                     d S )N)   r   r   )r      )r   r   r   )r   r   )r   r   r   )r   r   r   )r   r   
ValueErrorr   npzerosr   r   r   test_prepare_grayscale_input_2Dr      s   	z	"	" 9 9#BHY$7$78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9	z	"	" 6 6#BHV$4$45556 6 6 6 6 6 6 6 6 6 6 6 6 6 6	z	"	" 9 9#BHY$7$78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 0 0111 3 3444 3 344444s5   "AAA,"BB!B>"C,,C03C0c                  6   t          j        ddgddgddgddgddgg          } t           j                            t	          d| d          g d           t           j                            t	          d| d          g d           t           j                            t	          d	| d          g d
           t           j                            t	          d| d          g d           t           j                            t	          d| d          g d           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   arraytestingassert_equalr   )	keypointss    r   test_mask_border_keypointsr'       s*   1a&1a&1a&1a&1a&ABBIJ28YJJ+OO- - -J28YJJ+OO- - -J269aHH+OO- - -J28YJJ+OO- - -J28YJJ+OO- - - - -r   zMatplotlib not installed)reasonc            
         ddl m}  |                     dd          \  }}d}dt          j                            dd          z  }dt          j                            dd          z  }t          j                            dd          }t          j                            dd          }t          j        ||f          }|D ]\  }	}
t          j        |	          }t          j        |
          }t          ||||||           t          ||||||d	
           t          ||||||d           t          ||||||d           t          ||||||d           d S )Nr   )pyplotr   )nrowsncols))r    r    )r       r!   )r    r!   r.   )r    r.   r.   )r-   r    )r/   r    )r0   r    r!   r   )sizeT)only_matchesr)keypoints_color)matches_colorvertical)	alignment)

matplotlibr*   subplotsr   randomrandrandintcolumn_stackr   r   )pltfigaxshapes
keypoints1
keypoints2idxs1idxs2matchesshape1shape2img1img2s                r   test_plot_matchesrK   .   s   ((((((ll!l,,GC$F binnR+++JbinnR+++JIbr**EIbr**Eouen--G  + +xxRtZWEEERtZW"&	( 	( 	( 	(RtZW%(	* 	* 	* 	*RtZW#&	( 	( 	( 	(RtZW)	+ 	+ 	+ 	+ 	++ +r   )numpyr   r   "skimage._shared._dependency_checksr   skimage.feature.utilr   r   r   r   r   r   r   r   r'   markskipifrK   r   r   r   <module>rQ      s         6 6 6 6 6 6H H H H H H H H H H H H H H
' ' '
2 2 2
	5 	5 	5- - - K(BCC+ + DC+ + +r   