ó
šßÈ[c           @` s  d  d l  m Z m Z m Z m Z d  d l Z d  d l Z d  d l m	 Z	 d d l
 m Z d d l m Z e j d d	 g d d
 g d d g g ƒ Z e j d d g d d g d d g g ƒ Z e j j d e d  d f e d d
 f g ƒ d „  ƒ Z e d ƒ G e j j d d
 d d d d" ƒ Z e j j d d d d d d# ƒ Z Wd QXe j j d e e g ƒ d „  ƒ Z e d ƒ G e j j d d  d d d d$ ƒ Z e j j d d d d  d d% ƒ Z Wd QXe j j d e d  d f e d d  f g ƒ d „  ƒ Z e d ƒ G e j j d d
 d d d d& ƒ Z e j j d d d d d d' ƒ Z Wd QXe j j d e d
 d f e d d f g ƒ d „  ƒ Z e d ƒ G e j j d d  d d d d( ƒ Z e j j d d d d  d d) ƒ Z Wd QXe j j d e d  d f e d d  f g ƒ d  „  ƒ Z e d ƒ G e j j d d
 d d d d* ƒ Z e j j d d d d d d+ ƒ Z Wd QXe j j d e d
 d f e d d f g ƒ d! „  ƒ Z d S(,   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   assert_allclosei   (   t   RipleysKEstimatori   (   t   NumpyRNGContexti   i   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿu   points, x_min, x_maxi
   iûÿÿÿc         C` sÒ   d } t  j d d d ƒ } t d | d | d | d | d	 | ƒ } t  j d d d d
 d
 g ƒ } t | | d |  d | d d ƒ d d ƒt  j d d d d d g ƒ } t | | d |  d | d d ƒ d d ƒd S(   u½  
    Test against Ripley's K function implemented in R package `spatstat`
        +-+---------+---------+----------+---------+-+
      6 +                                          * +
        |                                            |
        |                                            |
    5.5 +                                            +
        |                                            |
        |                                            |
      5 +                     *                      +
        |                                            |
    4.5 +                                            +
        |                                            |
        |                                            |
      4 + *                                          +
        +-+---------+---------+----------+---------+-+
          1        1.5        2         2.5        3

        +-+---------+---------+----------+---------+-+
      3 + *                                          +
        |                                            |
        |                                            |
    2.5 +                                            +
        |                                            |
        |                                            |
      2 +                     *                      +
        |                                            |
    1.5 +                                            +
        |                                            |
        |                                            |
      1 +                                          * +
        +-+---------+---------+----------+---------+-+
         -3       -2.5       -2        -1.5       -1
    id   i    g      @i   t   areat   x_mint   y_mint   x_maxt   y_maxg¦›Ä °ªP@t   datat   radiit   modeu   nonet   atolgü©ñÒMbP?gú~j¼t“T@u   translationN(   t   npt   linspaceR   t   arrayR   (   t   pointsR   R
   R   t   rt   Kestt   ANS_NONEt	   ANS_TRANS(    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   test_ripley_K_implementation   s    %	!!i{   t   lowt   hight   sizeid   iöÿÿÿu   pointsc      	   C` sT   d } t  d | ƒ } t j d d d ƒ } t | | d |  d | d d	 ƒ d
 ƒ d  S(   Ni2   R   i    i   i   R   R   R   u   nonei   (   R   R   R   R   (   R   R   R   R   (    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   test_ripley_uniform_propertyI   s    iô  u   points, low, highc   	      C` s   t  d d d | d | d | d | ƒ } t j d d d	 ƒ } | j | ƒ } d
 d d g } x< | D]4 } | d |  d | d | ƒ } t | | d d ƒqa Wd  S(   NR   i   R   R
   R	   R   i    g      Ð?i   u   ohseru   translationu   ripleyR   R   R   R   gš™™™™™¹?(   R   R   R   t   poissonR   (	   R   R   R   R   R   t   Kpost   modest   mt   Kest_r(    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   test_ripley_large_densityY   s    	c   	      C` sµ   t  d d d | d | d | d | ƒ } t j d d d ƒ } t j | j | ƒ ƒ } d	 d
 d g } xK | D]C } t j | d |  d | d | ƒ ƒ } t | | d d d d ƒqj Wd  S(   NR   i   R
   R   R   R	   i    g333333ó?u   ohseru   translationu   ripleyR   R   R   R   gš™™™™™¹?t   rtol(   R   R   R   t   meanR   R   (	   R   R   R   R   R   t	   Kpos_meanR   R    t	   Kest_mean(    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   test_ripley_modesj   s    	$i2   c         C` s}   t  d d d | d | d | d | ƒ } t j d d d	 ƒ } | j | ƒ } | d
 |  d | d d ƒ } t | | d d ƒd  S(   NR   i   R   R
   R	   R   i    g      Ð?i   R   R   R   u	   var-widthR   gš™™™™™¹?(   R   R   R   R   R   (   R   R   R   R   R   R   R!   (    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt#   test_ripley_large_density_var_width{   s    	c         C` s¡   t  d d d | d | d | d | ƒ } t j d d d ƒ } t j | d	 |  d
 | d d ƒ ƒ } t j | d	 |  d
 | d d ƒ ƒ } t | | d d d d ƒd  S(   NR   i   R
   R   R   R	   i    g333333ó?R   R   R   u   ohseru	   var-widthR   gš™™™™™¹?R#   (   R   R   R   R$   R   (   R   R   R   R   R   t
   Kest_ohsert   Kest_var_width(    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   test_ripley_var_widthŠ   s    	$$(   id   i   (   id   i   (   iô  i   (   iô  i   (   iô  i   (   iô  i   (   i2   i   (   i2   i   (   i2   i   (   i2   i   (   t
   __future__R    R   R   R   t   numpyR   t   pytestt   numpy.testingR   t   spatialR   t
   utils.miscR   R   t   at   bt   markt   parametrizeR   t   randomt   uniformR   R"   R'   R(   R+   (    (    (    s?   lib/python2.7/site-packages/astropy/stats/tests/test_spatial.pyt   <module>   s8   "**63!'$!'6!'6!'6
!'