ó
 ‰\c           @   sÍ   d  d l  Z d  d l m Z d  d l m Z m Z d  d l m Z m	 Z	 d  d l
 m Z d  d l m Z d  d l m Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿN(   t   assert_allclose(   t   register_translationt   _upsampled_dft(   t   camerat   binary_blobs(   t   fourier_shift(   t   img_as_float(   t   testingc          C   sg   t  j j t ƒ  ƒ }  d } t |  | ƒ } t |  | d d ƒ\ } } } t | d  t  j | ƒ ƒ d  S(   Niùÿÿÿi   t   spacet   fourieri   (   iùÿÿÿi   (   t   npt   fftt   fftnR   R   R   R    t   array(   t   reference_imaget   shiftt   shifted_imaget   resultt   errort	   diffphase(    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_correlation   s    c          C   sp   t  j j t ƒ  ƒ }  d	 } t |  | ƒ } t |  | d d d ƒ\ } } } t | d  t  j | ƒ d d ƒd  S(
   Ng333333Àg…ëQ¸õ?id   R   R	   i   t   atolgš™™™™™©?(   g333333Àg…ëQ¸õ?(   R
   R   R   R   R   R   R    R   (   R   t   subpixel_shiftR   R   R   R   (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_subpixel_precision   s    	c          C   s|   t  ƒ  }  d } t t j j |  ƒ | ƒ } t j j | ƒ } t |  | d ƒ \ } } } t | d  t j | ƒ d d ƒd  S(   Ng333333Àg…ëQ¸õ?id   i   R   gš™™™™™©?(   g333333Àg…ëQ¸õ?(	   R   R   R
   R   R   t   ifftnR   R    R   (   R   R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_real_input$   s    	c          C   s‰   t  j j t ƒ  d  d  … d f ƒ j d ƒ }  d } t |  | ƒ } t |  | d d d ƒ\ } } } t | d	  t  j d ƒ d d ƒd  S(   Ni   iÿÿÿÿi   g333333Ài   id   R   R	   i   i    R   gš™™™™™©?(   iÿÿÿÿi   (   g333333Ài   (   g333333Ài    (	   R
   R   R   R   t   reshapeR   R   R    R   (   R   R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_size_one_dimension_input0   s    .	c          C   s   t  t d d d d ƒ ƒ }  t j j |  ƒ } d } t | | ƒ } t | | d d	 ƒ\ } } } t | t j | ƒ d
 d ƒd } t | | ƒ } t | | d d	 ƒ\ } } } t | t j | ƒ d
 d ƒt	 j
 t ƒ  t | | d d d d	 ƒWd  QXd  S(   Nt   lengthi    t   n_dimi   g       Àg      ð?g      @R   R	   R   gš™™™™™©?gffffffÀg      à?t   upsample_factorid   (   g       Àg      ð?g      @(   gffffffÀg      ð?g      @(   R   R   R
   R   R   R   R   R    R   R   t   raisest   NotImplementedError(   t   phantomR   R   R   R   R   R   R   (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_3d_input=   s&    c       	   C   s<   t  j d ƒ }  t j t ƒ  t |  |  d d ƒWd  QXd  S(   Ni   R   t   frank(   i   i   (   R
   t   onesR   R   t
   ValueErrorR   (   t   image(    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_unknown_space_inputU   s
    	c       	   C   sÊ   t  j d ƒ }  t  j d ƒ } t j t ƒ  t | |  ƒ Wd  QXt  j d ƒ }  t  j d ƒ } t j t ƒ  t | |  d ƒ Wd  QXt  j d	 ƒ }  t  j d
 ƒ } t j t ƒ  t | |  ƒ Wd  QXd  S(   Ni   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    (   R&   t   template(    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_wrong_input]   s    c           C   s?   t  j t ƒ * t t j d ƒ d d d d d g ƒWd  QXd  S(   Ni   t   upsampled_region_sizei   i   i   (   i   i   (   R   R   R%   R   R
   R$   (    (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt#   test_mismatch_upsampled_region_sizer   s    c           C   sB   t  j t ƒ - t t j d ƒ d d d d d d g ƒWd  QXd  S(   Ni   i   t   axis_offsetsi   i   (   i   i   (   R   R   R%   R   R
   R$   (    (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   test_mismatch_offsets_sizey   s    (   t   numpyR
   t   skimage._shared.testingR    t$   skimage.feature.register_translationR   R   t   skimage.dataR   R   t   scipy.ndimageR   t   skimageR   t   skimage._sharedR   R   R   R   R   R"   R'   R)   R+   R-   (    (    (    sN   lib/python2.7/site-packages/skimage/feature/tests/test_register_translation.pyt   <module>   s   								