ó
 \c           @   sk  d  d l  Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 m
 Z
 m Z m Z m Z d  d l m Z y d  d l Z e d  Wn e k
 rİ e Z n Xe Z e j j d  d   Z d	   Z e j e d
 d d    Z e j e d
 d d    Z e j e d
 d d    Z e j e d
 d d    Z d e j f d     YZ  d S(   i˙˙˙˙N(   t   NamedTemporaryFile(   t   data_dir(   t   imreadt   imsavet
   use_plugint   reset_plugins(   t   testingt	   simpleitki    c           C   s   t    d  S(   N(   R   (    (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   teardown   s    c         C   s&   y t  d  Wn t k
 r! n Xd S(   s   The effect of the `plugin.use` call may be overridden by later imports.
    Call `use_plugin` directly before the tests to ensure that sitk is used.

    R   N(   R   t   ImportError(   t   self(    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   setup_module   s    t   reasons   simpletk not installedc          C   s   t  t j j t d  d t }  |  j d k s6 t  |  j t	 j
 k sN t  t  t j j t d  d t }  t	 j |  j  t	 j d k s t  d  S(   Ns	   color.pngt   flatteni   s
   camera.pngt
   AllInteger(   R   t   ost   patht   joinR   t   Truet   ndimt   AssertionErrort   dtypet   npt   float64t   sctype2chart	   typecodes(   t   img(    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   test_imread_flatten%   s
    !!c          C   sT   t  j d  }  d |  d  d  d  <t t j j t d   } t  j j | |   d  S(   Ni
   i˙   i   s   checker_bilevel.png(   i
   i
   (	   R   t   zerosR   R   R   R   R   R   t   assert_array_equal(   t   expectedR   (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   test_bilevel0   s    c          C   sn   t  j t j j t d   }  t t j j t d   } t  j | j t  j	  sW t
  t  j j | |   d  S(   Ns   chessboard_GRAY_U8.npys   chessboard_GRAY_U16.tif(   R   t   loadR   R   R   R   R   t
   issubdtypeR   t   uint16R   R   t   assert_array_almost_equal(   R   R   (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   test_imread_uint16B   s    c          C   sP   t  j t j j t d   }  t t j j t d   } t  j j | |   d  S(   Ns   chessboard_GRAY_U8.npys   chessboard_GRAY_U16B.tif(	   R   R    R   R   R   R   R   R   R#   (   R   R   (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   test_imread_uint16_big_endianJ   s    t   TestSavec           B   s0   e  Z d    Z e j e d d d    Z RS(   c         C   sR   t  d d  } | j } | j   t | |  t |  } t j j | |  d  S(   Nt   suffixs   .mha(   R    t   namet   closeR   R   R   R   R#   (   R
   R   t   xt   ft   fnamet   y(    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt	   roundtripR   s    	
R   s   simpletk not installedc         c   sı   x² d d d g D]Ħ } x t  j t  j t  j t  j f D]x } t  j | d | t  j j |   } t  j | t  j	  r |  j
 | | f Vq5 | d j |  } |  j
 | | f Vq5 Wq Wd  S(	   Ni
   i   i   R   i˙   (   i
   i
   (   i
   i
   i   (   i
   i
   i   (   R   t   uint8R"   t   float32R   t   onest   randomt   randR!   t   floatingR.   t   astype(   R
   t   shapeR   R*   (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   test_imsave_roundtrip[   s    %%(   t   __name__t
   __module__R.   R   t   skipift   sitk_availableR7   (    (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyR&   Q   s   		(!   t   os.pathR   t   numpyR   t   unittestt   tempfileR    t   skimageR   t
   skimage.ioR   R   R   R   t   skimage._sharedR   t	   SimpleITKt   sitkR	   t   FalseR;   R   R2   t   seedR   R   R:   R   R   R$   R%   t   TestCaseR&   (    (    (    s>   lib/python2.7/site-packages/skimage/io/tests/test_simpleitk.pyt   <module>   s(   "
		