ó
 ‰\c           @   s€   d  d l  Z  d  d l Z d  d l m Z d  d l m Z m Z d  d l j	 Z
 d  d l m Z m Z d e  j f d „  ƒ  YZ d S(   iÿÿÿÿN(   t   assert_equal(   t   binary_dilationt   binary_erosion(   t   datat   img_as_floatt	   TestCannyc           B   sP   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   sJ   t  j t j d ƒ d d d t j d t ƒ ƒ } |  j t j | ƒ ƒ d S(   s<   Test that the Canny filter finds no points for a blank fieldi   i   i    N(   i   i   (   i   i   (   t   Ft   cannyt   npt   zerost   onest   boolt   assertFalset   any(   t   selft   result(    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_00_00_zeros
   s    0c         C   sP   t  j t j j d d ƒ d d d t j d t ƒ ƒ } |  j t j | ƒ ƒ d S(   s<   Test that the Canny filter finds no points in a masked imaget   sizei   i   i    N(   i   i   (   i   i   (	   R   R   R   t   randomt   uniformR	   R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_00_01_zeros_mask   s    !c   	      C   s%  t  j d d … d d … f j t ƒ d \ } } t  j t  j | | | | ƒ d ƒ d k  } t j | j t ƒ d d d t  j | j	 t
 ƒ ƒ } t | d d ƒ} t | d d ƒ} t  j | t  j | ƒ ƒ } |  j t  j | | ƒ ƒ t  j | ƒ } |  j | d	 k ƒ |  j | d
 k  ƒ d S(   s9   Test that the Canny filter finds the outlines of a circlei8ÿÿÿiÈ   g      à?g{®Gáz”?i   i    t
   iterationsi   i°  i@  N(   R   t   mgridt   astypet   floatt   abst   sqrtR   R   R
   t   shapeR   R   R   t   logical_andt   logical_nott
   assertTruet   allt   sum(	   R   t   it   jt   cR   t   cdt   cet   cdet   point_count(    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_01_01_circle   s    2.3c   
      C   sY  t  j j d ƒ t  j d d … d d … f j t ƒ d \ } } t  j t  j | | | | ƒ d ƒ d k  } | j t ƒ d t  j j d | j	 ƒ d } t
 j | d d d	 t  j | j	 t ƒ ƒ } t | d
 d ƒ} t | d
 d ƒ} t  j | t  j | ƒ ƒ } |  j t  j | | ƒ ƒ t  j | ƒ }	 |  j |	 d k ƒ |  j |	 d k  ƒ d S(   sN   Test that the Canny filter finds the circle outlines
         in a noisy imagei    i8ÿÿÿiÈ   g      à?g{®Gáz”?R   i   gš™™™™™¹?gš™™™™™É?R   i°  i@  N(   R   R   t   seedR   R   R   R   R   R   R   R   R   R
   R   R   R   R   R   R   R   R    (
   R   R!   R"   R#   t   cfR   R$   R%   R&   R'   (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_01_02_circle_with_noise,   s    2.-*c         C   s,   |  j  t t j t j d ƒ d d d ƒ d  S(   Ni   i   i    (   i   i   i   (   t   assertRaisest
   ValueErrorR   R   R   R	   (   R   (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_image_shape@   s    c         C   sq   t  j t j d ƒ d d d t j d t ƒ ƒ } t  j t j d ƒ d d d ƒ } |  j t j | | k ƒ ƒ d  S(   Ni   i   i    (   i   i   (   i   i   (   i   i   (   R   R   R   R	   R
   R   R   R   (   R   t   result1t   result2(    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_mask_noneC   s    0!c         C   s  t  t j ƒ  d  d  d … d  d  d … f ƒ } t j d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g d d d d d d d d d d d g g d t ƒ} t j | d d d d d	 t ƒ} t	 | | ƒ d  S(
   Ni2   i    i   t   dtypet   low_thresholdg333333ã?t   high_thresholdgš™™™™™é?t   use_quantiles(
   R   R   t   cameraR   t   arrayR   R   R   t   TrueR    (   R   t   imaget   correct_outputR   (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_use_quantilesH   s    .*$$$$$$$$$3!c      
   C   sÒ   t  t j ƒ  d  d  d … d  d  d … f ƒ } |  j t t j | d t d d d d ƒ|  j t t j | d t d d d d ƒ|  j t t j | d t d d d d	 ƒ|  j t t j | d t d d d d
 ƒd  S(   Ni2   R5   R3   g      à?R4   gÍÌÌÌÌÌ@iûÿÿÿic   gÍÌÌÌÌÌì?iœÿÿÿ(   R   R   R6   R,   R-   R   R   R8   (   R   R9   (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   test_invalid_use_quantiles]   s    .(
   t   __name__t
   __module__R   R   R(   R+   R.   R1   R;   R<   (    (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyR   	   s   							(   t   unittestt   numpyR   t   skimage._shared.testingR    t   scipy.ndimageR   R   t   skimage.featuret   featureR   t   skimageR   R   t   TestCaseR   (    (    (    s?   lib/python2.7/site-packages/skimage/feature/tests/test_canny.pyt   <module>   s   