
    0-Ph                     <   d dl Zd dlmZ d dlmZ d dlZ ej        dej                  Z	d e	dddf<   d e	dddf<   ej
        ddddddf         \  ZZ ej        ed	z  ed	z  z             Zd
 ZddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddgddggZ ej        de          Zdedd df<   ej                            dddg          d             Zej                            dddg          d             Zej                            dd dg          d             Zej                            dd dg          d             Zd Zej                            dddg          d             Zd Zd Zej                            d g d!d"d#d$d"ej        d%d&d'gg d(d"d)d"d*d+d,d-ej        gd"d.ej        ej        ej        ej        ej        ej        gd/d0d"ej        d1d2d"d"ggg d3d4d"ej        d5d"d6d7d8gg d9g d:g d;g d<gd=ej        ej        d>d?d@dAdBdCdDg
d"ej        ej        ej        dEdDdFdGdHdIg
dJdKej        ej        dLdAdMd=dNdOg
dPd"ej        dQdOdIdDdRd@dSg
g dTg dUg dVg dWg dXg dYg
g          dZ             ZdS )[    N)find_contours)assert_array_equal   r   dtype   y              @   c                  6   ddgddgddgddgddgddgddgddgddgddgddgd	dgd	dgd	dgd	dgd	dgd	dgdd	gdd	gdd	gdd	gdd	gdd	gddgddgg} t          t          d	d
          }t          |          dk    sJ t          |d         d d d         |            d S )N      @      ?      @      @      @       @      ?      @      ?highpositive_orientationr	   r   r
   )r   alenr   )refcontourss     h/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/measure/tests/test_find_contours.pytest_binaryr      s
   	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
	c
3C8 Q&AAAHx==Ax{44R4(#.....    r   r   r   r   r   r   r   r   r   F      levelc                     t          j        t                    }t           j        |t           <   t          || d          }t          |          dk    sJ t          |d         t                     d S )Nr   r   r	   r   )	npcopyr   nanmaskr   r   r   mask_contour)r"   br   s      r   test_nodatar*   R   sc     	

AvAteHQFCCCHx==Ax{L11111r   c                     t          t          | dt                    }t          |          dk    sJ t	          |d         t
                     d S )Nr   )r   r'   r	   r   )r   r   r'   r   r   r(   r"   r   s     r   	test_maskr-   \   sK     QFNNNHx==Ax{L11111r   c                     t          j        dt                    }t          j        t
          d          5  t          t          | |           d d d            d S # 1 swxY w Y   d S )N)r   r    r   shapematchr'   )r$   onesboolpytestraises
ValueErrorr   r   r"   bad_masks     r   test_mask_shaper:   d   s    wvT***H	z	1	1	1 / /aX..../ / / / / / / / / / / / / / / / / /s   AA #A c                     t          j        dt           j                  }t          j        t
          d          5  t          t          | |           d d d            d S # 1 swxY w Y   d S )Nr   r   binaryr0   r2   )r$   r3   uint8r5   r6   	TypeErrorr   r   r8   s     r   test_mask_dtyper?   k   s    wvRX...H	y	1	1	1 / /aX..../ / / / / / / / / / / / / / / / / /s   A!!A%(A%c            	          t          t          d          } t          |           dk    sJ t          | d         ddgddgddgddgddgg           d S )Nr   r	   r   r   r   r   )r   rr   r   )r   s    r   
test_floatrB   r   sl    Q$$Hx==AsCj3*sCj3*sCjQ    r   c                     t          t          j        t                    |           }t	          |          dk    sJ t          t          j        t                    |           }t	          |          dk    sJ d S )Nr	   )r   r$   ascontiguousarrayrA   r   asfortranarrayr,   s     r   test_memory_orderrF   z   sj    R1!44e<<Hx==AR.q11599Hx==Ar   c                  0   t          j        t                    5  t          t          ddd           d d d            n# 1 swxY w Y   t          j        t                    5  t          t          d         d           d d d            d S # 1 swxY w Y   d S )Nr   foobar).N)r5   r6   r7   r   rA    r   r   test_invalid_inputrK      s   	z	"	" , ,aeU+++, , , , , , , , , , , , , , ,	z	"	" ) )a	lC((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )s!   >AA"BBBc                      t           j                            d          dz  dz   } t          |           }t          |          dk    sJ d S )N)d   rM   {Gz?g?r	   )r$   randomr   r   )imager   s     r   test_level_defaultrQ      sK    IZ((4/#5EU##Hx==1r   rP   )g?gw#?        rR   rR   
?rS   g2d?rR   gN@a?gGĔH?gLl>?gup>?gp>??)rR   |'fʱ?rR   rR   rR   rR   rR   gΈ?rT   g(IL?guYLl>?g?ܕ?g*?g{?g*s?gvOjM?g*?g-1?){Gz?Q(\ſ{GzQ?gQ?g(\?{GzQ?rY   g(\p=
ף?{Gz?)g(\?rR   rR   rR   rR   rZ   g333333ӿrN   )gQ?g{GzrV   r]   r[   rN   gףp=
r]   )r\   rU   rU   rU   r[   p=
ף?g)\(?RQ?)gHzG?rY   rR   g      ?g{Gz?r_   r\   )\(?
ףp=
ǿr`   gQq=
ףpͿ皙ɿrW   RQȿQοg333333ÿrZ   g
ףp=
gzGʿgQ?r_   g{Gz)\(̿{GzĿgQ뱿gq=
ףp?gQg      пp=
ף)
皙)\(rR   g?rd   rb   rb   ra   rd   rh   )
rd   rj   r^   rX   rg   rb   gp=
ףпrf   gQri   )
rc   rk   rk   re   g(\ҿHzGѿffffffֿ
ףp=
׿rl   ri   )
QѿQտgףp=
ӿrn   (\ؿgGz׿RQؿg{GzԿ(\տrc   )
ro   rp   rq   gٿzGڿrr   rm   rq   rm   rs   )
rr   rm   g=
ףp=ڿrt   rq   rn   rs   rn   ro   rs   c                 `    t          t          j        | t          j                  d           dS )z Failing samples from issue #4830r   N)r   r$   arrayfloat32)rP   s    r   test_keyerror_fixrx      s)    F "(5"*--q11111r   )numpyr$   skimage.measurer   skimage._shared.testingr   r5   r3   rw   r   mgridxysqrtrA   r   r(   r4   r'   markparametrizer*   r-   r:   r?   rB   rF   rK   rQ   r&   rx   rJ   r   r   <module>r      s{       ) ) ) ) ) ) 6 6 6 6 6 6  BGF"*%%%!B$'
!QrT'
	x1RAb !1BGAqD1a4K/ / /H 	#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J#J/4 rwvT"""Q!V 3+..2 2 /.2 3+..2 2 /.2 1d),,/ / -,/ 1d),,/ / -,/   3+..  /.) ) )    IHH'7C'7K<<<'3'7BFK'262626262626JgsBFGWc3G	
 A@@3c5$=999???<<<;;;	
 BFBFD%eUER"&"&"&$ueUER4eUE5Q3ueUE5%PNNNQQQQQQQQQQQQRRR	
#   B2 2C   B2 2 2r   