ó
 ‰\c           @   s  d  d l  Z  d  d l Z d  d l m Z d  d l m Z d  d l m Z d  d l	 m
 Z
 m Z m Z d  d l m Z e j ƒ  Z e 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 S(   iÿÿÿÿN(   t   data(   t   pyramids(   t   testing(   t   assert_array_equalt   assert_t   assert_equal(   t   expected_warnings.i    c          C   sb   t  j \ }  } } t d g ƒ  t j t  d d ƒ} Wd  QXt | j |  d | d | f ƒ d  S(   Ns   The default multichannelt	   downscalei   (   t   imaget   shapeR   R   t   pyramid_reduceR   (   t   rowst   colst   dimt   out(    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_reduce_rgb   s    c          C   s\   t  j \ }  } t d g ƒ  t j t  d d ƒ} Wd  QXt | j |  d | d f ƒ d  S(   Ns   The default multichannelR   i   (   t
   image_grayR	   R   R   R
   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_reduce_gray   s    c          C   sx   xq d d d d g D]] }  t  j j d |  Œ  } t j | d d d t ƒ} t  j | j ƒ d } t | j | ƒ q Wd  S(	   Ni   i   i   i   i   R   t   multichannel(   i   (	   t   npt   randomt   randnR   R
   t   Falset   asarrayR	   R   (   t   ndimt   imgR   t   expected_shape(    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_reduce_nd   s    	c          C   sb   t  j \ }  } } t d g ƒ  t j t  d d ƒ} Wd  QXt | j |  d | d | f ƒ d  S(   Ns   The default multichannelt   upscalei   (   R   R	   R   R   t   pyramid_expandR   (   R   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_expand_rgb&   s    c          C   s\   t  j \ }  } t d g ƒ  t j t  d d ƒ} Wd  QXt | j |  d | d f ƒ d  S(   Ns   The default multichannelR   i   (   R   R	   R   R   R   R   (   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_expand_gray-   s    c          C   sx   xq d d d d g D]] }  t  j j d |  Œ  } t j | d d d t ƒ} t  j | j ƒ d } t | j | ƒ q Wd  S(   Ni   i   i   i   R   R   (   i   (	   R   R   R   R   R   R   R   R	   R   (   R   R   R   R   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_pyramid_expand_nd4   s    	c       	   C   s   t  j \ }  } } t d g ƒ f t j t  d d ƒ} xI t | ƒ D]; \ } } |  d | | d | | f } t | j | ƒ qD WWd  QXd  S(   Ns   The default multichannelR   i   (   R   R	   R   R   t   pyramid_gaussiant	   enumerateR   (   R   R   R   t   pyramidt   layerR   t   layer_shape(    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_build_gaussian_pyramid_rgb=   s    c       	   C   s‡   t  j \ }  } t d g ƒ c t j t  d d ƒ} xF t | ƒ D]8 \ } } |  d | | d | f } t | j | ƒ qA WWd  QXd  S(   Ns   The default multichannelR   i   (   R   R	   R   R   R!   R"   R   (   R   R   R#   R$   R   R%   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt    test_build_gaussian_pyramid_grayF   s    c          C   sŸ   x˜ d d d d g D]„ }  t  j j d |  Œ  } t  j | j ƒ } t j | d d d t ƒ} x8 t | ƒ D]* \ } } | d | } t	 | j | ƒ qi Wq Wd  S(	   Ni   i   i   i   i   R   R   (   i   (
   R   R   R   R   R	   R   R!   R   R"   R   (   R   R   t   original_shapeR#   R$   R   R%   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_build_gaussian_pyramid_ndO   s    	c       	   C   s   t  j \ }  } } t d g ƒ f t j t  d d ƒ} xI t | ƒ D]; \ } } |  d | | d | | f } t | j | ƒ qD WWd  QXd  S(   Ns   The default multichannelR   i   (   R   R	   R   R   t   pyramid_laplacianR"   R   (   R   R   R   R#   R$   R   R%   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt    test_build_laplacian_pyramid_rgbZ   s    c          C   s§   x  d d d d g D]Œ }  t  j j d |  Œ  } t  j | j ƒ } t j | d d d t ƒ} x@ t | ƒ D]2 \ } } | j GH| d | } t	 | j | ƒ qi Wq Wd  S(	   Ni   i   i   i   i   R   R   (   i   (
   R   R   R   R   R	   R   R*   R   R"   R   (   R   R   R(   R#   R$   R   R%   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_build_laplacian_pyramid_ndc   s    	c          C   sã   xÜ d d d d g D]È }  t  j j d d ƒ } t j | d |  d t ƒ} t t  j t j	 t  j
 | j ƒ |  ƒ ƒ ƒ } xE t | ƒ D]7 \ } } | | k  rƒ t t  j
 | j ƒ d	 k ƒ qƒ qƒ Wt | | ƒ t | j d
 ƒ q Wd  S(   Ni   i   i   i   i    i   R   R   i   (   i   i   (   R   R   R   R   R*   R   t   intt   ceilt   matht   logt   maxR	   R"   R   R   R   (   R   R   R#   t	   max_layerR$   R   (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt!   test_laplacian_pyramid_max_layerso   s    	-#c           C   sJ   t  j t ƒ  t j d ƒ Wd  QXt  j t ƒ  t j d ƒ Wd  QXd  S(   Ng®Gáz®ï?iþÿÿÿ(   R   t   raisest
   ValueErrorR   t   _check_factor(    (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   test_check_factor   s    (   .i    (   R/   t   numpyR   t   skimageR    t   skimage.transformR   t   skimage._sharedR   t   skimage._shared.testingR   R   R   t   skimage._shared._warningsR   t	   astronautR   R   R   R   R   R   R   R    R&   R'   R)   R+   R,   R3   R7   (    (    (    sD   lib/python2.7/site-packages/skimage/transform/tests/test_pyramids.pyt   <module>   s*   
																	