U
    ?hY                     @   s   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 dd Zd	d
 Zdd Zejdejejgdd Zdd Zdd Zdd ZdS )    N)sqrtceil)assert_almost_equal)data)img_as_float)daisyc               	   C   s,   t d} tt t|  W 5 Q R X d S )N)   r      )npzerospytestraises
ValueErrorr   )img r   R/var/www/html/venv/lib/python3.8/site-packages/skimage/feature/tests/test_daisy.py(test_daisy_color_image_unsupported_error   s    
r   c                  C   s   t t d dd df jdd} d}d}d}t| |||d}|jd || d | ks^td}d}d	}t| |||d}|jd || d | kstd S )
N      Zaxis   r	   )rings
histogramsorientations         r   r   	astronautmeanr   shapeAssertionError)r   r   r   r   descsr   r   r   test_daisy_desc_dims   s    $r#   c                  C   s  t t d dd df jdd} d}d}t| ||d}|jd t| jd |d  t| ksft|jd t| jd |d  t| kst| d d	d d
f } d}d}t| ||d}|jd t| jd |d  t| kst|jd t| jd |d  t| kstd S )N   r   r   r      )radiusstepr   r   r   r	   )	r   r   r   r   r   r    r   floatr!   )r   r&   r'   r"   r   r   r   test_descs_shape"   s    $,,,r+   dtypec                 C   s^   t  d dd df jddj| dd}dddg}ddg}t|||d}|j|jksZtd S )	N@   r   r   F)copyr   r	   sigmasZ
ring_radii)r   r   r   Zastyper   r,   r!   )r,   r   r0   radiir"   r   r   r   test_daisy_sigmas_and_radii2   s
    *
r2   c               	   C   s\   t t d dd df jdd} ddg}ddg}tt t| ||d W 5 Q R X d S )Nr-   r   r   r   r/   )r   r   r   r   r   r   r   r   )r   r0   r1   r   r   r   (test_daisy_incompatible_sigmas_and_radii;   s
    $r3   c                  C   s  t t d dd df jdd} t| dd}t|jd D ]6}t|jd D ]"}tt	|||d d f d qPq>t| }t|| t| dd}t|jd D ]>}t|jd D ]*}tt
t	|||d d f d d qqd	}t| |d
d}|jd }t|jd D ]Z}t|jd D ]D}td||D ]0}tt
t	|||||| f d d q.qqtd} t| dd}t|jd D ]:}t|jd D ]$}tt	|||d d f d qqtt t| dd W 5 Q R X d S )Nr-   r   r   l1)normalizationr   r   l2r%   r   )r   r5   )2   r7   offZdoes_not_exist)r   r   r   r   r   ranger    r   r
   sumr   r   r   r   r   )r   r"   ijZdescs_r   Z	desc_dimskr   r   r   test_daisy_normalizationC   s:    $"
*

&r>   c                  C   sF   t t d dd df jdd} t| dd\}}|jdksBtd S )N    r   r   T)Z	visualize)r?   r?   r	   r   )r   r"   Z	descs_imgr   r   r   test_daisy_visualizatione   s    $r@   )numpyr
   r   r   r   Znumpy.testingr   Zskimager   r   Zskimage.featurer   r   r#   r+   markZparametrizeZfloat32Zfloat64r2   r3   r>   r@   r   r   r   r   <module>   s   
"