ó
ö™xTc           @   s7  d  d l  m Z e d k r3d  d l Z d  d l m Z d  d l m Z e j e j	 d ƒ Z
 e e
 ƒ d k sv t ‚ e
 d j ƒ  Z e e ƒ d k sž t ‚ e d Z e e ƒ d k sÀ t ‚ e d j ƒ  Z e e e ƒ så t ‚ d e j ƒ  GHd	 e j ƒ  GHd  d
 l m Z d  d l m Z e d j ƒ  d d d  … Z e j e j e ƒ ƒ Z e j e j e ƒ ƒ Z e d j ƒ  Z  x£ e! e j" ƒ  d ƒ D]‹ Z# x‚ e! e j" ƒ  d ƒ D]j Z$ e d j% e$ e# f ƒ \ Z& Z' e$ e  d e# e  d Z( Z) e& e( e e# e$ f <e' e) e e# e$ f <q´Wq—We* e j* e ƒ e j* e ƒ g ƒ Z+ e, e j, e ƒ e j, e ƒ g ƒ Z- e j. ƒ  \ Z/ Z0 e j1 d ƒ e j2 e j3 ƒ  d d d e+ d e- ƒe j1 d ƒ e j2 e j3 ƒ  d d d e+ d e- ƒZ4 e/ j5 d d ƒ e/ j6 d d d d g ƒ Z7 e/ j8 e4 d e7 ƒZ9 e j: ƒ  n  d S(   iÿÿÿÿ(   t   divisiont   __main__N(   t   DataBlockFactory(   t   ParallaxCorrectedPxMmStrategyi   i    s   Mu: %f mm^-1 s	   t0: %f mm(   t   pylab(   t   flexiy   t   interpolationt   nonet   vmint   vmaxiz   t   rightgš™™™™™é?gÍÌÌÌÌÌì?gš™™™™™¹?g¸…ëQ¸ž?t   cax(;   t
   __future__R    t   __name__t   syst   dxtbx.datablockR   t   dxtbx.modelR   t	   from_argst   argvt
   datablockst   lent   AssertionErrort   unique_detectorst	   detectorst   detectort   get_px_mm_strategyt   px_mmt
   isinstancet   mut   t0t
   matplotlibR   t   scitbx.array_familyR   t   get_image_sizet
   image_sizet   doublet   gridt   xcorrt   ycorrt   get_pixel_sizet
   pixel_sizet   ranget   allt   jt   it   pixel_to_millimetert   x1t   y1t   x0t   y0t   minR   t   maxR	   t   subplotst   figt   axt   subplott   imshowt   as_numpy_arrayt   imt   subplots_adjustt   add_axesR   t   colorbart   cbart   show(    (    (    s\   /public2/ftp/pub/ccp4/6.5/ccp4-6.5/lib/py2/dxtbx/command_line/display_parallax_correction.pyt   <module>   sN   
$$