
    k hi                         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                  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y)    N)testing)expected_warnings)random_shapesc                  F    t        dd      \  } }| j                  dk(  sJ y )N   r   
   )
max_shapes)r   r      r   shapeimage_s     /home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/skimage/draw/tests/test_random_shapes.py.test_generates_color_images_with_correct_shaper   	   s$    ZB7HE1;;-'''    c                  J    t        dddd       \  } }| j                  dk(  sJ y N)i  {   r      )
min_shapesr
   channel_axisr   r   s     r   -test_generates_gray_images_with_correct_shaper      -    btHE1 ;;+%%%r   c                  J    t        dddd       \  } }| j                  dk(  sJ y 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 y )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)      s_    EL!!HE1 ryylKL;;.(((r   c                  v   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\  j                         r|dk  j                         sJ d| |d   d   |d   d   |d   d   |d   d   f<   | dk(  j                         sJ y )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VME6v;!)KE4K&&ad1gaj($q'!*tAwqz*AABD AI??$*!1!1!333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                  v   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\  j                         r|dk  j                         sJ d| |d   d   |d   d   |d   d   |d   d   f<   | dk(  j                         sJ y )Nr   r   triangler,   r-   r   r/   r   r1   anyr2   r3   s        r   3test_generates_correct_bounding_boxes_for_trianglesr=   B   s    !**RTUME6v;!)KE4J%%ad1gaj($q'!*tAwqz*AABD AI??$*!1!1!333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                  z   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\  j                         r|dk  j                         sJ d| |d   d   |d   d   |d   d   |d   d   f<   | dk(  j                         sJ y )	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??$*!1!1!333 ?BE$q'!*tAwqz
!471:Q
#:
:;SLr   c                  z   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\  j                         r|dk  j                         sJ d| |d   d   |d   d   |d   d   |d   d   f<   | dk(  j                         sJ y )	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??$*!1!1!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        y # 1 sw Y   y xY w)Nr"   r   r   rB   r
   rD   rE   r   r   raises
ValueErrorr    r   r   /test_generate_circle_throws_when_size_too_smallrQ   v   s7    	
	# WiAAXVW W W   4=c                      t        j                  t              5  t        ddddd       d d d        y # 1 sw Y   y xY w)NrK   r   rH   rL   rM   rP   r   r   0test_generate_ellipse_throws_when_size_too_smallrT   {   s7    	
	# XiAAYWX X XrR   c                      t        j                  t              5  t        ddddd       d d d        y # 1 sw Y   y xY w)Nr!   r   r:   rL   rM   rP   r   r   1test_generate_triangle_throws_when_size_too_smallrV      s7    	
	# YiAAZXY Y YrR   c                  4   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 y )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 88D>Y&266$!)+<s
ASSSASr   c                      t        j                  t              5  t        ddd d       d d d        t        j                  t              5  t        ddd       d d d        y # 1 sw Y   :xY w# 1 sw Y   y xY w)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^      sm    	
	# 
QT8	

 

	# JfLIJ J	
 
J Js   A#A/#A,/A8c                      t        dg      5  t        dddd      \  } }d d d        t              dk(  sJ  dk(  j                         sJ y # 1 sw Y   /xY w)	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      sc    	O,	- 
%q5
v
 v;!SL
 
s   AAc                      d} g t        d      D ]$  }t        dd|       \  }}j                  |       & t        fddd  D              sJ y )Nr,   r#   r   )r
   r.   c              3   .   K   | ]  }|d    k(    yw)r   NrP   ).0otherr4   s     r   	<genexpr>z?test_random_shapes_is_reproducible_with_seed.<locals>.<genexpr>   s     :euq	!:s   r   )ranger   appendr2   )random_seedr   r5   r4   s      @r   ,test_random_shapes_is_reproducible_with_seedrk      sZ    KF1X  {K5e :vabz::::r   c                  r    t        dddd      \  } }t        |      dkD  sJ | dk(  j                         sJ y )Nr   r   ))r/   r/   r,   )r
   r\   r.   r   r/   r0   ra   s     r   3test_generates_white_image_when_intensity_range_255rm      sA    !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 &(
&& 9) :)( "   $ $W
X
Y
	TJ ; r   