Module: viewer.canvastools

skimage.viewer.canvastools.LineTool(manager) Widget for line selection in a plot.
skimage.viewer.canvastools.PaintTool(...[, ...]) Widget for painting on top of a plot.
skimage.viewer.canvastools.RectangleTool(manager) Widget for selecting a rectangular region in a plot.
skimage.viewer.canvastools.ThickLineTool(manager) Widget for line selection in a plot.

LineTool

class skimage.viewer.canvastools.LineTool(manager, on_move=None, on_release=None, on_enter=None, maxdist=10, line_props=None, handle_props=None, **kwargs)[source]

Bases: skimage.viewer.canvastools.base.CanvasToolBase

Widget for line selection in a plot.

Parameters:

manager : Viewer or PlotPlugin.

Skimage viewer or plot plugin object.

on_move : function

Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.

on_release : function

Function called whenever the control handle is released.

on_enter : function

Function called whenever the “enter” key is pressed.

maxdist : float

Maximum pixel distance allowed when selecting control handle.

line_props : dict

Properties for matplotlib.lines.Line2D.

handle_props : dict

Marker properties for the handles (also see matplotlib.lines.Line2D).

Attributes

end_points (2D array) End points of line ((x1, y1), (x2, y2)).
__init__(manager, on_move=None, on_release=None, on_enter=None, maxdist=10, line_props=None, handle_props=None, **kwargs)[source]
end_points
geometry
hit_test(event)[source]
on_mouse_press(event)[source]
on_mouse_release(event)[source]
on_move(event)[source]
update(x=None, y=None)[source]

PaintTool

class skimage.viewer.canvastools.PaintTool(manager, overlay_shape, radius=5, alpha=0.3, on_move=None, on_release=None, on_enter=None, rect_props=None)[source]

Bases: skimage.viewer.canvastools.base.CanvasToolBase

Widget for painting on top of a plot.

Parameters:

manager : Viewer or PlotPlugin.

Skimage viewer or plot plugin object.

overlay_shape : shape tuple

2D shape tuple used to initialize overlay image.

alpha : float (between [0, 1])

Opacity of overlay

on_move : function

Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.

on_release : function

Function called whenever the control handle is released.

on_enter : function

Function called whenever the “enter” key is pressed.

rect_props : dict

Properties for matplotlib.patches.Rectangle. This class redefines defaults in matplotlib.widgets.RectangleSelector.

Attributes

overlay (array) Overlay of painted labels displayed on top of image.
label (int) Current paint color.
__init__(manager, overlay_shape, radius=5, alpha=0.3, on_move=None, on_release=None, on_enter=None, rect_props=None)[source]
geometry
label
on_key_press(event)[source]
on_mouse_press(event)[source]
on_mouse_release(event)[source]
on_move(event)[source]
overlay
radius
shape
update_cursor(x, y)[source]
update_overlay(x, y)[source]

RectangleTool

class skimage.viewer.canvastools.RectangleTool(manager, on_move=None, on_release=None, on_enter=None, maxdist=10, rect_props=None)[source]

Bases: skimage.viewer.canvastools.base.CanvasToolBase, matplotlib.widgets.RectangleSelector

Widget for selecting a rectangular region in a plot.

After making the desired selection, press “Enter” to accept the selection and call the on_enter callback function.

Parameters:

manager : Viewer or PlotPlugin.

Skimage viewer or plot plugin object.

on_move : function

Function called whenever a control handle is moved. This function must accept the rectangle extents as the only argument.

on_release : function

Function called whenever the control handle is released.

on_enter : function

Function called whenever the “enter” key is pressed.

maxdist : float

Maximum pixel distance allowed when selecting control handle.

rect_props : dict

Properties for matplotlib.patches.Rectangle. This class redefines defaults in matplotlib.widgets.RectangleSelector.

Examples

>>> from skimage import data
>>> from skimage.viewer import ImageViewer
>>> from skimage.viewer.canvastools import RectangleTool
>>> from skimage.draw import line
>>> from skimage.draw import set_color
>>> viewer = ImageViewer(data.coffee())  
>>> def print_the_rect(extents):
...     global viewer
...     im = viewer.image
...     coord = np.int64(extents)
...     [rr1, cc1] = line(coord[2],coord[0],coord[2],coord[1])
...     [rr2, cc2] = line(coord[2],coord[1],coord[3],coord[1])
...     [rr3, cc3] = line(coord[3],coord[1],coord[3],coord[0])
...     [rr4, cc4] = line(coord[3],coord[0],coord[2],coord[0])
...     set_color(im, (rr1, cc1), [255, 255, 0])
...     set_color(im, (rr2, cc2), [0, 255, 255])
...     set_color(im, (rr3, cc3), [255, 0, 255])
...     set_color(im, (rr4, cc4), [0, 0, 0])
...     viewer.image=im
>>> rect_tool = RectangleTool(viewer, on_enter=print_the_rect) 
>>> viewer.show() 

Attributes

extents Return (xmin, xmax, ymin, ymax).
__init__(manager, on_move=None, on_release=None, on_enter=None, maxdist=10, rect_props=None)[source]
corners

Corners of rectangle from lower left, moving clockwise.

edge_centers

Midpoint of rectangle edges from left, moving clockwise.

extents

Return (xmin, xmax, ymin, ymax).

geometry
on_mouse_press(event)[source]
on_mouse_release(event)[source]
on_move(event)[source]

ThickLineTool

class skimage.viewer.canvastools.ThickLineTool(manager, on_move=None, on_enter=None, on_release=None, on_change=None, maxdist=10, line_props=None, handle_props=None)[source]

Bases: skimage.viewer.canvastools.linetool.LineTool

Widget for line selection in a plot.

The thickness of the line can be varied using the mouse scroll wheel, or with the ‘+’ and ‘-‘ keys.

Parameters:

manager : Viewer or PlotPlugin.

Skimage viewer or plot plugin object.

on_move : function

Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.

on_release : function

Function called whenever the control handle is released.

on_enter : function

Function called whenever the “enter” key is pressed.

on_change : function

Function called whenever the line thickness is changed.

maxdist : float

Maximum pixel distance allowed when selecting control handle.

line_props : dict

Properties for matplotlib.lines.Line2D.

handle_props : dict

Marker properties for the handles (also see matplotlib.lines.Line2D).

Attributes

end_points (2D array) End points of line ((x1, y1), (x2, y2)).
__init__(manager, on_move=None, on_enter=None, on_release=None, on_change=None, maxdist=10, line_props=None, handle_props=None)[source]
on_key_press(event)[source]
on_scroll(event)[source]