
\c           @   s  d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z m Z m	 Z	 d  d l
 m Z d  d l m Z m Z m Z m Z e j e d d Z e j 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 g 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 g 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 g 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 g 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 g g
  Z e j   Z d	 e d d
 d  f <e j d= d e j Z d e d d  d d  d d  f <d e d> <e j   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#   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: d0   Z; d1   Z< d2   Z= d3   Z> d4   Z? d5   Z@ d6   ZA d7   ZB d8   ZC d9   ZD d:   ZE d;   ZF d<   ZG d S(?   iN(   t   regionpropst   PROPSt	   perimetert   _parse_docs(   t   testing(   t   assert_array_equalt   assert_almost_equalt   assert_array_almost_equalt   assert_equalt   coordinatest   rci    i   i   i	   i   i   t   dtypei   c          C   sF   t  t t  d }  x, t D]$ } t |  | t |  t |   q Wd  S(   Ni    (   R    t   SAMPLEt   INTENSITY_SAMPLER   R   t   getattr(   t   regiont   prop(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_all_props$   s    c          C   s^   t  t t  d }  xD t D]< } y" t |  | t |  t |   Wq t k
 rU q Xq Wd  S(   Ni    (   R    t	   SAMPLE_3Dt   INTENSITY_SAMPLE_3DR   R   R   t   NotImplementedError(   R   R   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_all_props_3d*   s    "c        
   C   s   t  t j d d t j  t  t j d d t j  t j t  ! t  t j d d t j  Wd  QXt j t  ! t  t j d d t j	  Wd  QXd  S(   Ni
   R   (   i
   i
   (   i
   i
   (   i
   i
   (   i
   i
   (
   R    t   npt   zerost   intt   uintR   t   raisest	   TypeErrort   floatt   double(    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt
   test_dtype3   s    "c        
   C   s   t  t j d d t j  t  t j d d t j  t  t j d d t j  t  t j d d t j  t  t j d	 d t j  t j t  ! t  t j d
 d t j  Wd  QXd  S(   Ni
   R   i   i   (   i
   i
   (   i
   i
   i   (   i
   i
   i
   (   i   i   (   i   i   i   (   i
   i
   i
   i   (   R    R   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt	   test_ndim<   s    c          C   s`   t  t  d j }  |  t j t  k s. t  t  t  d j }  |  t j t  k s\ t  d  S(   Ni    (   R    R   t   areaR   t   sumt   AssertionErrorR   (   R    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt	   test_areaF   s    c          C   s   t  t  d j }  t |  d d t j d t j d f  t j   } d | d  d   d f <t  |  d j }  t |  d d t j d t j d d f  t  t  d j }  t |  d  d  S(   Ni    i   ii   i   (   i   i   i   i   i   i   (   R    R   t   bboxR   t   shapet   copyR   (   R$   t
   SAMPLE_mod(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt	   test_bboxM   s    '+c          C   s?   t  j t d d d }  t |   d j } t | t j  d  S(   Ni   t   modet   constanti    (   R   t   padR   R    t	   bbox_areaR   t   size(   t   paddedR,   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_bbox_areaZ   s    c          C   s   t  t  d j }  t |  d d  t |  d d  t |  d d  t |  d d  t |  d d	  t |  d d
  t |  d d  d  S(   Ni    i   g    @{@i   g
i   g@UUUUUg@8_gpq@gKh/A@ga2(   i   i    (   i   i    (   i   i   (   i   i   (   i    i   (   i   i   (   i    i   (   R    R   t   moments_centralR   (   t   mu(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_moments_central`   s    c          C   s$   t  t  d j }  t |  d  d  S(   Ni    g@g98"@(   g@g98"@(   R    R   t   centroidR   (   R3   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_centroidm   s    c          C   s$   t  t  d j }  t |  d  d  S(   Ni    gI?g:?(   gI?g:?g:?(   R    R   R3   R   (   R3   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_centroid_3ds   s    c          C   s)   t  t  d j }  |  d k s% t  d  S(   Ni    i|   (   R    R   t   convex_areaR"   (   R    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_convex_areay   s    c          C   sm  t  t  d j }  t j 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 g 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 g 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 g 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 g 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 g g
  } t |  |  d  S(   Ni    i   (   R    R   t   convex_imageR   t   arrayR   (   t   imgt   ref(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_convex_image   s    999999999Bc          C   sD  t  j d	 d t  j }  t  j d d g d d g d d g g  } d |  | d  d   d f | d  d   d f f <t |   d j } t | |  t  j d
 d t  j }  t  j d d d g d d d g d d d g g  } d |  | d  d   d f | d  d   d f | d  d   d f f <t |   d j } t | |  d  S(   Ni
   R   i   i   i   i   i    i   (   i
   i
   (   i   i   i   (   R   R   t   int8R9   R    t   coordsR   (   t   sampleR>   t   prop_coords(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_coordinates   s    *03Cc          C   sf   t  t  d j }  t |  d  t j d d t j } d | d <t  |  d j }  t |  d  d  S(	   Ni    gPq~q?i   R   i   i   (   i   i   (   i   i   (   R    R   t   eccentricityR   R   R   R   (   t   epsR:   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_eccentricity   s    
c          C   s$   t  t  d j }  t |  d  d  S(   Ni    g3&#@(   R    R   t   equivalent_diameterR   (   t   diameter(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_equiv_diameter   s    c          C   sd   t  t  d j }  |  d k s% t  t j   } d | d <t  |  d j }  |  d k s` t  d  S(   Ni    i   i   i(   i   i(   R    R   t   euler_numberR"   R&   (   t   enR'   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_euler_number   s    
c          C   s$   t  t  d j }  t |  d  d  S(   Ni    g?(   R    R   t   extentR   (   RK   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_extent   s    c          C   sH   t  t  d j }  t j d d d d d d d g  } t |  |  d  S(	   Ni    g?z~?gu/,?g'?gHU-T?g^L>gw-g?b1۾(   R    R   t
   moments_huR   R9   R   (   t   huR;   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_moments_hu   s    c          C   sc   t  t  d j }  t |  t  t  t  d j }  t |  t d d  d d  d d  f  d  S(   Ni    i   i   i   (   R    R   t   imageR   R   (   R:   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt
   test_image   s    c          C   sD   t  t  d j }  t |  d  t  t  d j }  t |  d  d  S(   Ni    i   (   R    R   t   labelR   R   (   RR   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt
   test_label   s    c          C   sv   t  t  d j }  |  t j t  k s. t  t j   } d | d <t  |  d j }  |  t j t  k sr t  d  S(   Ni    i   i(   i   i(   R    R   t   filled_areaR   R!   R"   R&   (   R    R'   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_filled_area   s    
c          C   s$   t  t  d j }  t |  t  d  S(   Ni    (   R    R   t   filled_imageR   (   R:   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_filled_image   s    c          C   s$   t  t  d j }  t |  d  d  S(   Ni    g8D0@(   R    R   t   major_axis_lengthR   (   t   length(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_major_axis_length   s    c          C   s*   t  t d t d j }  t |  d  d  S(   Nt   intensity_imagei    i   (   R    R   R   t   max_intensityR   (   t	   intensity(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_max_intensity   s    
c          C   s*   t  t d t d j }  t |  d  d  S(   NR[   i    gqq?(   R    R   R   t   mean_intensityR   (   R]   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_mean_intensity   s    
c          C   s*   t  t d t d j }  t |  d  d  S(   NR[   i    i   (   R    R   R   t   min_intensityR   (   R]   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_min_intensity   s    
c          C   s$   t  t  d j }  t |  d  d  S(   Ni    g7z#@(   R    R   t   minor_axis_lengthR   (   RY   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_minor_axis_length  s    c          C   s   t  t  d j j }  t |  d d  t |  d d  t |  d d  t |  d d  t |  d d	  t |  d d
  t |  d d  t |  d d  t |  d d  t |  d d  d  S(   Ni    g      R@i   g     y@i   g     x@i   g     P@g     @@g     l@g     A@g     @g    @m@g    @V@(   i    i    (   i    i   (   i    i   (   i    i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   R    R   t   momentst   TR   (   t   m(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_moments  s    c          C   s   t  t  d j j }  t |  d d  t |  d d  t |  d d  t |  d d  t |  d d  t |  d d
  d  S(   Ni    i   g/O懵?i   g,lC@g⪹Rgge/
?g^ ^H?i   gcZ(   i    i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   R    R   t   moments_normalizedRf   R   (   t   nu(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_moments_normalized  s    c          C   s9  t  t d d d j }  t |  d  t  t d d d j } t | t j d |   t j d d t } t  | d d d j } t | t j d	  t  t j	 |   d j } t | t j d	  t  t j
 |   d j } t | t j d	  t  t j
 t j	 |    d j } t | t j d	  d  S(
   NR	   t   xyi    gCq?R
   i   i
   R   i   (   R    R   t   orientationR   t   matht   piR   t   eyeR   t   flipudt   fliplr(   Rm   t   orientation2t   diagt   orientation_diag(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_orientation(  s    %c          C   sL   t  t  d j }  t |  d  t t j d  d d }  t |  d  d  S(   Ni    g֟K@R   t   neighbourhoodi   gXg	jG@(   R    R   R   R   t   astype(   t   per(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_perimeter;  s    c          C   s$   t  t  d j }  t |  d  d  S(   Ni    gRJ)?(   R    R   t   solidityR   (   R{   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_solidityC  s    c          C   s   t  t d t d j j }  t j d d d d g d d d	 d
 g d d d d g d d d d g g  } t j d d  t |  |  d  S(   NR[   i    g     R@g0   Ng|}@g}g($=gc"Ug(kbgF%uݓgp8"@giC*Nڠ@gz*@g~2	@gg]}ᘎgqog"0V0t	   precisioni
   (	   R    R   R   t   weighted_moments_centralRf   R   R9   t   set_printoptionsR   (   t   wmuR;   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_weighted_moments_centralI  s    				c          C   s*   t  t d t d j }  t |  d  d  S(   NR[   i    g8 u)@g1<S"@(   g8 u)@g1<S"@(   R    R   R   t   weighted_centroidR   (   R3   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_weighted_centroidZ  s    
c          C   sN   t  t d t d j }  t j d d d d d d d	 g  } t |  |  d  S(
   NR[   i    ga'R?gg	?y?g"
-?g!mT?gODګ>gpcgʝ~ܾ(   R    R   R   t   weighted_moments_huR   R9   R   (   t   whuR;   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_weighted_moments_hu`  s    
c          C   sx   t  t d t d j j }  t j d d d d g d d d	 d
 g d d d d g d d d d g g  } t |  |  d  S(   NR[   i    g     R@g     y@g     |@g    P@g     ؅@g     @g    E@g    \Ag     @g    @g    Ag    ?Ag    P@g    .y!Ag   MAg   p1zA(   R    R   R   t   weighted_momentsRf   R   R9   R   (   t   wmR;   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_weighted_momentso  s    				c          C   s   t  t d t d j j }  t j t j t j d d g t j d d d g d d	 d
 d g d d d d g g  } t |  |  d  S(   NR[   i    gS*]?g7gvlgNCyig"h ;ig!%su?gc6r?gcd?g\q?gSmg,>Akg\}$bggA׸R(	   R    R   R   t   weighted_moments_normalizedRf   R   R9   t   nanR   (   t   wnuR;   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt    test_weighted_moments_normalized  s    c          C   su   t  j d d t  j }  d |  d  d   d  d   f <t |   } t |  d k sX t  | d j d k sq t  d  S(   Ni   R   i   i    (   i   i   (   R   t   emptyR   R    t   lenR"   RR   (   t   at   ps(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_label_sequence  s
    c          C   s@   t  j d d t  j }  t |   } t |  d k s< t  d  S(   Ni   R   i    (   i   i   (   R   R   R   R    R   R"   (   R   R   (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_pure_background  s    c             s<   t  t      f d   }  t j t   |    Wd  QXd  S(   Nc              s     d j  d  S(   Ni    (   R[   (    (   R   (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   get_intensity_image  s    (   R    R   R   R   t   AttributeError(   R   (    (   R   sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_invalid  s    c          C   sB   t  j d g d g g  }  t j t   t t |   Wd  QXd  S(   Ni   (   R   R9   R   R   t
   ValueErrorR    R   (   t   wrong_intensity_sample(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_invalid_size  s    c          C   s   t  j d d t  j }  d |  d d  d d  f <d |  d d  d d  f <t |   } | d } t |   } | d } | d } t | | k t d	  t | | k t d
  d  S(   Nid   R   i   i    i   i   i2   ic   s   Same regionprops are not equals   Different regionprops are equal(   id   id   (   R   R   R   R    R   t   True(   t   arrt   regionst   r1t   r2t   r3(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_equals  s    


c             s   t  t  d   t   f d     D  }  t  t d t d   t   f d     D  } t |   t |  k  s| t  d  S(   Ni    c         3   s   |  ] } |   | f Vq d  S(   N(    (   t   .0t   p(   R   (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pys	   <genexpr>  s    R[   c         3   s   |  ] } |   | f Vq d  S(   N(    (   R   R   (   R   (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pys	   <genexpr>  s    (   R    R   t   dictR   R   R"   (   t   p0t   p1(    (   R   sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_iterate_all_props  s
    c          C   sm   t  t  d }  |  j } d |  j d *|  j } t | |  t |  _ |  j } t j | | k  si t	  d  S(   Ni    i   i
   (
   R    R   RV   t   _label_imageR   t   Falset   _cache_activeR   t   anyR"   (   R   t   f0t   f1(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt
   test_cache  s    				c          C   s   t  t  d }  t   } g  t |   D] } | j d  s& | ^ q& } t |  } t |  } t | |  | d } d | k s t  t | j d   d k s t  d  S(   Ni    t   _R   t	   iterations   
i   (	   R    R   R   t   dirt
   startswithR   R   R"   t   split(   R   t   docsRg   t   propst   nr_docs_parsedt   nr_propst   ds(    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   test_docstrings_and_props  s    	.
c           C   s.   t  j t   t t d d d Wd  QXd  S(   NR	   t   xyzi    (   R   R   R   t   regionprops_defaultR   (    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt$   test_incorrect_coordinate_convention  s    (   i   i   i   (   i   i   i   (H   Rn   t	   functoolst   numpyR   t   skimage.measure._regionpropsR    R   R   R   R   t   skimage._sharedR   t   skimage._shared.testingR   R   R   R   t   partialR9   R   R&   R   R   t   uint8R   R   R   R   R   R   R#   R(   R/   R2   R4   R5   R7   R<   RA   RD   RG   RJ   RL   RO   RQ   RS   RU   RW   RZ   R^   R`   Rb   Rd   Rh   Rk   Rv   Rz   R|   R   R   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/skimage/measure/tests/test_regionprops.pyt   <module>   s   ""999999999B%
						
										
		
					
																			
			
		