o
    ^i                     @   s   d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
mZ d dlmZ dd Ze jdg d	d
d Ze jdg d	dd Zdd Ze jdg d	dd Zdd ZdS )    N)assert_array_equal)data)BRIEFcorner_peakscorner_harris)testingc                  C   s^   t d} t ddgddgg}tt t | | W d   dS 1 s(w   Y  dS )z=Brief descriptors can be evaluated on gray-scale images only.)   r                  N)npzerosasarrayr   raises
ValueErrorr   extract)img	keypoints r   [/var/www/html/RAG/RAG_venv/lib/python3.10/site-packages/skimage/feature/tests/test_brief.py"test_color_image_unsupported_error   s
   
"r   dtype)float32float64uint8intc              
   C   s   t  | }tt|dddd}tddd}|||dd  tjg d	g d
g d	g dg d
g dg d	g dgt	d}t
|j| dS )zDVerify the computed BRIEF descriptors with expected for normal mode.r   r   皙?min_distancethreshold_absthreshold_rel      )descriptor_sizesigmaN)   r'   r'   r   r'   r'   r   r'   )r   r'   r'   r   r'   r'   r   r   )r   r   r   r'   r   r   r'   r   )r   r'   r'   r   r'   r'   r'   r   )r'   r   r'   r   r   r'   r'   r   r   r   coinsastyper   r   r   r   r   arrayboolr   descriptorsr   r   r   	extractorexpectedr   r   r   test_normal_mode   s&   
r2   c              
   C   s   t  | }tt|dddd}tddddd	}tddddd	 |||d
d  tjg dg dg dg dg dg dg dg dgt	d}t
|j| d
S )zEVerify the computed BRIEF descriptors with expected for uniform mode.r   r   r   r   r#   r$   uniformr'   )r%   r&   moderngN)r   r'   r   r'   r   r'   r'   r   )r   r'   r   r   r   r'   r   r'   )r   r'   r   r   r   r'   r'   r'   )r'   r   r'   r   r'   r   r'   r'   )r   r   r'   r   r   r'   r   r'   )r   r'   r   r'   r   r'   r   r'   )r'   r   r'   r'   r'   r   r   r'   r(   r)   r/   r   r   r   test_uniform_mode2   s(   
r6   c                   C   s:   t t tdd W d    d S 1 sw   Y  d S )Nfoobar)r4   )r   r   r   r   r   r   r   r   test_unsupported_modeQ   s   "r8   c                 C   sl   t jd| d}t ddgddgddgddgg}tddd}||| |jjd	 d
ks.J t|jd d S )Nd   r:   r(   r'   r   2   P   )   
patch_sizer5   r   r	   )FTTT)	r   r   r,   r   r   r.   shaper   mask)r   r   r   r0   r   r   r   test_borderV   s   "rB   c                  C   s   t jdtd} t ddgddgddgddgg}t j }td|d}t|j	 }|  |
| | t|j	 }||ksCJ d S )	Nr9   r(   r'   r   r;   r<   r=   r>   )r   r   r   r,   randomdefault_rngr   copydeepcopyr5   r   )r   r   r5   r0   xzr   r   r   test_independent_rngb   s   "
rI   )pytestrE   numpyr   skimage._shared.testingr   skimager   skimage.featurer   r   r   skimage._sharedr   r   markparametrizer2   r6   r8   rB   rI   r   r   r   r   <module>   s     


