ó
 ‰\c           @   s¬   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
 d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   random_shapes(   t   testing(   t   expected_warningsc          C   s1   t  d d d ƒ\ }  } |  j d k s- t ‚ d  S(   Ni€   t
   max_shapesi
   i   (   i€   i€   (   i€   i€   i   (   R    t   shapet   AssertionError(   t   imaget   _(    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt.   test_generates_color_images_with_correct_shape	   s    c          C   s=   t  d d d d d d t ƒ\ }  } |  j d	 k s9 t ‚ d  S(
   Ni×  i{   t
   min_shapesi   R   i   t   multichannel(   i×  i{   (   i×  i{   (   R    t   FalseR   R   (   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt-   test_generates_gray_images_with_correct_shape   s    !c          C   s"  t  d
 d d d d d d ƒ\ }  } t | ƒ d k s< t ‚ | d \ } } | d k sd t | ƒ ‚ |  | d d | d d … | d d | d d … f } | d k j ƒ  rÄ | d	 k  j ƒ  sÊ t ‚ d	 |  | d d | d d … | d d | d d … f <|  d	 k j ƒ  st ‚ d  S(   Ni€   R   i   R   t	   rectanglet   random_seedi*   i    iÿ   (   i€   i€   (   R    t   lenR   t   all(   R   t   labelst   labelt   bboxt   crop(    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt4   test_generates_correct_bounding_boxes_for_rectangles   s    <*<c          C   s"  t  d
 d d d d d d ƒ\ }  } t | ƒ d k s< t ‚ | d \ } } | d k sd t | ƒ ‚ |  | d d | d d … | d d | d d … f } | d k j ƒ  rÄ | d	 k  j ƒ  sÊ t ‚ d	 |  | d d | d d … | d d | d d … f <|  d	 k j ƒ  st ‚ d  S(   Ni€   R   i   R   t   triangleR   i*   i    iÿ   (   i€   i€   (   R    R   R   t   anyR   (   R   R   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt3   test_generates_correct_bounding_boxes_for_triangles(   s    <*<c          C   s.  t  d d d d d d d d d	 d
 d ƒ\ }  } t | ƒ d k sH t ‚ | d \ } } | d	 k sp t | ƒ ‚ |  | d d | d d … | d d | d d … f } | d k j ƒ  rÐ | d k  j ƒ  sÖ t ‚ d |  | d d | d d … | d d | d d … f <|  d k j ƒ  s*t ‚ d  S(   Ni+   i,   R   i   t   min_sizei   t   max_sizeR   t   circleR   i*   i    iÿ   (   i+   i,   (   R    R   R   R   R   (   R   R   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt1   test_generates_correct_bounding_boxes_for_circles<   s    <*<c           C   s<   t  j t ƒ ' t d	 d d d d d d d d ƒWd  QXd  S(
   Ni@   i€   R   i   R   R   R   R   (   i@   i€   (   R   t   raisest
   ValueErrorR    (    (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt/   test_generate_circle_throws_when_size_too_smallR   s    c           C   s<   t  j t ƒ ' t d	 d d d d d d d d ƒWd  QXd  S(
   Ni€   i@   R   i   R   R   R   R   (   i€   i@   (   R   R   R   R    (    (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt1   test_generate_triangle_throws_when_size_too_smallX   s    c       
   C   s×   t  d d d d d d d d d ƒ\ }  } t | ƒ d k sB t ‚ | d	 \ } } |  | d	 d	 | d	 d … | d d	 | d d … f } t j | ƒ d k rÍ t j | d k ƒ rÍ t j | d k  ƒ sÓ t ‚ d  S(   Ni2   i€   R   i   R   R   R   R   i    i   iÿ   (   i2   i€   (   i   i   i   (   R    R   R   t   npR   R   (   R   R   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt&   test_can_generate_one_by_one_rectangle^   s    <*c           C   sb   t  j t ƒ ! t d d d d t d d ƒWd  QXt  j t ƒ  t d d d d d ƒWd  QXd  S(   Niè  iÒ  R   i   R
   t   intensity_rangei    i   i   iÿÿÿÿiÿ   (   iè  iÒ  (   i    i   (   i   i   (   iÿÿÿÿiÿ   (   (   iÿÿÿÿiÿ   (   R   R   R   R    R   (    (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt-   test_throws_when_intensity_range_out_of_rangen   s    c          C   sn   t  d g ƒ ) t d
 d d d d d d ƒ\ }  } Wd  QXt | ƒ d k sR t ‚ |  d	 k j ƒ  sj t ‚ d  S(   Ns   Could not fiti'  R   i   R   R   R   i    iÿ   (   i'  i'  (   R   R    R   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt?   test_returns_empty_labels_and_white_image_when_cannot_fit_shapew   s
    'c             sx   d }  g  ‰  x? t  d ƒ D]1 } t d d d d |  ƒ\ } } ˆ  j | ƒ q Wt ‡  f d †  ˆ  d Dƒ ƒ st t ‚ d  S(	   Ni*   i   i€   R   R   c         3   s   |  ] } | ˆ  d  k Vq d S(   i    N(    (   t   .0t   other(   R   (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pys	   <genexpr>‡   s    i   (   i€   i€   (   t   rangeR    t   appendR   R   (   R   R   R   (    (   R   sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt,   test_random_shapes_is_reproducible_with_seed€   s    c          C   sX   t  d	 d d d d d d ƒ\ }  } t | ƒ d k s< t ‚ |  d k j ƒ  sT t ‚ d  S(   Ni€   R   i   R#   iÿ   R   i*   i    (   i€   i€   (   iÿ   iÿ   (   (   iÿ   iÿ   (   R    R   R   R   (   R   R   (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt3   test_generates_white_image_when_intensity_range_255Š   s
    (   t   numpyR!   t   skimage.drawR    t   skimage._sharedR   t   skimage._shared.testingR   R   R   R   R   R   R   R    R"   R$   R%   R*   R+   (    (    (    sD   lib/python2.7/site-packages/skimage/draw/tests/test_random_shapes.pyt   <module>   s   													
