ó
 ‰\c           @   s‘   d  d l  Z d  d l m Z d  d l j j Z d  d l m	 Z	 d  d l
 m Z d Z d d d „  ƒ  YZ d d d	 „  ƒ  YZ d
 d d „  ƒ  YZ d S(   iÿÿÿÿN(   t   label(   t   testing(   t   assert_array_equali    t   TestConnectedComponentsc           B   sY   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(	   c      
   C   s1  t  j d d d d d d g d d d d d d g d d d d d d g d d d d d d g g ƒ |  _ t  j d d d d d d g d d d d d d g d d d d d d g d d d d	 d
 d g g ƒ |  _ |  j d |  _ d |  j d <|  j j ƒ  |  _ d |  j |  j d k <|  j |  j d k c d 8<d  S(   Ni    i   i   i   i	   i   i   i   i   i   i
   iÿÿÿÿ(   iÿÿÿÿiÿÿÿÿ(   t   npt   arrayt   xt   labelst   labels_nobgt   copyt   labels_bg_9(   t   self(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   setup   s    !!c         C   st   t  t |  j ƒ |  j ƒ |  j d d k s2 t ‚ t  t |  j d d ƒ|  j ƒ t  t |  j d d ƒ|  j ƒ d  S(   Ni    i   i   t
   backgroundic   i	   (   i    i   (   R   R    R   R   t   AssertionErrorR   R
   (   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt
   test_basic(   s    c         C   s‡   t  j j d d ƒ d j t  j ƒ } t | ƒ } | j ƒ  } xC t | ƒ D]5 } | | | k } t  j | | d k ƒ sJ t	 ‚ qJ Wd  S(   Ni   i   i   i    (
   R   t   randomt   randt   astypet   intR    t   maxt   ranget   allR   (   R   R   R   t   nt   it   values(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_random3   s    %c         C   sJ   t  j d d d g d d d g d d d g g ƒ } t t | ƒ | ƒ d  S(   Ni    i   (   R   R   R   R    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt	   test_diag<   s    c         C   s{   t  j d d g d d g g d t ƒ} t t | d ƒ d d g d d g g ƒ t t | d ƒ d d g d d g g ƒ d  S(   Ni    i   t   dtypei   i   i   (   R   R   R   R   R    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_4_vs_8B   s    		c         C   s«   t  j d d d g d d d g d d d g g ƒ } t t | ƒ d d d g d d d g d d d g g ƒ t t | d d ƒd d d g d d d g d d d g g ƒ d  S(   Ni   i    i   i   R   (   R   R   R   R    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_backgroundL   s    c         C   sz   t  j d d d g d d d g d d d g g ƒ } t | d d ƒ} t | d d d g d d d g d d d g g ƒ d  S(   Ni    i   i   R   i   i   (   R   R   R    R   (   R   R   t   res(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_background_two_regionsZ   s    c         C   sz   t  j d d d g d d d g d d d g g ƒ } t t | d d d d ƒd d d g d d d g d d d g g ƒ d  S(   Ni    i   t	   neighborsi   R   (   R   R   R   R    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt!   test_background_one_region_centere   s    c         C   sw   t  j d d d g d d d g d d d g g ƒ } t t | d t ƒd d ƒ t t | d d d t ƒd d	 ƒ d  S(
   Ni   i    i   i   t
   return_numi   R   iÿÿÿÿi   (   R   R   R   R    t   True(   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_return_numo   s
    (   t   __name__t
   __module__R   R   R   R   R   R   R    R"   R%   (    (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR      s   						
			
t   TestConnectedComponents3dc           B   sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c      	   C   sb  t  j d t ƒ |  _ 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 g ƒ |  j d <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 g ƒ |  j d <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 g ƒ |  j d <t  j d t ƒ |  _ 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 g ƒ |  j d <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 g ƒ |  j d <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 g ƒ |  j d <d  S(   Ni   i   i   i    i   i   i	   i   i   i   (   i   i   i   (   i   i   i   (   R   t   zerosR   R   R   R   (   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   z   s4    """""c         C   sB   t  |  j ƒ } t | |  j ƒ |  j d d k s> t d ƒ ‚ d  S(   Ni    i   s   Data was modified!(   i    i    i   (   R    R   R   R   R   (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   œ   s    c         C   s‡   t  j j d d ƒ d j t  j ƒ } t | ƒ } | j ƒ  } xC t | ƒ D]5 } | | | k } t  j | | d k ƒ sJ t	 ‚ qJ Wd  S(   Ni   i   i   i    (
   R   R   R   R   R   R    R   R   R   R   (   R   R   R   R   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   £   s    %c         C   sG   t  j d t ƒ } d | d <d | d <d | d <t t | ƒ | ƒ d  S(	   Ni   i   i    i   (   i   i   i   (   i    i   i   (   i   i   i   (   i   i    i    (   R   R)   R   R   R    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   ¬   s
    


c         C   sl   t  j d t ƒ } d | d <d | d <| j ƒ  } d | d	 <t t | d ƒ | ƒ t t | d ƒ | ƒ d  S(
   Ni   i   i    i   i   (   i   i   i   (   i    i   i   (   i   i    i    (   i   i    i    (   R   R)   R   R	   R   R    (   R   R   t   label4(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   ³   s    


c         C   s¤  t  j d t ƒ } t  j d d d g d d d g d d d g g ƒ | d <t  j d d d g d d d g d d d g g ƒ | d <| j ƒ  } t  j d d d g d d d g d d d g g ƒ | d <t  j d d d g d d d g d d d g g ƒ | d <| j ƒ  } t  j d t t g d t t g t t t g g ƒ | d <t  j t t t g t d d g t t t g g ƒ | d <t t | ƒ | ƒ t t | d d ƒ| ƒ d  S(	   Ni   i   i   i    i   R   iÿÿÿÿ(   i   i   i   (   R   R)   R   R   R	   t   BGR   R    (   R   R   t   lnbt   lb(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR   ¼   s.    c         C   s  t  j d t ƒ } t  j d d d g d d d g d d d g g ƒ | d <t  j d d d g d d d g d d d g g ƒ | d <| j ƒ  } t  j t t d g t t d g d d d g g ƒ | d <t  j d d t g d t t g t t t g g ƒ | d <t | d d ƒ} t | | ƒ d  S(	   Ni   i   i    i   i   i   R   (   i   i   i   (   R   R)   R   R   R	   R+   R    R   (   R   R   R-   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR    ×   s     c         C   s\   t  j d t ƒ } d | d <t  j | ƒ t } d | d	 <t t | d d d d ƒ| ƒ d  S(
   Ni   i   R!   i   R   i    (   i   i   i   (   i   i   i   (   i   i   i   (   R   R)   R   t	   ones_likeR+   R   R    (   R   R   R-   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR"   ê   s
    

c         C   sw   t  j d d d g d d d g d d d g g ƒ } t t | d t ƒd d ƒ t t | d d d t ƒd d	 ƒ d  S(
   Ni   i    i   i   R#   i   R   iÿÿÿÿi   (   R   R   R   R    R$   (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR%   ó   s
    c      	   C   s¯   t  j d ƒ } t | ƒ } t  j d ƒ } | f d | f | d f d | d f | d d f d d | f f } x< | D]4 } | j | ƒ } t | ƒ } t | | j ƒ  ƒ qs Wd  S(   Ni    i   i   i   (   i    i   i   i   i   i   i    i    (   i    i   i   i   i   i   i    i    (   R   R   t   lent   reshapeR    R   t   flatten(   R   R   t   xlent   yt   reshapesR0   t   x2t   labelled(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_1Dû   s    *c         C   s3   t  j d ƒ } t j t ƒ  t | ƒ Wd  QXd  S(   Ni   i   i   i   (   i   i   i   i   (   R   t   onesR   t   raisest   NotImplementedErrorR    (   R   R   (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_nd  s    (   R&   R'   R   R   R   R   R   R   R    R"   R%   R7   R;   (    (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR(   y   s   	"												t   TestSupportc           B   s   e  Z d  „  Z RS(   c   
      C   sÇ   d d d d	 d
 f } x« | D]£ } t  j | ƒ } t | d k ƒ } t  j j | ƒ } t j | ƒ \ } } | j } x* t | ƒ D] } | | d k s€ t ‚ q€ Wt j	 | | ƒ }	 t
 | |	 ƒ q Wd  S(   Ni   i   i   i   i   (   i   i   i   (   i   i   i   (   i   i   i   (   i   i   (   i   (   R   R   t   sumR   t   ccompt   reshape_arrayt   shapeR   R   t   undo_reshape_arrayR   (
   R   t	   shapes_inR@   t   numonest   inpt   fixedt   swapst   shape2R   t   back(    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   test_reshape  s    	(   R&   R'   RI   (    (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyR<     s   (    (    (    (   t   numpyR   t   skimage.measureR    t   skimage.measure._ccompt   measuret   _ccompR>   t   skimage._sharedR   t   skimage._shared.testingR   R+   R   R(   R<   (    (    (    sB   lib/python2.7/site-packages/skimage/morphology/tests/test_ccomp.pyt   <module>   s   l”