ó
 šxTc           @   s{   d  d l  m Z d  d l m Z d e f d „  ƒ  YZ e d k rw d  d l Z x& e j d D] Z e j	 e ƒ GHq\ Wn  d S(   iÿÿÿÿ(   t   division(   t   Formatt   FormatRAXISIIc           B   sM   e  Z e d  „  ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   c         C   s@   y t  j |  d ƒ j d ƒ } Wn t k
 r5 } t SX| d k S(   Nt   rbi   s   R-AXIS2(   R   t	   open_filet   readt   IOErrort   False(   t
   image_filet   tagt   e(    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt
   understand   s
    c         C   s)   |  j  | ƒ s t ‚ t j |  | ƒ d S(   s3   Initialise the image structure from the given file.N(   R   t   AssertionErrorR   t   __init__(   t   selfR   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyR      s    c         C   s3   d d l  m } | |  j ƒ |  _ |  j j ƒ  d  S(   Niÿÿÿÿ(   t   NonSquareRAXISImage(   t   iotbx.detectors.raxis_nonsquareR   t   _image_filet   detectorbaset
   readHeader(   R   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt   _start   s    c         C   s   |  j  j ƒ  S(   N(   t   _goniometer_factoryt   single_axis(   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt   _goniometer   s    c         C   s‹   |  j  j d d d |  j j d |  j j |  j j f d d d d d	 |  j j |  j j f d
 |  j j |  j j f d d |  j j	 f d g  ƒ 	S(   s$   Return a model for a simple detectort   sensort   IMAGE_PLATEt   distancet   beam_centret   fast_directions   +xt   slow_directions   -yt
   pixel_sizet
   image_sizet   trusted_rangei    t   mask(
   t   _detector_factoryt   simpleR   R   t   beamxt   beamyR   t   size1t   size2t
   saturation(   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt	   _detector    s    			c         C   s   |  j  j |  j j ƒ S(   s#   Return a simple model for the beam.(   t   _beam_factoryR#   R   t
   wavelength(   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt   _beam1   s    c         C   sH   |  j  j d |  j d d d d d |  j j d d |  j j d	 d
 d ƒ S(   s+   Return the scan information for this image.t   filenamet   formats   Raxis2 image platet   exposure_timesi   t	   osc_startt	   OSC_STARTt	   osc_widtht	   OSC_RANGEt   epochN(   t   _scan_factoryt   singleR   R   t
   parameterst   None(   R   (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt   _scan6   s    	(
   t   __name__t
   __module__t   staticmethodR   R   R   R   R)   R,   R9   (    (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyR      s   						t   __main__Ni   (
   t
   __future__R    t   dxtbx.format.FormatR   R   R:   t   syst   argvt   argR   (    (    (    sH   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/format/FormatRAXISII.pyt   <module>   s   <