o
    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   sB   t d} tt t|  W d    d S 1 sw   Y  d S )N)   r      )npzerospytestraises
ValueErrorr   )img r   [/var/www/html/scripts/venv/lib/python3.10/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/J d}d}d	}t| |||d}|jd || d | ksLJ d S )
N      axis   r	   )rings
histogramsorientations         r   r   	astronautmeanr   shape)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s3J |jd t| jd |d  t| ksIJ | d d	d d
f } d}d}t| ||d}|jd t| jd |d  t| kstJ |jd t| jd |d  t| ksJ d S )N   r   r   r      )radiusstepr   r   r   r	   )r   r   r   r    r   r!   r   float)r   r&   r'   r"   r   r   r   test_descs_shape"   s   $,,,0r+   dtypec                 C   s\   t  d dd df jddj| dd}g d}ddg}t|||d}|j|jks,J d S )	N@   r   r   F)copy)r   r   r	   r   sigmas
ring_radii)r   r   r    astyper   r,   )r,   r   r0   radiir"   r   r   r   test_daisy_sigmas_and_radii2   s
   *r4   c                  C   sr   t t d dd df jdd} ddg}ddg}tt t| ||d W d    d S 1 s2w   Y  d S )Nr-   r   r   r   r/   )r   r   r   r    r   r   r   r   )r   r0   r3   r   r   r   (test_daisy_incompatible_sigmas_and_radii;   s   $"r5   c                  C   s  t t d dd df jdd} t| dd}t|jd D ]}t|jd D ]}tt	|||d d f d q(qt| }t|| t| dd}t|jd D ]}t|jd D ]}tt
t	|||d d f d d qZqQd	}t| |d
d}|jd }t|jd D ]*}t|jd D ] }td||D ]}tt
t	|||||| f d d qqqtd} t| dd}t|jd D ]}t|jd D ]}tt	|||d d f d qqtt t| dd W d    d S 1 sw   Y  d S )Nr-   r   r   l1)normalizationr   r   l2r%   r   )r   r7   )2   r9   offdoes_not_exist)r   r   r   r    r   ranger!   r   r
   sumr   r   r   r   r   )r   r"   ijdescs_r   	desc_dimskr   r   r   test_daisy_normalizationC   sF   $ 
(

 "rC   c                  C   sF   t t d dd df jdd} t| dd\}}|jdks!J d S )N    r   r   T)	visualize)rD   rD   r	   r   )r   r"   	descs_imgr   r   r   test_daisy_visualizatione   s   $rG   )numpyr
   r   r   r   numpy.testingr   skimager   r   skimage.featurer   r   r#   r+   markparametrizefloat32float64r4   r5   rC   rG   r   r   r   r   <module>   s    
"