
    0-Phi                         d dl Zd dlZd dlmZ d dlmZ d dlmZ d Z	d Z
d Zej                            dg d	          d
             Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )    N)testing)expected_warnings)random_shapesc                  H    t          dd          \  } }| j        dk    sJ d S )N   r   
   )
max_shapes)r   r      r   shapeimage_s     e/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/draw/tests/test_random_shapes.py.test_generates_color_images_with_correct_shaper   	   s1    ZB777HE1;-''''''    c                  L    t          dddd           \  } }| j        dk    sJ d S N)i  {   r      )
min_shapesr
   channel_axisr   r   s     r   -test_generates_gray_images_with_correct_shaper      >    bt  HE1 ;+%%%%%%r   c                  L    t          dddd           \  } }| j        dk    sJ d S r   r   r   s     r   Etest_generates_gray_images_with_correct_shape_deprecated_multichannelr      r   r   r   )Nr         c                     d}d}t          ||dd|           \  }}| |}n#t          t          j        || |                    }|j        |k    sJ d S )Nr   @      r   r	   )num_channelsr   r
   r   )r   tuplenpinsertr   )r   r   r$   r   r   expected_shapes         r   %test_generated_shape_for_channel_axisr)      sv    EL!!  HE1 rylKKLL;.((((((r   c                     t          dddd          \  } }t          |          dk    sJ |d         \  }}|dk    s
J |            | |d         d         |d         d         |d         d         |d         d         f         }|dk                                    r|dk                                     sJ d| |d         d         |d         d         |d         d         |d         d         f<   | dk                                    sJ d S )Nr   r   	rectangle*   r
   r   rngr      r   lenallr   labelslabelbboxcrops        r   4test_generates_correct_bounding_boxes_for_rectanglesr8   1   s"   !*+SUVVVME6v;;!)KE4Kad1gaj($q'!*tAwqz*AABD AI??3$*!1!1!3!3333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                     t          dddd          \  } }t          |          dk    sJ |d         \  }}|dk    s
J |            | |d         d         |d         d         |d         d         |d         d         f         }|dk                                    r|dk                                     sJ d| |d         d         |d         d         |d         d         |d         d         f<   | dk                                    sJ d S )Nr   r   triangler,   r-   r   r/   r   r1   anyr2   r3   s        r   3test_generates_correct_bounding_boxes_for_trianglesr=   B   s"   !**RTUUUME6v;;!)KE4Jad1gaj($q'!*tAwqz*AABD AI??3$*!1!1!3!3333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                      t          dddddd          \  } }t          |          dk    sJ |d         \  }}|dk    s
J |            | |d         d         |d         d         |d         d         |d         d         f         }|dk                                    r|dk                                     sJ d| |d         d         |d         d         |d         d         |d         d         f<   | dk                                    sJ d S )	N+   ,   r   r   circler,   r
   min_sizemax_sizer   r.   r   r/   r;   r3   s        r   1test_generates_correct_bounding_boxes_for_circlesrF   R   s.   !Qbb  ME6 v;;!)KE4Head1gaj($q'!*tAwqz*AABD AI??3$*!1!1!3!3333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                      t          dddddd          \  } }t          |          dk    sJ |d         \  }}|dk    s
J |            | |d         d         |d         d         |d         d         |d         d         f         }|dk                                    r|dk                                     sJ d| |d         d         |d         d         |d         d         |d         d         f<   | dk                                    sJ d S )	Nr?   r   r   ellipser,   rC   r   r/   r;   r3   s        r   2test_generates_correct_bounding_boxes_for_ellipsesrI   d   s.   !Qb	r  ME6 v;;!)KE4Iuad1gaj($q'!*tAwqz*AABD AI??3$*!1!1!3!3333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                      t          j        t                    5  t          ddddd           d d d            d S # 1 swxY w Y   d S )Nr"   r   r   rB   r
   rD   rE   r   r   raises
ValueErrorr    r   r   /test_generate_circle_throws_when_size_too_smallrQ   v   s    	
	#	# W WiAAXVVVVW W W W W W W W W W W W W W W W W W   <A A c                      t          j        t                    5  t          ddddd           d d d            d S # 1 swxY w Y   d S )NrK   r   rH   rL   rM   rP   r   r   0test_generate_ellipse_throws_when_size_too_smallrT   {   s    	
	#	# X XiAAYWWWWX X X X X X X X X X X X X X X X X XrR   c                      t          j        t                    5  t          ddddd           d d d            d S # 1 swxY w Y   d S )Nr!   r   r:   rL   rM   rP   r   r   1test_generate_triangle_throws_when_size_too_smallrV      s    	
	#	# Y YiAAZXXXXY Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y YrR   c                     t          ddddd          \  } }t          |          dk    sJ |d         \  }}| |d         d         |d         d         |d         d         |d         d         f         }t          j        |          dk    r0t          j        |dk              rt          j        |dk               sJ d S )N)2   r   r   r+   rL   r   )r   r   r   r/   )r   r1   r&   r   r<   )r   r4   r   r6   r7   s        r   &test_can_generate_one_by_one_rectanglerY      s    !a!a{  ME6 v;;!QiGAtad1gaj($q'!*tAwqz*AABD 8D>>Y&&26$!)+<+<&s
ASAS&&&&&r   c                     t          j        t                    5  t          ddd d           d d d            n# 1 swxY w Y   t          j        t                    5  t          ddd           d d d            d S # 1 swxY w Y   d S )N)i  i  r   )r      )r
   r   intensity_range)r   r   ))r/   )r
   r\   rM   rP   r   r   -test_throws_when_intensity_range_out_of_ranger^      s&   	
	#	# 
 
QT8	
 	
 	
 	

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

	#	# J JfLIIIIJ J J J J J J J J J J J J J J J J Js   :>>A>>BBc                      t          dg          5  t          dddd          \  } }d d d            n# 1 swxY w Y   t          |          dk    sJ | dk                                    sJ d S )	NzCould not fit)'  r`   r   r`   rB   )r
   rD   r   r   r/   )r   r   r1   r2   r   r4   s     r   ?test_returns_empty_labels_and_white_image_when_cannot_fit_shaperb      s    	O,	-	- 
 
%q5
 
 
v
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 v;;!SLs   488c                      d} g t          d          D ],}t          dd|           \  }}                    |           -t          fddd          D                       sJ d S )Nr,   r#   r   )r
   r.   c              3   0   K   | ]}|d          k    V  dS )r   NrP   ).0otherr4   s     r   	<genexpr>z?test_random_shapes_is_reproducible_with_seed.<locals>.<genexpr>   s,      ::euq	!::::::r   r   )ranger   appendr2   )random_seedr   r5   r4   s      @r   ,test_random_shapes_is_reproducible_with_seedrk      s    KF1XX   {KKK5e::::vabbz::::::::::r   c                      t          dddd          \  } }t          |          dk    sJ | dk                                    sJ d S )Nr   r   ))r/   r/   r,   )r
   r\   r.   r   r/   r0   ra   s     r   3test_generates_white_image_when_intensity_range_255rm      sZ    !q-R  ME6 v;;????SLr   )numpyr&   pytestskimage._sharedr   skimage._shared._warningsr   skimage.drawr   r   r   r   markparametrizer)   r8   r=   rF   rI   rQ   rT   rV   rY   r^   rb   rk   rm   rP   r   r   <module>ru      s|        # # # # # # 7 7 7 7 7 7 & & & & & &( ( (
& & && & & 99) ) :9)(     "           $     $W W W
X X X
Y Y Y
	T 	T 	TJ J J     ; ; ;         r   