ó
 ‰\c           @   sA  d  d l  Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l m Z d  d l	 m
 Z
 m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d „  Z d	 „  Z e ƒ  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 „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d  „  Z1 d! „  Z2 d" „  Z3 d# „  Z4 d$ „  Z5 d% „  Z6 d& „  Z7 d' „  Z8 d( „  Z9 d) „  Z: d* „  Z; d+ „  Z< d, „  Z= d- „  Z> d. „  Z? d/ „  Z@ d0 „  ZA d1 „  ZB d S(2   iÿÿÿÿN(   t   test_parallel(   t   testing(   t   assert_array_equalt   assert_equal(   t   assert_almost_equal(   t	   set_colort   linet   line_aat   polygont   polygon_perimetert   circlet   circle_perimetert   circle_perimeter_aat   ellipset   ellipse_perimetert   _bezier_segmentt   bezier_curvet	   rectangle(   t   regionpropsc          C   sv   t  j d ƒ }  t d d d d ƒ \ } } t |  | | f d ƒ t  j d ƒ } d | d d  d  … f <t |  | ƒ d  S(   Ni
   i    i   i   (   i
   i
   (   i
   i
   (   t   npt   zerosR   R   R   (   t   imgt   rrt   cct   img_(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_set_color   s    c       
   C   sÈ   t  j d ƒ }  t d d d d ƒ \ } } } t |  | | f d d | ƒt j t ƒ ! t |  | | f d	 d | ƒWd  QXt  j d
 ƒ }  t d d d d ƒ \ } } } t |  | | f d d | ƒd  S(   Ni
   i    i   i   t   alphaiÿ   i   (   i
   i
   (   iÿ   i    i    (   i
   i
   i   (   i   i    i    (   R   R   R   R   R   t   raisest
   ValueError(   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_set_color_with_alpha   s    "c          C   sp   t  j d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d ƒ } d | d d  d  … f <t |  | ƒ d  S(   Ni
   i    i	   i   (   i
   i
   (   i
   i
   (   R   R   R   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_horizontal*   s    c          C   sp   t  j d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d ƒ } d | d  d  … d f <t |  | ƒ d  S(   Ni
   i    i	   i   (   i
   i
   (   i
   i
   (   R   R   R   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_vertical7   s    c          C   sp   t  j d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d ƒ } d | d d  d  … f <t |  | ƒ d  S(   Ni
   i    i	   i   (   i
   i
   (   i
   i
   (   R   R   R   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_reverseC   s    c          C   sZ   t  j d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d ƒ } t |  | ƒ d  S(   Ni   i    i   i   (   i   i   (   R   R   R   t   eyeR   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_diagO   s
    c          C   s   t  j d ƒ }  t d d d d ƒ \ } } } t |  | | f d d | ƒt  j d ƒ } d | d d  d  … f <t |  | ƒ d  S(   Ni
   i    i	   i   R   (   i
   i
   (   i
   i
   (   R   R   R   R   R   (   R   R   R   t   valR   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_aa_horizontalZ   s    c          C   ss   t  j d ƒ }  t d d d d ƒ \ } } } | |  | | f <t  j d ƒ } d | d  d  … d f <t |  | ƒ d  S(   Ni
   i    i	   i   (   i
   i
   (   i
   i
   (   R   R   R   R   (   R   R   R   R#   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_aa_verticalf   s    c          C   s“   t  j d ƒ }  t d d d d ƒ \ } } } d |  | | f <t d d d d ƒ \ } } x4 t | | ƒ D]# \ } } t |  | | f d ƒ qh Wd  S(   Ni
   i    i	   i   i   (   i
   i
   (   R   R   R   R   t   zipR   (   R   R   R   R#   t   rt   ct   r_it   c_i(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_line_aa_diagonalr   s    c          C   sŽ   t  j d ƒ }  t  j d ƒ } t d d d d ƒ \ } } } | |  | | f <t d d d d ƒ \ } } } | | | | f <t |  | j ƒ d  S(   Ni   i
   i   i   i   (   i   i   (   i   i   (   R   R   R   R   t   T(   t   img0t   img1R   R   R#   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt0   test_line_equal_aliasing_horizontally_vertically   s    c          C   ss   t  j d d ƒ }  t d d ƒ \ } } d |  | | f <t  j d ƒ } d | d d … d d … f <t |  | ƒ d  S(	   Ni
   t   uint8i   i   (   i
   i
   (   i   i   i   i   i   (   i   i   i   i   i   (   i
   i
   (   R   R   R   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_polygon_rectangle   s    c          C   sß  t  j d d ƒ }  t  j d	 d
 d d d f ƒ } t | d  d  … d f | d  d  … d f ƒ \ } } d |  | | f <t  j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g
 ƒ } t |  | ƒ d  S(   Ni
   R0   i    i   i   i   i   (   i
   i
   (   i    i   (   i   i   (   i   i   (   i   i    (   i    i   (   R   R   t   arrayR   R   (   R   t   polyR   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_polygon_rectangle_angular›   s     5!!!!!!!!!*c          C   sß  t  j d	 d ƒ }  t  j d
 d d d d f ƒ } t | d  d  … d f | d  d  … d f ƒ \ } } d |  | | f <t  j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g
 ƒ } t |  | ƒ d  S(   Ni
   R0   i   i   i   i   i   i    (   i
   i
   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R2   R   R   (   R   R3   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_polygon_parallelogram²   s     5!!!!!!!!!*c          C   s·   t  j d d ƒ }  t  j d d	 d
 d d f ƒ } t | d  d  … d f | d  d  … d f |  j ƒ \ } } d |  | | f <t  j d ƒ } d | d d  … d  d  … f <t |  | ƒ d  S(   Ni
   R0   i   iÿÿÿÿid   i    (   i
   i
   (   i   iÿÿÿÿ(   id   iÿÿÿÿ(   id   id   (   i   id   (   i   i   (   i
   i
   (   R   R   R2   R   t   shapeR   (   R   R3   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_polygon_exceedÉ   s    ;c          C   s*  t  j d d ƒ }  t d d d ƒ \ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   i   i   i   i    (   i   i   (   R   R   R
   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_circleÖ   s(    000000000000009c           C   s  t  j d	 d ƒ }  t d d d d d ƒ\ } } d |  | | f <t  j |  ƒ d k s[ t ‚ |  d d d k su t ‚ t  j d
 d ƒ }  t d d d d d ƒ\ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   i   i    t   methodt	   bresenhami   i   (   i   i   (   i   i   (   R   R   R   t   sumt   AssertionErrorR2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_circle_perimeter_bresenhamñ   s6    00000000000000009c       	   C   sÌ   t  j d d ƒ }  t d d d d d d	 d ƒ\ } } d
 |  | | f <d } t  j d d | d f d ƒ } t d | d d d d d	 d  ƒ\ } } d
 | | | f <t |  | | | … d  d  … f ƒ d  S(   Ni   i   R0   i   i
   i	   R9   R:   R6   i   i   i   (   i   i   (   i   i   (   R   R   R   t   NoneR   (   R   R   R   t   shiftR   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt%   test_circle_perimeter_bresenham_shape  s    $ (c           C   s  t  j d	 d ƒ }  t d d d d d ƒ\ } } d |  | | f <t  j |  ƒ d k s[ t ‚ |  d d d k su t ‚ t  j d
 d ƒ }  t d d d d d ƒ\ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   i   i    R9   t   andresi   i   (   i   i   (   i   i   (   R   R   R   R;   R<   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_circle_perimeter_andres  s6    00000000000000009c       "   C   si  t  j d d ƒ }  t d d d ƒ \ } } } d |  | | f <t  j |  ƒ d k sX t ‚ |  d d d k sr t ‚ t  j d d ƒ }  t d d d ƒ \ } } } | d |  | | f <t  j d d d d d d d d d d d d d d d d d g d d d d d d	 d
 d d d d
 d	 d d d d d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d	 d d d d d d d d d d d d d d	 d g d d
 d d d d d d d d d d d d d d
 d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d
 d d d d d d d d d d d d d d
 d g d d	 d d d d d d d d d d d d d d	 d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d g d d d d d d	 d
 d d d d
 d	 d d d d d g d d d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   i   i    i   i   i   iÿ   iR   i´   iì   i½   i¬   iJ   i   iå   i   (   i   i   (   i   i   (   R   R   R   R;   R<   R2   R   (   R   R   R   R#   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_circle_perimeter_aa<  s6    6666666666666666?c          C   sÎ   t  j d d ƒ }  t d d d d d ƒ\ } } } | d |  | | f <d	 } t  j d d
 | d f d ƒ } t d | d d d d  ƒ\ } } } | d | | | f <t |  | | | … d  d  … f ƒ d  S(   Ni   i   R0   i   i
   i	   R6   iÿ   i   i   (   i   i   (   i   i   (   R   R   R   R>   R   (   R   R   R   R#   R?   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_circle_perimeter_aa_shape\  s    ! %c          C   sQ  t  j d
 d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d g d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d g d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d g d d d g d d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d g d d d g d d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d d d	 d	 ƒ \ } } d |  | | f <t  j d d d g d d d g d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   g      à?i   i    gš™™™™™ñ?i   gÍÌÌÌÌÌì?g      ø?(   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R2   R   (   R   R   R   t   img_correct(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_trivialh  sL    		c          C   s»  t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d d g d d d d g d d d d g d d d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d	 d	 d d ƒ \ } } d |  | | f <t  j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g
 ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g
 ƒ } t |  | ƒ t  j d d ƒ }  t d d d d ƒ \ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(   Ni   R0   g      ø?gš™™™™™ñ?g333333û?i   i    i   i   i
   i   g      @g      @i   i   (   i   i   (   i   i   (   i
   i
   (   i
   i
   (   i   i   (   R   R   R   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_genericš  sŠ    !!!!!!!!!*!!!!!!!!!*000000000000009c          C   s6  t  j d	 d ƒ }  t d d d d d |  j ƒ\ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(
   Ni   R0   i   i   i
   R6   i   i    (   i   i   (   R   R   R   R6   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_with_shapeë  s(    $000000000000009c          C   s¹   t  d d d d ƒ \ }  } t j t j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g ƒ ƒ \ } } t |  | d ƒ t | | d ƒ d  S(   Niýÿÿÿg333333û?i    i   i   (   R   R   t   nonzeroR2   R   (   R   R   t   rr_t   cc_(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_negative  s    $c       
   C   sð   t  j d d t  j ƒ}  t  j d d t  j ƒ} x¹ t d d d ƒ D]¥ } |  j d ƒ t d d d d	 d
 t  j | ƒ ƒ\ } } d |  | | f <| j d ƒ t d d d d	 d
 t  j | d ƒ ƒ\ } } d | | | f <t |  | ƒ qC Wd  S(   Ni–   t   dtypei    i´   i   iP   iF   i<   i(   t   rotationi   (   i–   i–   (   i–   i–   (   R   R   R0   t   ranget   fillR   t   deg2radR   (   R.   t   img2t   angleR   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_rotation_symmetry  s    *.c          C   s×   t  j d d t  j ƒ}  x¸ t d d d ƒ D]¤ } |  j d ƒ t  j | ƒ } t d d d	 d
 d | ƒ\ } } d |  | | f <t |  d d ƒd j } t  j	 | d ƒ t  j
 d } t | | t  j
 d d ƒ q+ Wd  S(   Niè  i°  RM   i    i´   i
   iô  iX  iÈ   i  RN   i   t   coordinatest   xyi   i   (   iè  i°  (   R   R   R0   RO   RP   RQ   R   R   t   orientationt   roundt   piR   (   R   t   rotRS   R   R   t   angle_estim_rawt   angle_estim(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_rotated!  s    !c          C   sy   t  j d d ƒ }  t d d d d d ƒ \ } } d |  | | f <t  j |  ƒ d k s[ t ‚ |  d d d k su t ‚ d  S(   Ni   i   R0   i   i    i   (   i   i   (   R   R   R   R;   R<   (   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt$   test_ellipse_perimeter_dot_zeroangle.  s
    c          C   sy   t  j d d ƒ }  t d d d d d ƒ \ } } d |  | | f <t  j |  ƒ d k s[ t ‚ |  d d d k su t ‚ d  S(   Ni   i   R0   i   i    i   (   i   i   (   R   R   R   R;   R<   (   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt%   test_ellipse_perimeter_dot_nzeroangle7  s
    c          C   sŽ   t  j d d ƒ }  t  j d d ƒ } t d d d d d ƒ \ } } d |  | | f <t d d	 d d
 ƒ \ } } d | | | f <t |  | ƒ d  S(   Ni   i   R0   i   i   i    i   i   i   i   (   i   i   (   i   i   (   R   R   R   R   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt%   test_ellipse_perimeter_flat_zeroangle@  s    c       -   C   s   t  j d	 d ƒ }  t d d d d d ƒ \ } } d |  | | f <t  j d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d g g ƒ } t |  | ƒ d  S(
   Ni   i   R0   i   i   i   i    i   (   i   i   (   R   R   R   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt    test_ellipse_perimeter_zeroangleK  sF    000000000000000000000000000009c       7   C   s„	  t  j d d ƒ }  t d d d d d ƒ \ } } d	 |  | | f <t  j d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d	 d	 d	 d	 d	 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d	 d	 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 g d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 g d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 g d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 g d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 g d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 g d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 g d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 g d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 g d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 g d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 g d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d	 d
 d
 d
 d
 d
 d
 d	 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d	 d	 d	 d	 d	 d	 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 d
 g g ƒ } t |  | ƒ d  S(   Ni   i   R0   i   i   i   i   gš™™™™™ñ?i   i    (   i   i   (   R   R   R   R2   R   (   R   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt!   test_ellipse_perimeter_nzeroanglet  sF    NNNNNNNNNNNNNNNNNNNNNNNNNNNNNWc       	   C   sÌ   t  j d d ƒ }  t d d d d d d d ƒ\ } } d	 |  | | f <d
 } t  j d d | d f d ƒ } t d | d d d d d d  ƒ\ } } d	 | | | f <t |  | | | … d  d  … f ƒ d  S(   Ni   i   R0   i   i
   i	   i    R6   i   i   i   (   i   i   (   i   i   (   R   R   R   R>   R   (   R   R   R   R?   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_ellipse_perimeter_shapeœ  s    $ (c    
      C   s¸   t  j d d t ƒ}  d \ } } } d	 \ } } } t | | | | | | d ƒ \ } } d |  | | f <t  j d
 d t ƒ}	 t | | | | ƒ \ } } d |	 | | f <t |  |	 ƒ d  S(   NiÈ   RM   i2   i–   i    i   (   iÈ   iÈ   (   i2   i–   i–   (   i2   i2   i–   (   iÈ   iÈ   (   R   R   t   intR   R   R   (
   t   imaget   r0t   r1t   r2t   c0t   c1t   c2R   R   t   image2(    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_segment_straight§  s    $c    
   2   C   sV  t  j d d ƒ }  d \ } } d	 \ } } d
 \ } } t | | | | | | d ƒ \ } } d |  | | f <t  j d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g d d d d d d d d d d d d d d d d d d d d d d d d d g g ƒ }	 t |  | | f d ƒ t |  | | f d ƒ t |  |	 ƒ d  S(   Ni   R0   i   i   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R2   R   R   (
   R   Rf   Ri   Rg   Rj   Rh   Rk   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_segment_curved´  sF    $NNNNNNNNNNNNNNNNNNNNNNNNWc    
      C   s¾   t  j d d t ƒ}  d \ } } d	 \ } } d
 \ } } t | | | | | | d ƒ \ } } d |  | | f <t  j d d t ƒ}	 t | | | | ƒ \ } } d |	 | | f <t |  |	 ƒ d  S(   NiÈ   RM   i2   i–   i    i   (   iÈ   iÈ   (   i2   i2   (   i–   i2   (   i–   i–   (   iÈ   iÈ   (   R   R   Rd   R   R   R   (
   Re   Rf   Ri   Rg   Rj   Rh   Rk   R   R   Rl   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_curve_straightÛ  s    $c    
      C   s%  t  j d d ƒ }  d	 \ } } d
 \ } } d \ } } t | | | | | | d ƒ \ } } d |  | | f <t |  | | f d ƒ t |  | | f d ƒ t  j d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g d d d d d d d d g g ƒ }	 t |  |	 ƒ d  S(   Ni   i   R0   i   i   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R   R2   (
   R   Rf   Ri   Rg   Rj   Rh   Rk   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_curved_weight_eq_1é  sB    $$c    
   !   C   s¯  t  j d	 d ƒ }  d
 \ } } d \ } } d \ } } t | | | | | | d ƒ \ } } d |  | | f <t |  | | f d ƒ t |  | | f d ƒ t  j d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 d d d d d d d d d d g
 g ƒ }	 t |  |	 ƒ d  S(   Ni   i
   R0   i   i   i   i   i    (   i   i
   (   i   i   (   i   i   (   i   i   (   R   R   R   R   R2   (
   R   Rf   Ri   Rg   Rj   Rh   Rk   R   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_curved_weight_neq_1  sB    $!!!!!!!!!!!!!!!!!!!!!!*c          C   s+  t  j d d ƒ }  d \ } } d \ } } d \ } } t | | | | | | d	 d
 d ƒ\ } } d |  | | f <d }	 t  j d d	 |	 d f d ƒ }
 d |	 d } } d |	 d } } d |	 d } } t | | | | | | d	 d
 d  ƒ\ } } d |
 | | f <t |  |
 |	 |	 … d  d  … f ƒ d  S(   Ni   i   R0   i   i   i   i   i   i   R6   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   R   R   R   R>   R   (   R   Rf   Ri   Rg   Rj   Rh   Rk   R   R   R?   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_bezier_curve_shape3  s    * *c       	   C   s0  t  j d d d d g d d d d g d d d d g g ƒ }  t  j |  ƒ } t d d d d g d d d d g ƒ \ } } d | | | f <t | |  ƒ t  j |  ƒ } t d d d d g d d d d g d | j d t ƒ\ } } d | | | f <t | |  ƒ t j t	 ƒ  t d g d g d t ƒWd  QXd  S(	   Ni   i    i   i   iÿÿÿÿi   R6   t   clip(
   R   R2   t
   zeros_likeR	   R   R6   t   TrueR   R   R   (   t   expectedt   outR   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_polygon_perimeterD  s"    c          C   s]   t  d d d d g d d d d g d d ƒ\ }  } t t |  ƒ d ƒ t t | ƒ d ƒ d  S(   Niÿÿÿÿi   i   R6   i    (   i   i   (   R	   R   t   len(   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt$   test_polygon_perimeter_outside_image]  s    !c       
   C   sØ   t  j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g d t  j ƒ}  t  j d d t  j ƒ} d	 } d
 } t | d | d | j ƒ\ } } d | | | f <t | |  ƒ d  S(   Ni    i   RM   i   i   t   endR6   (   i   i   (   i    i   (   i   i   (   R   R2   R0   R   R   R6   R   (   Rv   R   t   startR{   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_rectangle_endd  s    $!c       
   C   sØ   t  j d d d d d g d d d d d g d d d d d g d d d d d g d d d d d g g d t  j ƒ}  t  j d d t  j ƒ} d	 } d
 } t | d | d | j ƒ\ } } d | | | f <t | |  ƒ d  S(   Ni    i   RM   i   i   t   extentR6   (   i   i   (   i   i   (   i   i   (   R   R2   R0   R   R   R6   R   (   Rv   R   R|   R~   R   R   (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   test_rectangle_extentr  s    $!(C   t   numpyR   t   skimage._shared.testingR    t   skimage._sharedR   R   R   R   t   skimage.drawR   R   R   R   R	   R
   R   R   R   R   R   R   R   t   skimage.measureR   R   R   R   R   R    R"   R$   R%   R+   R/   R1   R4   R5   R7   R8   R=   R@   RB   RC   RD   RF   RG   RH   RL   RT   R]   R^   R_   R`   Ra   Rb   Rc   Rm   Rn   Ro   Rp   Rq   Rr   Rx   Rz   R}   R   (    (    (    s;   lib/python2.7/site-packages/skimage/draw/tests/test_draw.pyt   <module>   s`   X															 		 	 		2	Q										)	(			'		%	%				