On this page
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.CanvasToolBaseWidget 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__(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.
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.CanvasToolBaseWidget 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__(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
on_key_press(event)[source]
on_mouse_press(event)[source]
on_mouse_release(event)[source]
on_move(event)[source]
property overlay
property radius
property 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.RectangleSelectorWidget for selecting a rectangular region in a plot.
After making the desired selection, press “Enter” to accept the selection and call the
on_entercallback 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
-
extentstuple-
Return (xmin, xmax, ymin, ymax).
__init__(manager, on_move=None, on_release=None, on_enter=None, maxdist=10, rect_props=None)[source]-
- Parameters
-
axAxes-
The parent axes for the widget.
onselectfunction-
A callback function that is called after a selection is completed. It must have the signature:
def onselect(eclick: MouseEvent, erelease: MouseEvent)where eclick and erelease are the mouse click and release
MouseEvents that start and complete the selection. drawtype{“box”, “line”, “none”}, default: “box”-
Whether to draw the full rectangle box, the diagonal line of the rectangle, or nothing at all.
minspanxfloat, default: 0-
Selections with an x-span less than minspanx are ignored.
minspanyfloat, default: 0-
Selections with an y-span less than minspany are ignored.
useblitbool, default: False-
Whether to use blitting for faster drawing (if supported by the backend).
linepropsdict, optional-
Properties with which the line is drawn, if
drawtype == "line". Default:dict(color="black", linestyle="-", linewidth=2, alpha=0.5) rectpropsdict, optional-
Properties with which the rectangle is drawn, if
drawtype == "box". Default:dict(facecolor="red", edgecolor="black", alpha=0.2, fill=True) spancoords{“data”, “pixels”}, default: “data”-
Whether to interpret minspanx and minspany in data or in pixel coordinates.
buttonMouseButton, list of MouseButton, default: all buttons-
Button(s) that trigger rectangle selection.
maxdistfloat, default: 10-
Distance in pixels within which the interactive tool handles can be activated.
marker_propsdict-
Properties with which the interactive handles are drawn. Currently not implemented and ignored.
interactivebool, default: False-
Whether to draw a set of handles that allow interaction with the widget after it is drawn.
state_modifier_keysdict, optional-
Keyboard modifiers which affect the widget’s behavior. Values amend the defaults.
- “move”: Move the existing shape, default: no modifier.
- “clear”: Clear the current shape, default: “escape”.
- “square”: Makes the shape square, default: “shift”.
- “center”: Make the initial point the center of the shape, default: “ctrl”.
“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.
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.LineToolWidget 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)).
__init__(manager, on_move=None, on_enter=None, on_release=None, on_change=None, maxdist=10, line_props=None, handle_props=None)[source]-
Initialize self. See help(type(self)) for accurate signature.
on_key_press(event)[source]
on_scroll(event)[source]
© 2019 the scikit-image team
Licensed under the BSD 3-clause License.
https://scikit-image.org/docs/0.18.x/api/skimage.viewer.canvastools.html