U
    ?hV                     @   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d	d
ddgdd Ze jdd	d
ddgdd Zdd Ze jdd	d
ddgdd Zdd ZdS )    N)assert_array_equal)data)BRIEFcorner_peakscorner_harris)testingc               	   C   sH   t d} t ddgddgg}tt t | | W 5 Q R X dS )z=Brief descriptors can be evaluated on gray-scale images only.)   r                  N)npzerosZasarrayr   raises
ValueErrorr   extract)img	keypoints r   R/var/www/html/venv/lib/python3.8/site-packages/skimage/feature/tests/test_brief.py"test_color_image_unsupported_error   s    
r   dtypeZfloat32Zfloat64Zuint8intc                 C   s   t  | }tt|dddd}tddd}|||dd  tjd	d	d	dd	d	dd	gdd	d	dd	d	ddgd	d	d	dd	d	dd	gdddd	ddd	dgdd	d	dd	d	ddgdd	d	dd	d	d	dgd	d	d	dd	d	dd	gd	dd	ddd	d	dggt	d
}t
|j| dS )zDVerify the computed BRIEF descriptors with expected for normal mode.r   r   皙?Zmin_distanceZthreshold_absZthreshold_rel      )descriptor_sizesigmaN   r   )r   coinsastyper   r   r   r   r   arrayboolr   descriptorsr   r   r   	extractorexpectedr   r   r   test_normal_mode   s&    
 	r*   c                 C   s  t  | }tt|dddd}tddddd	}td
g tddddd W 5 Q R X |||dd  t	j
ddddddddgddddddddgddddddddgddddddddgddddddddgddddddddgddddddddgddddddddg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rngz&`sample_seed` is a deprecated argument)r   r   r,   Zsample_seedNr!   )r   r"   r#   r   r   r   r   Zexpected_warningsr   r   r$   r%   r   r&   r'   r   r   r   test_uniform_mode,   s*    
 	r.   c                	   C   s$   t t tdd W 5 Q R X d S )NZfoobar)r,   )r   r   r   r   r   r   r   r   test_unsupported_modeF   s    r/   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\tt|j	d d S )Nd   r1   r!   r    r   2   P   )   Z
patch_sizer-   r   r	   )FTTT)
r   r   r$   r   r   r&   shapeAssertionErrorr   mask)r   r   r   r(   r   r   r   test_borderK   s    "r9   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std S )	Nr0   r!   r    r   r2   r3   r4   r5   )r   r   r   r$   randomZdefault_rngr   copydeepcopyr-   r   r7   )r   r   r-   r(   xzr   r   r   test_independent_rngW   s    "
r?   )Zpytestr;   numpyr   Zskimage._shared.testingr   Zskimager   Zskimage.featurer   r   r   Zskimage._sharedr   r   markZparametrizer*   r.   r/   r9   r?   r   r   r   r   <module>   s   


