ó
ö™xTc           @   sL   d  d l  m Z d e f d „  ƒ  YZ e d k rH e ƒ  Z e j ƒ  n  d S(   iÿÿÿÿ(   t   divisiont   Testc           B   sY   e  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(    (   t   self(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyt   __init__   s    c         C   sJ   |  j  ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  |  j ƒ  d  S(   N(   t   tst_beamt   tst_detectort   tst_goniometert   tst_scant	   tst_sweept   tst_cspad_hierarchyt   tst_no_image_data(   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyt   run   s    





c         C   s†  d d l  m } d d l m } | d d d d ƒ } | j | ƒ } | j | ƒ } | d d k si t ‚ | d	 d k s t ‚ t | d
 d ƒ d k sŸ t ‚ t | d d ƒ d k s¿ t ‚ | | k sÑ t ‚ i d d 6d d
 6} | j | | ƒ } | j ƒ  d k st ‚ | j	 ƒ  d k s't ‚ t | j
 ƒ  d ƒ d k sIt ‚ t | j ƒ  d ƒ d k skt ‚ | | k s}t ‚ d GHd  S(   Niÿÿÿÿ(   t   beam(   t   Beami   i    i   gš™™™™™¹?t	   directiont
   wavelengtht
   divergencegH¯¼šò×z>t   sigma_divergencegš™™™™™É?t   OK(   i   i    i    (   i   i    i    (   i    i   i    (   i    i   i    (   t   dxtbx.serializeR   t   dxtbx.modelR   t   to_dictt	   from_dictt   AssertionErrort   abst   get_directiont   get_wavelengtht   get_divergencet   get_sigma_divergence(   R   R   R   t   b1t   dt   b2t   d2t   b3(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR      s$      ""c         C   s	   d GHd  S(   NR   (    (   R   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR   '   s    c         C   sõ   d d l  m } d d l m } | d	 d
 ƒ } | j | ƒ } | j | ƒ } | d d k sc t ‚ | d d k sy t ‚ | | k s‹ t ‚ i d d 6} | j | | ƒ } | j ƒ  d k sÂ t ‚ | j ƒ  d k sÚ t ‚ | | k sì t ‚ d GHd  S(   Niÿÿÿÿ(   t
   goniometer(   t
   Goniometeri   i    t   rotation_axist   fixed_rotationR   (   i   i    i    (	   i   i    i    i    i   i    i    i    i   (   i   i    i    (	   i   i    i    i    i   i    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   t   get_rotation_axist   get_fixed_rotation(   R   R"   R#   t   g1R   t   g2R    t   g3(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR   *   s    c         C   s<  d d l  m } d d l m } d d l m } | d d | j d	 d	 d	 g ƒ | j d	 d d
 g ƒ ƒ } | j | ƒ } | j | ƒ } | d d k s� t	 ‚ | d d k s³ t	 ‚ | d d	 d	 d	 g k sÒ t	 ‚ | d d	 d d
 g k sñ t	 ‚ | | k st	 ‚ i d d d g d 6} | j | | ƒ } | j
 ƒ  d k sCt	 ‚ | j ƒ  d k s[t	 ‚ t | j ƒ  ƒ d d d g k s‚t	 ‚ t | j ƒ  ƒ d	 d d
 g k s©t	 ‚ | | k s»t	 ‚ i d d 6d	 d g d 6}	 | j |	 | ƒ }
 t |
 j ƒ  d d
 ƒ d k  st	 ‚ t |
 j ƒ  d d ƒ d k  s3t	 ‚ d GHd  S(   Niÿÿÿÿ(   t   scan(   t   Scan(   t   flexi   i   g      ð?gš™™™™™É?gš™™™™™¹?g333333Ó?t   image_ranget   oscillationt   exposure_timet   epochsi
   i   gH¯¼šò×z>i	   R   (   i   i   (   g      ð?gš™™™™™É?(   i   i   (   g      ð?gš™™™™™É?(   i   i   (   g      ð?gš™™™™™É?(   i   i
   (   R   R+   R   R,   t   scitbx.array_familyR-   t   doubleR   R   R   t   get_image_ranget   get_oscillationt   listt   get_exposure_timest
   get_epochsR   (   R   R+   R,   R-   t   s1R   t   s2R    t   s3t   d3t   s4(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR   =   s.    9''&&c         C   së  d d l  m } d d l m } d d  l } d d  l } y | j j d ƒ } Wn t k
 rg d GHd  SX| j	 j
 | d d ƒ } | j | ƒ } | j ƒ  } | j ƒ  }	 | j ƒ  }
 | j ƒ  } d } t |	 ƒ d	 k sÝ t ‚ | | j ƒ  d ƒ sø t ‚ t | j ƒ  d ƒ | k  st ‚ t | j ƒ  d
 ƒ | k  s<t ‚ t | j ƒ  d ƒ | k  s^t ‚ |	 d j ƒ  d k szt ‚ |	 d j ƒ  d k s–t ‚ | |	 d j ƒ  d ƒ sµt ‚ | |	 d j ƒ  d ƒ sÔt ‚ | |	 d j ƒ  d ƒ sót ‚ | |	 d j ƒ  d  ƒ st ‚ | |	 d j ƒ  d! ƒ s1t ‚ | |	 d j ƒ  d" ƒ sPt ‚ | |
 j ƒ  d# ƒ skt ‚ | |
 j  ƒ  d$ ƒ s†t ‚ | | j! ƒ  d% ƒ s¡t ‚ | | j" ƒ  d& ƒ s¼t ‚ t | j# ƒ  d d ƒ | k  sât ‚ d GHd  S('   Niÿÿÿÿ(   t   load(   t   tuple_almost_equalt   dials_regressions#   No dials_regression directory foundt   centroid_test_datas   test_sweep.jsongH¯¼šò×z>i   g        g      ð?gòÒMbXï?gV-²­?i    t
   SENSOR_PADt   Panelg      ð¿g     pjÀg     pk@gfffffhÀgj¼t“Æ?iŸ	  iß	  g     EAi   gš™™™™™É?R   (   g        g        g      ð?(   g      ð?g        g        (   g        g      ð¿g        (   g     pjÀg     pk@gfffffhÀ(   gj¼t“Æ?gj¼t“Æ?(   iŸ	  iß	  (   g      ð¿g     EA(   g      ð?g        g        (	   g      ð?g        g        g        g      ð?g        g        g        g      ð?(   i   i   (   g        gš™™™™™É?($   R   R>   t   dxtbx.serialize.helpersR?   t   libtbx.load_envt   ost   envt	   dist_patht	   Exceptiont   patht   joint   imagesett   get_beamt   get_detectort   get_goniometert   get_scant   lenR   R   R   R   R   R   t   get_typet   get_namet   get_fast_axist   get_slow_axist
   get_origint   get_pixel_sizet   get_image_sizet   get_trusted_rangeR&   R'   R4   R5   R7   (   R   R>   R?   t   libtbxRF   RJ   t   filenamet   sweept   bR   t   gt   st   eps(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR   [   sH    """&c         C   s×  d d l  m } m } d d l m } d d  l } d d  l } d d l m } y | j j	 d ƒ } Wn t
 k
 r} d GHd  SX| j j | d d ƒ } | j | | ƒ ƒ }	 t |	 ƒ d	 k sÃ t ‚ |	 d
 }	 d d l m }
 d |
 ƒ  j } | j |	 | ƒ | j | ƒ } | j ƒ  |	 j ƒ  k s*t ‚ |	 j ƒ  } | j ƒ  } t | ƒ t | ƒ k s`t ‚ x; t t | | ƒ ƒ D]$ \ } \ } } | | k svt ‚ qvW| j ƒ  |	 j ƒ  k s¼t ‚ | |	 k sÎt ‚ d GHd  S(   Niÿÿÿÿ(   t   dumpR>   (   t   ImageSetFactory(   t   globR@   s#   No dials_regression directory foundt   spotfinding_test_datas   idx*.cbfi   i    (   t   uuid4s   %s.jsonR   (   R   Ra   R>   t   dxtbx.imagesetRb   RE   RF   Rc   RG   RH   RI   RJ   RK   t   newRQ   R   t   uuidRe   t   hexRL   RM   RN   t	   enumeratet   zip(   R   Ra   R>   Rb   RZ   RF   Rc   RJ   R[   RL   Re   t	   imageset2t   d1R    t   it   p1t   p2(    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR	   ƒ   s6    
(c   
      C   s
  d d l  m } d d  l } d d  l } d d l m } d d l m } m } y | j j	 d ƒ } Wn t
 k
 r} d GHd  SX| j j | d d ƒ } | j | ƒ }	 t |	 | ƒ sº t ‚ t |	 j ƒ  | ƒ sÕ t ‚ y |	 d	 t sì t ‚ Wn t
 k
 r n Xd
 GHd  S(   Niÿÿÿÿ(   R>   (   Rc   (   t
   ImageSweept
   NullReaderR@   s#   No dials_regression directory foundRA   s   sweep_no_image_data.jsoni    R   (   R   R>   RE   RF   Rc   Rf   Rq   Rr   RG   RH   RI   RJ   RK   RL   t
   isinstanceR   t   readert   False(
   R   R>   RZ   RF   Rc   Rq   Rr   RJ   R[   RL   (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR
   ¨   s.    		(   t   __name__t
   __module__R   R   R   R   R   R   R   R	   R
   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyR      s   								(	%t   __main__N(   t
   __future__R    t   objectR   Rv   t   testR   (    (    (    sQ   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/tests/serialize/tst_serialize.pyt   <module>   s   Á	