
    a6d                         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)random_shapes)testing)expected_warningsc                  H    t          dd          \  } }| j        dk    sJ d S )N   r   
   )
max_shapes)r   r      r   shapeimage_s     Elib/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E E E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)      ss    ELLQ2!# # #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   random_seedr      r   lenallr   labelslabelbboxcrops        r   4test_generates_correct_bounding_boxes_for_rectanglesr8   ,   s,   !	  ME6
 v;;!)KE4KaDGAJ&Q
471:(==>D AI??3$*!1!1!3!3333 ;>E$q'!*T!WQZ
aDGAJ!6
67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=   @   s,   !	  ME6
 v;;!)KE4JaDGAJ&Q
471:(==>D AI??3$*!1!1!3!3333 ;>E$q'!*T!WQZ
aDGAJ!6
67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   T   s2   !  ME6 v;;!)KE4HeaDGAJ&Q
471:(==>D AI??3$*!1!1!3!3333 ;>E$q'!*T!WQZ
aDGAJ!6
67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   j   s2   !  ME6 v;;!)KE4IuaDGAJ&Q
471:(==>D AI??3$*!1!1!3!3333 ;>E$q'!*T!WQZ
aDGAJ!6
67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      s    	
	#	# M M!a!8	M 	M 	M 	MM M M M M M M M M M M M M M M M M M   <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    	
	#	# N N!a!9	N 	N 	N 	NN N N N N N N N N N N N N N N N N N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    	
	#	# O O!a!:	O 	O 	O 	OO O O O O O O O O O O O O O O O O O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    !  ME6 v;;!QiGAtaDGAJ&Q
471:(==>D HTNNi''BF419,=,='tcz"" (''''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   	
	#	# 0 0lqt&.	0 	0 	0 	00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

	#	# 4 4f&2	4 	4 	4 	44 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4s   :>>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,	-	- J J%q5J J JvJ J J J J J J J J J J J J J J 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   )r.   r   r5   r4   s      @r   ,test_random_shapes_is_reproducible_with_seedrj      s    KF1XX   -8: : :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_255rl      s[    !*2?.02 2 2ME6 v;;????SLr   )numpyr&   pytestskimage.drawr   skimage._sharedr   skimage._shared._warningsr   r   r   r   markparametrizer)   r8   r=   rF   rI   rQ   rT   rV   rY   r^   rb   rj   rl   rP   r   r   <module>rt      sv        & & & & & & # # # # # # 7 7 7 7 7 7( ( (
& & && & & 99) ) :9)      (     (     ,     ,M M MN N NO O O$ $ $ 4 4 4     ; ; ;         r   