ó
 ‰\c           @   su   d  d l  Z d d l m Z d d l m Z d d l m Z m Z d d l	 m
 Z
 d g Z d e
 f d	 „  ƒ  YZ d S(
   iÿÿÿÿNi   (   t   QtGui(   t   new_plot(   t   BlitManagert   EventManageri   (   t   Plugint
   PlotPluginc           B   sV   e  Z d  Z d
 d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
 RS(   sæ   Plugin for ImageViewer that contains a plot canvas.

    Base class for plugins that contain a Matplotlib plot canvas, which can,
    for example, display an image histogram.

    See base Plugin class for additional details.
    i–   i  c         K   sY   t  t |  ƒ j d | d | d | |  | |  _ | |  _ d  |  _ g  |  _ d  |  _ d  S(   Nt   image_filtert   heightt   width(	   t   superR   t   __init__t   _heightt   _widtht   Nonet   _blit_managert   _toolst   _event_manager(   t   selfR   R   R   t   kwargs(    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyR
      s    				c         C   sT   t  t |  ƒ j | ƒ |  j ƒ  | j r> t |  j ƒ |  _ n  t |  j ƒ |  _	 d  S(   N(
   R	   R   t   attacht   add_plott   useblitR   t   axR   R   R   (   R   t   image_viewer(    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyR      s
    
	c         C   s   |  j  j ƒ  d S(   s   Redraw plot.N(   t   canvast	   draw_idle(   R   (    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyt   redraw'   s    c         C   sò   t  ƒ  \ |  _ |  _ |  j j |  j t |  j j ƒ ƒ |  j j |  j t |  j j ƒ ƒ |  j j	 |  _	 t
 j ƒ  } | j t
 j j ƒ } | j ƒ  j ƒ  } t j | ƒ r¿ t | d ƒ } n  |  j j j | ƒ |  j j |  j	 |  j d ƒ d  S(   Ng     ào@i    (   R   t   figR   t   set_figwidthR   t   floatt   dpit   set_figheightR   R   R    t   QPalettet   colort   Windowt   toRgbt   valuet   npt   isscalart   strt   patcht   set_facecolort   layoutt	   addWidgett   row(   R   t   qpalettet   qcolort   bgcolor(    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyR   +   s    ##c         C   s$   t  t |  ƒ j | ƒ |  j ƒ  d  S(   N(   R	   R   t   _update_original_imageR   (   R   t   image(    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyR0   :   s    c         C   sC   |  j  r |  j  j | j ƒ n  |  j j | ƒ |  j j | ƒ d  S(   N(   R   t   add_artistst   artistsR   t   appendR   R   (   R   t   tool(    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyt   add_tool>   s    	c         C   sV   | |  j  k r d  S|  j r2 |  j j | j ƒ n  |  j  j | ƒ |  j j | ƒ d  S(   N(   R   R   t   remove_artistsR3   t   removeR   t   detach(   R   R5   (    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyt   remove_toolD   s    	N(   t   __name__t
   __module__t   __doc__R   R
   R   R   R   R0   R6   R:   (    (    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyR      s   
					(   t   numpyR%   t   qtR    t   utilsR   t   utils.canvasR   R   t   baseR   t   __all__R   (    (    (    s@   lib/python2.7/site-packages/skimage/viewer/plugins/plotplugin.pyt   <module>   s   	