Module: viewer.canvastools
¶
|
Widget for line selection in a plot. |
Widget for painting on top of a plot. |
|
Widget for selecting a rectangular region in a plot. |
|
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
- managerViewer or PlotPlugin.
Skimage viewer or plot plugin object.
- on_movefunction
Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.
- on_releasefunction
Function called whenever the control handle is released.
- on_enterfunction
Function called whenever the “enter” key is pressed.
- maxdistfloat
Maximum pixel distance allowed when selecting control handle.
- line_propsdict
Properties for
matplotlib.lines.Line2D
.- handle_propsdict
Marker properties for the handles (also see
matplotlib.lines.Line2D
).
- Attributes
- end_points2D array
End points of line ((x1, y1), (x2, y2)).
-
__init__
(self, manager, on_move=None, on_release=None, on_enter=None, maxdist=10, line_props=None, handle_props=None, **kwargs)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
property
end_points
¶
-
property
geometry
¶ Geometry information that gets passed to callback functions.
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
- managerViewer or PlotPlugin.
Skimage viewer or plot plugin object.
- overlay_shapeshape tuple
2D shape tuple used to initialize overlay image.
- radiusint
The size of the paint cursor.
- alphafloat (between [0, 1])
Opacity of overlay.
- on_movefunction
Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.
- on_releasefunction
Function called whenever the control handle is released.
- on_enterfunction
Function called whenever the “enter” key is pressed.
- rect_propsdict
Properties for
matplotlib.patches.Rectangle
. This class redefines defaults inmatplotlib.widgets.RectangleSelector
.
Examples
>>> from skimage.data import camera >>> import matplotlib.pyplot as plt >>> from skimage.viewer.canvastools import PaintTool >>> import numpy as np
>>> img = camera()
>>> ax = plt.subplot(111) >>> plt.imshow(img, cmap=plt.cm.gray) >>> p = PaintTool(ax,np.shape(img[:-1]),10,0.2) >>> plt.show()
>>> mask = p.overlay >>> plt.imshow(mask,cmap=plt.cm.gray) >>> plt.show()
- Attributes
- overlayarray
Overlay of painted labels displayed on top of image.
- labelint
Current paint color.
-
__init__
(self, manager, overlay_shape, radius=5, alpha=0.3, on_move=None, on_release=None, on_enter=None, rect_props=None)[source]¶ Initialize self. See help(type(self)) for accurate signature.
-
property
geometry
¶ Geometry information that gets passed to callback functions.
-
property
label
¶
-
property
overlay
¶
-
property
radius
¶
-
property
shape
¶
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
- managerViewer or PlotPlugin.
Skimage viewer or plot plugin object.
- on_movefunction
Function called whenever a control handle is moved. This function must accept the rectangle extents as the only argument.
- on_releasefunction
Function called whenever the control handle is released.
- on_enterfunction
Function called whenever the “enter” key is pressed.
- maxdistfloat
Maximum pixel distance allowed when selecting control handle.
- rect_propsdict
Properties for
matplotlib.patches.Rectangle
. This class redefines defaults inmatplotlib.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
tupleReturn (xmin, xmax, ymin, ymax).
-
__init__
(self, manager, on_move=None, on_release=None, on_enter=None, maxdist=10, rect_props=None)[source]¶ Create a selector in ax. When a selection is made, clear the span and call onselect with:
onselect(pos_1, pos_2)
and clear the drawn box/line. The
pos_1
andpos_2
are arrays of length 2 containing the x- and y-coordinate.If minspanx is not None then events smaller than minspanx in x direction are ignored (it’s the same for y).
The rectangle is drawn with rectprops; default:
rectprops = dict(facecolor='red', edgecolor = 'black', alpha=0.2, fill=True)
The line is drawn with lineprops; default:
lineprops = dict(color='black', linestyle='-', linewidth = 2, alpha=0.5)
Use drawtype if you want the mouse to draw a line, a box or nothing between click and actual position by setting
drawtype = 'line'
,drawtype='box'
ordrawtype = 'none'
. Drawing a line would result in a line from vertex A to vertex C in a rectangle ABCD.spancoords is one of ‘data’ or ‘pixels’. If ‘data’, minspanx and minspanx will be interpreted in the same coordinates as the x and y axis. If ‘pixels’, they are in pixels.
button is a list of integers indicating which mouse buttons should be used for rectangle selection. You can also specify a single integer if only a single button is desired. Default is None, which does not limit which button can be used.
- Note, typically:
1 = left mouse button 2 = center mouse button (scroll wheel) 3 = right mouse button
interactive will draw a set of handles and allow you interact with the widget after it is drawn.
state_modifier_keys are keyboard modifiers that affect the behavior of the widget.
The defaults are: dict(move=’ ‘, clear=’escape’, square=’shift’, center=’ctrl’)
Keyboard modifiers, which: ‘move’: Move the existing shape. ‘clear’: Clear the current shape. ‘square’: Makes the shape square. ‘center’: Make the initial point the center of the shape. ‘square’ and ‘center’ can be combined.
-
property
corners
¶ Corners of rectangle from lower left, moving clockwise.
-
property
edge_centers
¶ Midpoint of rectangle edges from left, moving clockwise.
-
property
extents
¶ Return (xmin, xmax, ymin, ymax).
-
property
geometry
¶ Geometry information that gets passed to callback functions.
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
- managerViewer or PlotPlugin.
Skimage viewer or plot plugin object.
- on_movefunction
Function called whenever a control handle is moved. This function must accept the end points of line as the only argument.
- on_releasefunction
Function called whenever the control handle is released.
- on_enterfunction
Function called whenever the “enter” key is pressed.
- on_changefunction
Function called whenever the line thickness is changed.
- maxdistfloat
Maximum pixel distance allowed when selecting control handle.
- line_propsdict
Properties for
matplotlib.lines.Line2D
.- handle_propsdict
Marker properties for the handles (also see
matplotlib.lines.Line2D
).
- Attributes
- end_points2D array
End points of line ((x1, y1), (x2, y2)).