ó
›ßÈ[c           @   sZ  d  d l  Z  d  d l Z d d l m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z e j d d d d d g ƒ Z i  Z e j d d d d d g ƒ e e ƒ  <e j d d d	 d
 d g ƒ e e ƒ  <e j d d d d d g ƒ e e ƒ  <e j d d d	 d
 d g ƒ e e d ƒ <e j d d d d d g ƒ e e ƒ  <e j d d d d d g ƒ e e	 ƒ  <e j d d d d d g ƒ e e
 ƒ  <e j d d d d d g ƒ e e ƒ  <e j d d d d d g ƒ e e d d d  d! ƒ <e e e e ƒ <e e e e d d d  … ƒ <e j d d" d d# d g ƒ e e e d ƒ <d$ e f d% „  ƒ  YZ d& „  Z d S('   iÿÿÿÿNi   (
   t   LinearStretcht   SqrtStretcht   PowerStretcht   PowerDistStretcht   SquaredStretcht
   LogStretcht   AsinhStretcht   SinhStretcht   HistEqStretcht   ContrastBiasStretchg        g      Ð?g      à?g      è?g      ð?gß'Üež æ?g‘+Pæz¶ë?g      °?g      â?g¨ŽUJÏôr?gôÞ€cŸ?gÕ>¨Æ?g´„ÖÃ—é?gt\ìJËì?gM1AG«î?gzlË€³”á?guYLl>®è?gƒ‰?Š:óì?g3þ}Æ…µ?gADjÚÅ4Ë?g¼W­LøÝ?g333333Ó¿gš™™™™™É?gffffffæ?g333333ó?g333333û?t   contrastg       @t   biasgš™™™™™Ù?g      À?g}¾wåÄ(â?t   TestStretchc           B   s1  e  Z e j j d  e j ƒ  ƒ d „  ƒ Z e j j d d d g ƒ e j j d  e j ƒ  ƒ d „  ƒ ƒ Z e j j d  e j ƒ  ƒ d „  ƒ Z	 e j j d  e j ƒ  ƒ d „  ƒ Z
 e j j d  e j ƒ  ƒ d „  ƒ Z e j j d  e j ƒ  ƒ d	 „  ƒ Z e j j d  e j ƒ  ƒ d
 „  ƒ Z d „  Z d „  Z RS(   t   stretchc         C   s-   t  j j | t d t ƒt | d d ƒd  S(   Nt   clipt   atolgíµ ÷Æ°>(   t   npt   testingt   assert_allcloset   DATAt   Falset   RESULTS(   t   selfR   (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_no_clip"   s    t   ndimi   i   c         C   s\   t  j d | } t j j | t  j | ƒ d t ƒj ƒ  t j t	 | d d ƒ d d ƒd  S(   Ni   R   g        R   gíµ ÷Æ°>(   i   (
   R   t   shapeR   R   R   t   reshapet   Truet   ravelR   R   (   R   R   R   t	   new_shape(    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_clip_ndimensional'   s
    c         C   s<   t  j j | t d t ƒt  j t | d d ƒ d d ƒd  S(   NR   g        i   R   gíµ ÷Æ°>(   R   R   R   R   R   R   R   (   R   R   (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt	   test_clip1   s    c         C   sh   t  j ƒ  } t j t  j ƒ } | | d | d t ƒt j j | t | d d ƒt j j | t  ƒ d  S(   Nt   outR   R   gíµ ÷Æ°>(	   R   t   copyR   t   zerosR   R   R   R   R   (   R   R   t   data_int   result(    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_inplace7   s
    c         C   s2   t  j j | j | t d t ƒd t ƒt ƒ d  S(   NR   (   R   R   R   t   inverseR   R   (   R   R   (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_round_trip?   s    !c         C   sX   t  j t j ƒ } | t d | d t ƒ| j | d | d t ƒt  j j | t ƒ d  S(   NR    R   (   R   R"   R   R   R   R&   R   R   (   R   R   R$   (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_inplace_roundtripD   s    c         C   s/   t  j j | j j t ƒ | t ƒ d d ƒd  S(   NR   gíµ ÷Æ°>(   R   R   R   R&   R   (   R   R   (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_double_inverseK   s    c         C   s;   t  ƒ  j } t d ƒ } t j j | t ƒ | t ƒ ƒ d  S(   Ni   (   R   R&   R   R   R   R   R   (   R   t	   stretch_1t	   stretch_2(    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_invertedP   s    c         C   sm   t  ƒ  t  ƒ  } t d ƒ } t d ƒ } t j j | t ƒ | t ƒ ƒ t j j | j t ƒ | t ƒ ƒ d  S(   Ng      Ð?g      @(   R   R   R   R   R   R   R&   (   R   R*   R+   t	   stretch_3(    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_chainingV   s    (   t   __name__t
   __module__t   pytestt   markt   parametrizeR   t   keysR   R   R   R%   R'   R(   R)   R,   R.   (    (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyR       s   $'	$$$$$	c          C   s   t  ƒ  }  |  d d d d d g ƒ } t j j | d d d d d g ƒ |  d d d d d g d t ƒ} t j j | t j d d d d g ƒ d  S(	   Ng      ð¿g        g      à?g      ð?g      ø?gß'Üež æ?R   g#ß Ž˜ó?(   R   R   R   R   R   t   nan(   R   t   values(    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   test_clip_invalidb   s
    	"!(   R1   t   numpyR   R   R    R   R   R   R   R   R   R   R   R	   t   arrayR   R   t   objectR   R7   (    (    (    sG   lib/python2.7/site-packages/astropy/visualization/tests/test_stretch.pyt   <module>   s*   F%%%(%%%%B