
    hhA                         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 Zd Zd	 Zej                  j!                  d
ej"                  ej$                  g      d        Zd Zd Zd Zy)    N)sqrtceil)assert_almost_equal)data)img_as_float)daisyc                      t        j                  d      } t        j                  t              5  t        |        d d d        y # 1 sw Y   y xY w)N)   r
      )npzerospytestraises
ValueErrorr   )imgs    ^/var/www/html/dev/engine/venv/lib/python3.12/site-packages/skimage/feature/tests/test_daisy.py(test_daisy_color_image_unsupported_errorr      s8    
((;
C	z	" c
  s   AAc                  8   t        t        j                         d dd df   j                  d            } d}d}d}t	        | |||      }|j
                  d   ||z  dz   |z  k(  sJ d}d}d	}t	        | |||      }|j
                  d   ||z  dz   |z  k(  sJ y )
N      axis   r   )rings
histogramsorientations         r   r   	astronautmeanr   shape)r   r   r   r   descss        r   test_daisy_desc_dimsr%      s    
t~~'dsd
388a8@
ACEJL#UzUE;;q>ej014DDDDEJL#UzUE;;q>ej014DDDD    c                     t        t        j                         d dd df   j                  d            } d}d}t	        | ||      }|j
                  d   t        | j
                  d   |dz  z
  t        |      z        k(  sJ |j
                  d   t        | j
                  d   |dz  z
  t        |      z        k(  sJ | d d	d d
f   } d}d}t	        | ||      }|j
                  d   t        | j
                  d   |dz  z
  t        |      z        k(  sJ |j
                  d   t        | j
                  d   |dz  z
  t        |      z        k(  sJ y )N   r   r   r
      )radiusstepr   r   r   r   )r   r   r!   r"   r   r#   r   float)r   r*   r+   r$   s       r   test_descs_shaper/       sK   
t~~'dsd
388a8@
ACFD#f40E;;q>T399Q<&1*#<d"KLLLL;;q>T399Q<&1*#<d"KLLLL
crc3B3h-CFD#f40E;;q>T399Q<&1*#<d"KLLLL;;q>T399Q<&1*#<d"KLLLLr&   dtypec                     t        j                         d dd df   j                  d      j                  | d      }g d}ddg}t	        |||      }|j
                  |j
                  k(  sJ y )	N@   r   r   F)copy)r   r   r   r   sigmas
ring_radii)r   r!   r"   astyper   r0   )r0   r   r5   radiir$   s        r   test_daisy_sigmas_and_radiir9   0   so    
..
3B38
$
)
)q
)
1
8
8U
8
KCFFE#f7E;;#))###r&   c                      t        t        j                         d dd df   j                  d            } ddg}ddg}t	        j
                  t              5  t        | ||       d d d        y # 1 sw Y   y xY w)Nr2   r   r   r   r4   )r   r   r!   r"   r   r   r   r   )r   r5   r8   s      r   (test_daisy_incompatible_sigmas_and_radiir;   9   sq    
t~~'SbS166A6>
?CVFFE	z	" 4c&U34 4 4s   A00A9c                  ,   t        t        j                         d dd df   j                  d            } t	        | d      }t        |j                  d         D ]F  }t        |j                  d         D ])  }t        t        j                  |||d d f         d       + H t	        |       }t        ||       t	        | d      }t        |j                  d         D ]R  }t        |j                  d         D ]5  }t        t        t        j                  |||d d f   dz              d       7 T d	}t	        | |d
      }|j                  d   }t        |j                  d         D ]g  }t        |j                  d         D ]J  }t        d||      D ]8  }t        t        t        j                  ||||||z   f   dz              d       : L i t        j                  d      } t	        | d      }t        |j                  d         D ]F  }t        |j                  d         D ])  }t        t        j                  |||d d f         d       + H t        j                  t              5  t	        | d       d d d        y # 1 sw Y   y xY w)Nr2   r   r   l1)normalizationr   r   l2r)   r   )r   r>   )2   r@   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ks           r   test_daisy_normalizationrJ   A   s^   
t~~'SbS166A6>
?C#T*E5;;q>" ;u{{1~& 	;AuQ1W~ 6:	;; 3ZFv&#T*E5;;q>" Fu{{1~& 	FARVVE!Q'Na,?%@ A1E	FF L#LHEAI5;;q>" u{{1~& 	A1i6 #aAL0@,@&@ AQ FGH!	 ((8
C#U+E5;;q>" ;u{{1~& 	;AuQ1W~ 6:	;; 
z	" 3c!123 3 3s   3J

Jc                      t        t        j                         d dd df   j                  d            } t	        | d      \  }}|j
                  dk(  sJ y )N    r   r   T)	visualize)rL   rL   r   r    )r   r$   	descs_imgs      r   test_daisy_visualizationrO   d   sU    
t~~'SbS166A6>
?CSD1E9??k)))r&   )numpyr   r   r   r   numpy.testingr   skimager   r   skimage.featurer   r   r%   r/   markparametrizefloat32float64r9   r;   rJ   rO    r&   r   <module>rY      sm       -    !EM  2::rzz":;$ <$4 3F*r&   