
    9iA                         S SK rS SKrS SK JrJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S rS rS	 r\R                  R!                  S
\R"                  \R$                  /5      S 5       rS rS rS rg)    N)sqrtceil)assert_almost_equal)data)img_as_float)daisyc                      [         R                  " S5      n [        R                  " [        5         [        U 5        S S S 5        g ! , (       d  f       g = f)N)   r
      )npzerospytestraises
ValueErrorr   )imgs    `/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/feature/tests/test_daisy.py(test_daisy_color_image_unsupported_errorr      s/    
((;
C	z	"c
 
#	"	"s   A
Ac                      [        [        R                  " 5       S S2S S24   R                  SS95      n SnSnSn[	        XX#S9nUR
                  S   X-  S-   U-  :X  d   eSnSnS	n[	        XX#S9nUR
                  S   X-  S-   U-  :X  d   eg )
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#zUE;;q>e014DDDDEJL#zUE;;q>e014DDDD    c                     [        [        R                  " 5       S S2S S24   R                  SS95      n SnSn[	        XUS9nUR
                  S   [        U R
                  S   US-  -
  [        U5      -  5      :X  d   eUR
                  S   [        U R
                  S   US-  -
  [        U5      -  5      :X  d   eU S S	2S S
24   n SnSn[	        XUS9nUR
                  S   [        U R
                  S   US-  -
  [        U5      -  5      :X  d   eUR
                  S   [        U R
                  S   US-  -
  [        U5      -  5      :X  d   eg )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/       sG   
t~~'dsd
388a8@
ACFD#40E;;q>T399Q<&1*#<d"KLLLL;;q>T399Q<&1*#<d"KLLLL
crc3B3h-CFD#40E;;q>T399Q<&1*#<d"KLLLL;;q>T399Q<&1*#<d"KLLLLr&   dtypec                     [         R                  " 5       S S2S S24   R                  SS9R                  U SS9n/ SQnSS/n[	        XUS9nUR
                  UR
                  :X  d   eg )	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   sm    
..
3B38
$
)
)q
)
1
8
8U
8
KCFFE#7E;;#))###r&   c                      [        [        R                  " 5       S S2S S24   R                  SS95      n SS/nSS/n[        R
                  " [        5         [        XUS9  S S S 5        g ! , (       d  f       g = f)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   sf    
t~~'SbS166A6>
?CVFFE	z	"cU3 
#	"	"s   A++
A9c                  2   [        [        R                  " 5       S S2S S24   R                  SS95      n [	        U SS9n[        UR                  S   5       HI  n[        UR                  S   5       H*  n[        [        R                  " XUS S 24   5      S5        M,     MK     [	        U 5      n[        X5        [	        U SS9n[        UR                  S   5       HU  n[        UR                  S   5       H6  n[        [        [        R                  " XUS S 24   S-  5      5      S5        M8     MW     S	n[	        XS
S9nUR                  S   n[        UR                  S   5       Hi  n[        UR                  S   5       HJ  n[        SXe5       H7  n[        [        [        R                  " XX7Xu-   24   S-  5      5      S5        M9     ML     Mk     [        R                  " S5      n [	        U SS9n[        UR                  S   5       HI  n[        UR                  S   5       H*  n[        [        R                  " XUS S 24   5      S5        M,     MK     [        R                  " [        5         [	        U SS9  S S S 5        g ! , (       d  f       g = f)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u1W~ 6: ' # 3ZF&#T*E5;;q>"u{{1~&ARVVEQ'Na,?%@ A1E ' # L#HEAI5;;q>"u{{1~&A1i6#0@,@&@ AQ FGH! 7 ' # ((8
C#U+E5;;q>"u{{1~&Au1W~ 6: ' # 
z	"c!12 
#	"	"s   4J
Jc                      [        [        R                  " 5       S S2S S24   R                  SS95      n [	        U SS9u  pUR
                  S:X  d   eg )N    r   r   T)	visualize)rL   rL   r   r    )r   r$   	descs_imgs      r   test_daisy_visualizationrO   d   sS    
t~~'SbS166A6>
?CSD1E??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&   