ó
ö™xTc           @   sü   d  d l  m Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ	 d e f d „  ƒ  YZ
 d e f d „  ƒ  YZ e d k rø e ƒ  Z e j ƒ  n  d S(   iÿÿÿÿ(   t   divisiont   TestMultiFileStatec           B   s5   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   t   self(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   __init__   s    c   	      C   s·   d d  l  } d d  l } y | j j d ƒ } Wn" t k
 rR } d GHt d ƒ n X| j j | d ƒ } g  } t d d ƒ } x3 | D]+ } | j	 | j j | d j
 | ƒ ƒ ƒ q„ W| S(	   Niÿÿÿÿt   dials_regressions%   FAIL: dials_regression not configuredi    t   centroid_test_datai   i
   s   centroid_000{0}.cbf(   t   libtbx.load_envt   ost   envt	   dist_patht   KeyErrort   exitt   patht   joint   ranget   appendt   format(	   R   t   libtbxR   R   t   eR   t	   filenamest   image_indicest   i(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   get_filenames   s    )c         C   so   d d l  m } d d l m } |  j ƒ  } | j | d ƒ } | | ƒ } |  j | | ƒ |  j | | ƒ d  S(   Niÿÿÿÿ(   t   MultiFileState(   t   Registryi    (   t   dxtbx.imagesetR   t   dxtbx.format.RegistryR   R   t   findt   tst_format_classt   tst_load_file(   R   R   R   R   t   format_classt   state(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   run   s    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   Nt   OK(   R   t   AssertionError(   R   R   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   -   s    c         C   s'   x | D] } | j  | ƒ q Wd GHd  S(   NR!   (   t	   load_file(   R   R   R   t   f(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   1   s    (   t   __name__t
   __module__R   R   R    R   R   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR      s
   				t   TestSweepFileListc           B   sk   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   8   s    c         C   s¾   d d l  m } d d
 } } d } | | | ƒ } |  j | d	 ƒ |  j | | ƒ |  j | | ƒ |  j | t | Œ  ƒ |  j | ƒ |  j | ƒ |  j	 | ƒ |  j
 | ƒ |  j | ƒ d  S(   Niÿÿÿÿ(   t   SweepFileLists
   %s%%0%dd%st   filenamei   s   .cbfi   i2   i   (   s   filenamei   s   .cbf(   i   i2   (   R   R(   t   tst_lent   tst_templatet   tst_array_ranget   tst_indicesR   t   tst_is_index_in_ranget   tst_get_filenamet   tst_get_itemt   tst_itert   tst_cmp(   R   R(   t   templatet   array_ranget   filelist(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    ;   s    c         C   s!   t  | ƒ | k s t ‚ d GHd  S(   NR!   (   t   lenR"   (   R   R5   t   length(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR*   P   s    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   NR!   (   R3   R"   (   R   R5   R3   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR+   T   s    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   NR!   (   R4   R"   (   R   R5   R4   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR,   X   s    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   NR!   (   t   indicesR"   (   R   R5   R8   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR-   \   s    c         C   sÔ   | j  ƒ  } x> t | d d | d ƒ D]! } | j | ƒ t k s( t ‚ q( Wx: t | d | d ƒ D]! } | j | ƒ t k se t ‚ qe Wx> t | d | d d ƒ D]! } | j | ƒ t k s¦ t ‚ q¦ Wd GHd  S(   Ni    i
   i   R!   (   R4   R   t   is_index_in_ranget   FalseR"   t   True(   R   R5   R4   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR.   `   s    ""c         C   s  | j  ƒ  } | j ƒ  } | d d } | d } | d | d d } y | j | ƒ } t sd t ‚ Wn$ t k
 r{ ‚  n t k
 r‹ n Xy | j | ƒ } t sª t ‚ Wn$ t k
 rÁ ‚  n t k
 rÑ n X| j | ƒ } | | | d k sû t ‚ d GHd  S(   Ni    i   i   R!   (   R3   R4   t   get_filenameR:   R"   t	   Exception(   R   R5   R3   R4   t   too_lowt   too_hight
   just_rightR)   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR/   j   s,    
c         C   sñ   | j  ƒ  } | j ƒ  } d } t | ƒ } t | ƒ d } y | | } t sS t ‚ Wn$ t k
 rj ‚  n t k
 rz n Xy | | } t s” t ‚ Wn$ t k
 r« ‚  n t k
 r» n X| | } | | | d | d k sè t ‚ d GHd  S(   Niÿÿÿÿi   i    i   R!   (   R3   R4   R6   R:   R"   R=   (   R   R5   R3   R4   R>   R?   R@   R)   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR0   ‚   s,    


"c         C   s`   | j  ƒ  } | j ƒ  } x< t | ƒ D]. \ } } | | | d | d k s% t ‚ q% Wd GHd  S(   Ni    i   R!   (   R3   R4   t	   enumerateR"   (   R   R5   R3   R4   t   indexR)   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR1   š   s
    &c         C   sÊ   d d l  m } | | k s" t ‚ d d } } d } | | | ƒ } | | k sW t ‚ d d } } d } | | | ƒ } | | k sŒ t ‚ d d } } d } | | | ƒ } | | k sÁ t ‚ d GHd  S(   Niÿÿÿÿ(   R(   s
   %s%%0%dd%sR)   i   s   .cbfi    i
   t	   filename2i   i2   R!   (   s   filenamei   s   .cbf(   i    i
   (   RC   i   s   .cbf(   i   i2   (   s   filenamei   s   .cbf(   i   i2   (   R   R(   R"   (   R   R5   R(   R3   R4   t	   filelist2t	   filelist3t	   filelist4(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR2   ¡   s    (   R%   R&   R   R    R*   R+   R,   R-   R.   R/   R0   R1   R2   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR'   7   s   							
			t   TestMultiFileReaderc           B   s�   e  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 „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   º   s    c   	      C   s®   d d  l  } d d  l } y | j j d ƒ } Wn t k
 rI } d GHd  SX| j j | d ƒ } g  } t d d ƒ } x3 | D]+ } | j | j j | d j	 | ƒ ƒ ƒ q{ W| S(   NiÿÿÿÿR   s%   FAIL: dials_regression not configuredR   i   i
   s   centroid_000{0}.cbf(
   R   R   R   R	   R
   R   R   R   R   R   (	   R   R   R   R   R   R   R   R   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   normal_file_list½   s    )c   
      C   s�   d d  l  } d d  l } d d l m } y | j j d ƒ } Wn t k
 rY } d GHd  SX| j j | d ƒ } | j j | d ƒ } d	 } | | | ƒ }	 |	 S(
   Niÿÿÿÿ(   R(   R   s%   FAIL: dials_regression not configuredR   s   centroid_%04d.cbfi    i	   (   i    i	   (	   R   R   R   R(   R   R	   R
   R   R   (
   R   R   R   R(   R   R   R   R3   R4   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   sweep_file_listÑ   s    c         C   s*   |  j  |  j ƒ  ƒ |  j  |  j ƒ  ƒ d  S(   N(   t	   run_testsRH   RI   (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    æ   s    c         C   sÄ   d d l  m } d d l m } | j | d ƒ } | | | ƒ } |  j | | ƒ |  j | | ƒ |  j | ƒ |  j | | ƒ |  j	 | ƒ |  j
 | ƒ |  j | ƒ |  j | ƒ |  j | ƒ d  S(   Niÿÿÿÿ(   t   MultiFileReader(   R   i    (   R   RK   R   R   R   t   tst_get_image_pathst   tst_get_format_classt   tst_get_image_sizet   tst_get_patht   tst_get_detectorbaset   tst_get_modelst   tst_readt   tst_get_formatt   tst_is_valid(   R   R   RK   R   R   t   reader(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRJ   ê   s    c         C   se   | j  ƒ  } t | ƒ t | ƒ k s* t ‚ x/ t | | ƒ D] \ } } | | k s: t ‚ q: Wd GHd  S(   NR!   (   t   get_image_pathsR6   R"   t   zip(   R   RU   R   t
   filenames2t   f1t   f2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRL      s
    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   NR!   (   t   get_format_classR"   (   R   RU   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRM     s    c         C   s[   | j  ƒ  } xH t d t | j ƒ  ƒ ƒ D]+ } | j | ƒ | | j  ƒ  k s( t ‚ q( Wd  S(   Ni    (   t   get_image_sizeR   R6   RV   t   readR"   (   R   RU   t
   image_sizeRB   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRN     s    "c         C   sE   x9 t  t | ƒ ƒ D]% } | j | ƒ | | k s t ‚ q Wd GHd  S(   NR!   (   R   R6   t   get_pathR"   (   R   RU   R   RB   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRO     s    #c         C   s^   | j  ƒ  | j  d ƒ | j  d ƒ y | j  d ƒ t s@ t ‚ Wn t k
 rT n Xd GHd  S(   Ni    i   i	   R!   (   t   get_detectorbaseR:   R"   t
   IndexError(   R   RU   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRP     s    
c         C   sm   |  j  | d  ƒ |  j  | d ƒ |  j  | d ƒ y  |  j  | d ƒ t sO t ‚ Wn t k
 rc n Xd GHd  S(   Ni    i   i	   R!   (   t   tst_get_models_indext   NoneR:   R"   Ra   (   R   RU   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRQ   !  s    c         C   s8   | j  | ƒ | j | ƒ | j | ƒ | j | ƒ d  S(   N(   t   get_detectort   get_goniometert   get_beamt   get_scan(   R   RU   RB   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRb   ,  s    c         C   sm   x0 t  d t | j ƒ  ƒ ƒ D] } | j | ƒ q Wy | j d ƒ t sO t ‚ Wn t k
 rc n Xd GHd  S(   Ni    i	   R!   (   R   R6   RV   R]   R:   R"   Ra   (   R   RU   RB   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRR   2  s    "c         C   s^   | j  ƒ  | j  d ƒ | j  d ƒ y | j  d ƒ t s@ t ‚ Wn t k
 rT n Xd GHd  S(   Ni    i   i	   R!   (   t
   get_formatR:   R"   Ra   (   R   RU   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRS   <  s    
c         C   s‹   | j  ƒ  t k s t ‚ | j  d d d d g ƒ t k s? t ‚ | j  d d d d g ƒ t k sf t ‚ | j  d	 d
 g ƒ t k s‡ t ‚ d  S(   Ni    i   i   i   i   i   i   i   i	   i
   (   t   is_validR;   R"   R:   (   R   RU   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRT   G  s    ''(   R%   R&   R   RH   RI   R    RJ   RL   RM   RN   RO   RP   RQ   Rb   RR   RS   RT   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRG   ¸   s   													
	t   TestImageSetc           B   s€   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d d „ Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   P  s    c   	      C   s®   d d  l  } d d  l } y | j j d ƒ } Wn t k
 rI } d GHd  SX| j j | d ƒ } g  } t d d ƒ } x3 | D]+ } | j | j j | d j	 | ƒ ƒ ƒ q{ W| S(   NiÿÿÿÿR   s%   FAIL: dials_regression not configuredR   i   i
   s   centroid_000{0}.cbf(
   R   R   R   R	   R
   R   R   R   R   R   (	   R   R   R   R   R   R   R   R   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   get_file_listS  s    )c         C   s  d d l  m } m } d d l m } |  j ƒ  } | j | d ƒ } | | | ƒ } | | ƒ } |  j | ƒ |  j | t	 | ƒ ƒ |  j
 | ƒ |  j | t d d ƒ ƒ |  j | | ƒ |  j | ƒ |  j | t t	 | ƒ ƒ d ƒ |  j | t t	 | ƒ ƒ d ƒ d  S(   Niÿÿÿÿ(   RK   t   ImageSet(   R   i    i	   (   R   RK   Rl   R   R   Rk   R   R0   R*   R6   R1   R-   R   t	   tst_pathsRT   RP   RQ   (   R   RK   Rl   R   R   R   RU   t   imageset(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    g  s    c         C   s
  | d } y | d } t  s# t ‚ Wn t k
 r7 n X| d d !} | d } y | d } t  sh t ‚ Wn t k
 r| n X|  j | d ƒ |  j | ƒ |  j | t d d ƒ d ƒ |  j | t d d ƒ d ƒ |  j | | j	 ƒ  d d !ƒ |  j
 | t d d ƒ ƒ |  j | ƒ | d d d … } | d } y | d } t  sKt ‚ Wn t k
 r_n X|  j | d ƒ |  j | ƒ |  j | t d d ƒ d ƒ |  j | t d d ƒ d ƒ |  j | | j	 ƒ  d d d … ƒ |  j
 | t d d d ƒ ƒ |  j | ƒ d GHd  S(	   Ni    i	   i   i   i   i   i   R!   (   R:   R"   Ra   R*   RT   RP   R   RQ   Rm   t   pathsR-   R1   (   R   Rn   t   imaget	   imageset2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR0   �  sF    





#c         C   s!   t  | ƒ | k s t ‚ d GHd  S(   NR!   (   R6   R"   (   R   Rn   R7   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR*   «  s    c         C   s   x | D] } q Wd GHd  S(   NR!   (    (   R   Rn   Rp   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR1   ¯  s    c         C   sG   | j  ƒ  } x/ t | | ƒ D] \ } } | | k s t ‚ q Wd GHd  S(   NR!   (   R8   RW   R"   (   R   Rn   t   indices2t   indices1t   i1t   i2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR-   ´  s    c         C   sG   | j  ƒ  } x/ t | | ƒ D] \ } } | | k s t ‚ q Wd GHd  S(   NR!   (   Ro   RW   R"   (   R   Rn   t
   filenames1RX   RY   RZ   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRm   º  s    c         C   s!   | j  ƒ  t k s t ‚ d GHd  S(   NR!   (   Ri   R;   R"   (   R   Rn   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRT   À  s    c         C   sX   x | D] } | j  | ƒ q Wy | j  | ƒ t s: t ‚ Wn t k
 rN n Xd GHd  S(   NR!   (   R`   R:   R"   Ra   (   R   Rn   R8   t   outside_indexR   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRP   Ä  s    c         C   sk   |  j  | ƒ x | D] } |  j  | | ƒ q Wy  |  j  | | ƒ t sM t ‚ Wn t k
 ra n Xd GHd  S(   NR!   (   Rb   R:   R"   Ra   (   R   Rn   R8   Rw   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRQ   Ï  s    c         C   s   | j  | ƒ | j | ƒ d  S(   N(   Rd   Rf   (   R   Rn   RB   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRb   Û  s    c   
      C   sÿ   d d l  m } m } m } | d
 d ƒ } | | d d d d d d d d ƒ ƒ } | j | ƒ | j | ƒ x | D] } qs W| j ƒ  } | j ƒ  }	 | | k s§ t ‚ |	 | k s¹ t ‚ | j d ƒ } | j d ƒ }	 | | k sé t ‚ |	 | k sû t ‚ d  S(   Niÿÿÿÿ(   t   Beamt   Detectort   Paneli   i    g      à?t   UNKNOWNRz   gš™™™™™¹?iè  (   i   i    i    (   i   i    i    (   i    i   i    (   i    i    i   (   gš™™™™™¹?gš™™™™™¹?(   iè  iè  (   i    i   (	   t   dxtbx.modelRx   Ry   Rz   t   set_beamt   set_detectorRf   Rd   R"   (
   R   Rn   Rx   Ry   Rz   t   beamt   detectorR   t   beam2t	   detector2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   tst_set_modelsß  s"    	N(   R%   R&   R   Rk   R    R0   R*   R1   R-   Rm   RT   RP   RQ   Rc   Rb   Rƒ   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRj   N  s   				*							t   TestImageSweepc           B   s­   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   ÿ  s    c   
      C   s�   d d  l  } d d  l } d d l m } y | j j d ƒ } Wn t k
 rY } d GHd  SX| j j | d ƒ } | j j | d ƒ } d	 } | | | ƒ }	 |	 S(
   Niÿÿÿÿ(   R(   R   s%   FAIL: dials_regression not configuredR   s   centroid_%04d.cbfi    i	   (   i    i	   (	   R   R   R   R(   R   R	   R
   R   R   (
   R   R   R   R(   R   R   R   R3   R4   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRk     s    c      	   C   s8  d d l  m } m } d d l m } |  j ƒ  } | j | d ƒ } | | | ƒ } | | ƒ } |  j | ƒ |  j | t	 | ƒ ƒ |  j
 | ƒ |  j | t d d ƒ ƒ |  j | | ƒ |  j | ƒ |  j | t t	 | ƒ ƒ d ƒ |  j | t t	 | ƒ ƒ d ƒ |  j | d ƒ |  j | d d ƒ |  j | ƒ d  S(   Niÿÿÿÿ(   RK   t
   ImageSweep(   R   i    i	   i   i   i2   id   iÈ   (   i    i	   (   i   i   (   i   i   i2   id   id   iÈ   (   R   RK   R…   R   R   Rk   R   R0   R*   R6   R1   R-   R   Rm   RT   RP   RQ   t   tst_get_array_ranget   tst_to_arrayRƒ   (   R   RK   R…   R   R   R   RU   t   sweep(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR      s"    c      	   C   sx  | d } y | d } t  s# t ‚ Wn t k
 r7 n X| d d !} | d } y | d } t  sh t ‚ Wn t k
 r| n X|  j | d ƒ |  j | ƒ |  j | t d d ƒ d ƒ |  j | t d d ƒ d ƒ |  j | | j	 ƒ  d d !ƒ |  j
 | t d d ƒ ƒ |  j | ƒ |  j | d ƒ |  j | d d ƒ y# | d d d … } t  sZt ‚ Wn t k
 rnn Xd GHd  S(   Ni    i	   i   i   i   i   i   i2   id   iÈ   i   R!   (   i   i   (   i   i   (   i   i   i2   id   id   iÈ   (   R:   R"   Ra   R*   RT   RP   R   RQ   Rm   Ro   R-   R1   R†   R‡   (   R   Rˆ   Rp   t   sweep2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR0   4  s8    



c         C   s!   t  | ƒ | k s t ‚ d GHd  S(   NR!   (   R6   R"   (   R   Rˆ   R7   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR*   V  s    c         C   s   x | D] } q Wd GHd  S(   NR!   (    (   R   Rˆ   Rp   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR1   Z  s    c         C   sG   | j  ƒ  } x/ t | | ƒ D] \ } } | | k s t ‚ q Wd GHd  S(   NR!   (   R8   RW   R"   (   R   Rˆ   Rr   Rs   Rt   Ru   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR-   _  s    c         C   sG   | j  ƒ  } x/ t | | ƒ D] \ } } | | k s t ‚ q Wd GHd  S(   NR!   (   Ro   RW   R"   (   R   Rˆ   Rv   RX   RY   RZ   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRm   e  s    c         C   s!   | j  ƒ  t k s t ‚ d GHd  S(   NR!   (   Ri   R;   R"   (   R   Rˆ   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRT   k  s    c         C   sX   x | D] } | j  | ƒ q Wy | j  | ƒ t s: t ‚ Wn t k
 rN n Xd GHd  S(   NR!   (   R`   R:   R"   Ra   (   R   Rˆ   R8   Rw   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRP   o  s    c         C   sk   |  j  | ƒ x | D] } |  j  | | ƒ q Wy  |  j  | | ƒ t sM t ‚ Wn t k
 ra n Xd GHd  S(   NR!   (   Rb   R:   R"   Ra   (   R   Rˆ   R8   Rw   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRQ   z  s    c         C   s�   | j  | ƒ | j | ƒ | j | ƒ | j | ƒ | d | j ƒ  } | t | ƒ d | j ƒ  } | | k sx t ‚ d GHd  S(   Ni    i   R!   (   Rd   Rf   Re   Rg   R6   R"   (   R   Rˆ   RB   t   scan1t   scan2(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRb   †  s    c         C   s!   | j  ƒ  | k s t ‚ d GHd  S(   NR!   (   t   get_array_rangeR"   (   R   Rˆ   R4   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR†   •  s    c         C   s6   |  j  | ƒ |  j | | ƒ |  j | | ƒ d GHd  S(   NR!   (   t   tst_to_array_allt   tst_to_array_num_framest   tst_to_array_sub_section(   R   Rˆ   R4   t   sub_section(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR‡   ™  s    c         C   sV   | j  ƒ  } | j ƒ  } t | ƒ } | j ƒ  | | d | d f k sM t ‚ d GHd  S(   Ni   i    R!   (   t   to_arrayR\   R6   t   allR"   (   R   Rˆ   t   volumeR^   t
   num_frames(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR�   Ÿ  s
    )c         C   sT   | j  | ƒ } | j ƒ  } | j ƒ  | d | d | d | d f k sP t ‚ d  S(   Ni   i    (   R‘   R\   R’   R"   (   R   Rˆ   R4   R“   R^   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRŽ   ¦  s    c         C   s^   | j  | ƒ } | d | d | d | d | d | d f } | j ƒ  | k sZ t ‚ d  S(   Ni   i    i   i   i   i   (   R‘   R’   R"   (   R   Rˆ   R�   R“   t   size(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR�   ¬  s
    c         C   sL  d d l  m } m } m } | j ƒ  } | j ƒ  } | j ƒ  } t | ƒ d k sX t ‚ | j	 d ƒ | j
 d ƒ | d j d	 d
 d ƒ | j | ƒ | j | ƒ | j | ƒ x | D] } q· W| j ƒ  }	 | j ƒ  }
 | j ƒ  } |	 | k s÷ t ‚ |
 | k s	t ‚ | | k st ‚ | j d ƒ }	 | j d ƒ }
 | j d ƒ } |	 | k sZt ‚ |
 | k slt ‚ | | k s~t ‚ | d d !} | j ƒ  }	 | j ƒ  }
 | j ƒ  } |	 | k sÁt ‚ |
 | k sÓt ‚ | | k såt ‚ | j d ƒ }	 | j d ƒ }
 | j d ƒ } |	 | k s$t ‚ |
 | k s6t ‚ | | k sHt ‚ d  S(   Niÿÿÿÿ(   Rx   Ry   Rz   i   i    i   i   (   i   i    i    (   i    i   i    (   i   i    i    (   i    i   i    (   i    i    i   (   R|   Rx   Ry   Rz   Rf   Re   Rd   R6   R"   t   set_directiont   set_rotation_axist   set_local_frameR}   t   set_goniometerR~   (   R   Rˆ   Rx   Ry   Rz   R   t   gonioR€   R   R�   t   gonio2R‚   t	   sub_sweep(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRƒ   ³  sL    N(   R%   R&   R   Rk   R    R0   R*   R1   R-   Rm   RT   RP   RQ   Rc   Rb   R†   R‡   R�   RŽ   R�   Rƒ   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR„   ý  s$   				"												t   TestImageSetFactoryc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   ð  s    c   	      C   s®   d d  l  } d d  l } y | j j d ƒ } Wn t k
 rI } d GHd  SX| j j | d ƒ } g  } t d d ƒ } x3 | D]+ } | j | j j | d j	 | ƒ ƒ ƒ q{ W| S(   NiÿÿÿÿR   s%   FAIL: dials_regression not configuredR   i   i
   s   centroid_000{0}.cbf(
   R   R   R   R	   R
   R   R   R   R   R   (	   R   R   R   R   R   R   R   R   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRk   ó  s    )c         C   sY   d d l  m } m } |  j ƒ  } | j | ƒ } t | d | ƒ t k sP t ‚ d GHd  S(   Niÿÿÿÿ(   t   ImageSetFactoryR…   i    R!   (   R   Rž   R…   Rk   t   newt
   isinstanceR;   R"   (   R   Rž   R…   R   Rˆ   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR      s
    (   R%   R&   R   Rk   R    (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR�   î  s   		t   TestPickleImagesetc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   sÚ   d d  l  } d d  l } y | j j d ƒ } Wn t k
 rI } d GHd  SX| j j | d ƒ } g  } t d d ƒ } x3 | D]+ } | j | j j | d j	 | ƒ ƒ ƒ q{ Wd d l
 m }	 m }
 |	 j | ƒ d	 |  _ d  S(
   NiÿÿÿÿR   s%   FAIL: dials_regression not configuredR   i   i
   s   centroid_000{0}.cbf(   Rž   R…   i    (   R   R   R   R	   R
   R   R   R   R   R   R   Rž   R…   RŸ   Rˆ   (   R   R   R   R   R   R   R   R   R   Rž   R…   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR     s    )c         C   sX   d d l  } d d l } | j ƒ  } | j | | ƒ | j ƒ  | j d ƒ | j | ƒ S(   s%   Pickle to a temp file then un-pickle.iÿÿÿÿNi    (   t   picklet   tempfilet   TemporaryFilet   dumpt   flusht   seekt   load(   R   t   objR¢   R£   t   temp(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   pickle_then_unpickle*  s    
c         C   s
  |  j  d } |  j |  j  ƒ } |  j  j ƒ  | j ƒ  k s@ t ‚ |  j  j ƒ  | j ƒ  k sa t ‚ |  j  j ƒ  | j ƒ  k s‚ t ‚ |  j  j ƒ  | j ƒ  k s£ t ‚ |  j  j ƒ  | j ƒ  k sÄ t ‚ |  j  j ƒ  j	 ƒ  | j ƒ  j	 ƒ  k sñ t ‚ |  j  | k st ‚ d  S(   Ni   (
   Rˆ   R«   t   get_templateR"   RŒ   Rf   Re   Rg   RU   R_   (   R   Rp   R‰   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    :  s    !!!!!-(   R%   R&   R   R«   R    (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR¡     s   		t   TestNullReaderc           B   s#   e  Z d  „  Z d „  Z d „  Z RS(   c         C   s   |  j  ƒ  |  j ƒ  d  S(   N(   t   tst_null_reader_imagesett   tst_null_reader_sweep(   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    L  s    
c   	      C   sÉ  d d l  m } m } d d l m } m } d g } | | ƒ } | | ƒ } y | d t sd t ‚ Wn t k
 r} d GHn X| d d !} d GHt	 | ƒ d k s¨ t ‚ | | k sº t ‚ | j
 ƒ  d g k sÕ t ‚ | j ƒ  sç t ‚ d GHy | j d ƒ t st ‚ Wn t k
 r!d GHn X| j ƒ  | k s:t ‚ | j d ƒ | d k sYt ‚ d GH| j | ƒ  d ƒ | j | ƒ  d ƒ t | j d ƒ | ƒ s¢t ‚ t | j d ƒ | ƒ sÀt ‚ d GHd  S(   Niÿÿÿÿ(   t
   NullReaderRl   (   Rx   Ry   s   hello_world.cbfi    R!   i   (   R   R°   Rl   R|   Rx   Ry   R:   R"   R=   R6   R8   Ri   t   get_image_modelsRo   R_   R}   R~   R    Rf   Rd   (	   R   R°   Rl   Rx   Ry   Ro   RU   Rn   Rq   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR®   P  s<    			c         C   s   d d l  m } m } m } d d l m } m } m } m } d } | d g }	 | | | d ƒ ƒ }
 | |
 ƒ } y | d t	 s‰ t
 ‚ Wn t k
 r¢ d GHn X| d d !} d GHt | ƒ d k sÍ t
 ‚ | | k sß t
 ‚ | j ƒ  d g k sú t
 ‚ | j ƒ  st
 ‚ | j ƒ  | k s$t
 ‚ d GH| j ƒ  |	 k sAt
 ‚ | j d ƒ |	 d k s`t
 ‚ d GH| j | ƒ  ƒ | j | ƒ  ƒ | j | ƒ  ƒ | j | d	 d
 ƒ ƒ t | j ƒ  | ƒ sÆt
 ‚ t | j ƒ  | ƒ sát
 ‚ t | j ƒ  | ƒ süt
 ‚ t | j ƒ  | ƒ st
 ‚ d GHd  S(   Niÿÿÿÿ(   R°   R…   R(   (   Rx   Ry   t
   Goniometert   Scans   hello_world_%d.cbfi   i    R!   (   i    i   (   i   i   (   i    i   (   R   R°   R…   R(   R|   Rx   Ry   R²   R³   R:   R"   R=   R6   R8   Ri   R¬   Ro   R_   R}   R~   R™   t   set_scanR    Rf   Rd   Re   Rg   (   R   R°   R…   R(   Rx   Ry   R²   R³   R3   Ro   RU   Rn   Rq   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR¯   €  s>    "	(   R%   R&   R    R®   R¯   (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR­   J  s   		0t
   TestRunnerc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   d  S(   N(    (   R   (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR   ²  s    c         C   sœ   t  ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  t ƒ  } | j ƒ  d  S(   N(	   R   R    R'   RG   R­   Rj   R„   R�   R¡   (   R   t   test(    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyR    µ  s     	
	
	
	
	
	
	
	(   R%   R&   R   R    (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyRµ   °  s   	t   __main__N(   t
   __future__R    t   objectR   R'   RG   Rj   R„   R�   R¡   R­   Rµ   R%   t   runnerR    (    (    (    sF   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/tst_imageset.pyt   <module>   s   4�–¯ñ%7f&	