B
    \T                 @   sT   d dl ZddlmZ ddlmZmZ ddlmZ dgZ	dej
 ZG d	d deZdS )
    N   )Plugin   )ComboBoxSlider)	PaintToolLabelPainter   c                   sz   e Zd Zd Zd fdd	Zdd Z fddZdd	 Zd
d Ze	dd Z
e
jdd Z
e	dd Zejdd Z  ZS )r      c                sz   t t| jf | tdd|dddd| _dd td	D }d
|d< td|dd| _| | j | | j t	| 
  d S )Nradiusr      intZplugin)ZlowZhighvalueZ
value_typeptypec             S   s   g | ]}t |qS  )str).0ir   r   Alib/python3.7/site-packages/skimage/viewer/plugins/labelplugin.py
<listcomp>   s    z)LabelPainter.__init__.<locals>.<listcomp>   ZEraser   label)r   )superr   __init__r   _radius_widgetranger   _label_widgetZ
add_widgetprinthelp)selfZ
max_radiuskwargslabels)	__class__r   r   r      s    zLabelPainter.__init__c             C   s   d}d |S )N)zLabel painterz+Hold left-mouse button and paint on canvas.
)join)r   Zhelpstrr   r   r   r      s    zLabelPainter.helpc                sV   t t| | |j}t||j| jd| _| j| j_d | j_	| j
_| j| j d S )N)on_enterr   )r   r   attachZoriginal_imager   shaper%   
paint_toolr   r   r   indexZartistsappend)r   Zimage_viewerimage)r"   r   r   r&   $   s    
zLabelPainter.attachc             C   s   |j | j_ dS )zUpdate plugin for new images.N)r'   r(   )r   r+   r   r   r   _on_new_image.   s    zLabelPainter._on_new_imagec             C   s   d S )Nr   )r   Zoverlayr   r   r   r%   2   s    zLabelPainter.on_enterc             C   s   | j jS )N)r   val)r   r   r   r   r   5   s    zLabelPainter.radiusc             C   s   || j _d S )N)r(   r   )r   r-   r   r   r   r   9   s    c             C   s   | j jS )N)r   r-   )r   r   r   r   r   =   s    zLabelPainter.labelc             C   s   || j _d S )N)r(   r   )r   r-   r   r   r   r   A   s    )r
   )__name__
__module____qualname__namer   r   r&   r,   r%   propertyr   setterr   __classcell__r   r   )r"   r   r      s   
)ZnumpyZnpbaser   Zwidgetsr   r   Zcanvastoolsr   __all__ZpiZrad2degr   r   r   r   r   <module>   s   
