σ
ίΘ[c           @` sτ  d  d l  m Z m Z m Z m Z d  d l Z d  d l Z d  d l Z d  d l	 m
 Z
 d d l m Z m Z d d l m Z m Z m Z d d l m Z d d g d	 d	 g g Z d
 d
 g d d g d d g g Z d d d d g Z g  Z xξ e D]ζ Z xέ e D]Υ Z e j e e d e d  d e d d d d d  e j e e d e d  d e d d d d d  e j e e d e d  d e d d d d d  e j e e d d e d  d e d d d d d  qύ Wqπ Wd e f d     YZ d S(   i    (   t   absolute_importt   divisiont   print_functiont   unicode_literalsN(   t   assert_almost_equali   (   t   convolvet   convolve_fft(   t   Gaussian2DKernelt   Box2DKernelt   Tophat2DKernel(   t   Moffat2DKerneli   i   i   i   i    i   i   i   t   x_sizet   y_sizei   t   modeu
   oversamplet   factori
   t   Test2DConvolutionsc           B` s­   e  Z e j j d  e  d    Z e j j d  e  d    Z e j j d
 e e	 j
 e e    d    Z e j j d e e	 j
 e d d d g    d	    Z RS(   u   kernelc         C` s   | j  j } t j |  } g  | D]! } t | d | d d  ^ q" } d | | <t | | d d } t | | d d } t | | d d d S(	   uI   
        Test smoothing of an image with a single positive pixel
        i   i   g      π?t   boundaryu   fillt   decimali   N(   t   arrayt   shapet   npt   zerost   sliceR   R   R   (   t   selft   kernelR   t   xt   sht   xslicet   c2t   c1(    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyt   test_centered_makekernel3   s    .
c         C` s_   | j  j } t j j |   } t | | d d } t | | d d } t | | d d d S(   uA   
        Test smoothing of an image made of random noise
        R   u   fillR   i   N(   R   R   R   t   randomt   randnR   R   R   (   R   R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyt   test_random_makekernelD   s
    u   shapeu   widthc   	      C` s±   | d d k r d St  j | | g  } t  j |  } g  | D]! } t | d | d d  ^ q? } d | | <t | | d d } t | | d d } t | | d d	 d S(
   un   
        Test smoothing of an image with a single positive pixel

        Uses a simple, small kernel
        i   i    Ni   g      π?R   u   fillR   i   (   R   t   onesR   R   R   R   R   (	   R   R   t   widthR   R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyt   test_uniform_smallkernelT   s    .
i   i   i   c   
      C` s  t  j | | g  t  j |  d } t | d d d d } t  j |  } g  | D]! } t | d | d d  ^ qT } d | | <t | | d d	 } t | | d d	 }	 t |	 | d
 d t | | d d	 } t | | d d	 }	 t |	 | d
 d d S(   u   
        Test smoothing of an image with a single positive pixel

        Compares a small uniform kernel to the Box2DKernel
        i   R   u
   oversampleR   i
   i   g      π?R   u   fillR   i   N(	   R   R"   t   floatR   R   R   R   R   R   (
   R   R   R#   t   kernel1t   kernel2R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyt   test_smallkernel_Box2DKernelk   s    &.
(   u   shapeu   width(   u   shapeu   width(   t   __name__t
   __module__t   pytestt   markt   parametrizet   KERNELSR   R!   t   listt	   itertoolst   productt
   SHAPES_ODDt   WIDTHSR$   R(   (    (    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyR   1   s   0(   t
   __future__R    R   R   R   R0   R+   t   numpyR   t   numpy.testingR   R   R   t   kernelsR   R   R	   R
   R2   t   SHAPES_EVENR3   R.   R   R#   t   appendt   objectR   (    (    (    sN   lib/python2.7/site-packages/astropy/convolution/tests/test_convolve_kernels.pyt   <module>   sD   "!










