在线文档教程

viewer.plugins

Module: viewer.plugins

skimage.viewer.plugins.CannyPlugin(* args,...)Canny滤镜插件显示图像的边缘。
skimage.viewer.plugins.ColorHistogram(max_pct)
skimage.viewer.plugins.Crop(maxdist)
skimage.viewer.plugins.LabelPainter(MAX_RADIUS)
skimage.viewer.plugins.LineProfile(...)用于计算图像上扫描线下插值强度的插件。
skimage.viewer.plugins.Measure(maxdist)
skimage.viewer.plugins.OverlayPlugin(** kwargs)用于ImageViewer的插件,在主图像顶部显示覆盖图。
skimage.viewer.plugins.PlotPlugin(...)ImageViewer的插件包含剧情画布。
skimage.viewer.plugins.Plugin(...)与ImageViewer交互的插件的基类。
skimage.viewer.plugins.base与ImageViewer交互的插件的基类。
skimage.viewer.plugins.canny
skimage.viewer.plugins.color_histogram
skimage.viewer.plugins.crop
skimage.viewer.plugins.labelplugin
skimage.viewer.plugins.lineprofile
skimage.viewer.plugins.measure
skimage.viewer.plugins.overlayplugin
skimage.viewer.plugins.plotplugin

CannyPlugin

class skimage.viewer.plugins.CannyPlugin(*args, **kwargs)[source]

Bases: skimage.viewer.plugins.overlayplugin.OverlayPlugin

Canny滤镜插件显示图像的边缘。

__init__(*args, **kwargs)[source]attach(image_viewer)[source]name = 'Canny Filter'

ColorHistogram

class skimage.viewer.plugins.ColorHistogram(max_pct=0.99, **kwargs)[source]

基地: skimage.viewer.plugins.plotplugin.PlotPlugin

__init__(max_pct=0.99, **kwargs)[source]ab_selected(extents)[source]attach(image_viewer)[source]help()[source]name = 'Color Histogram'output()[source]

返回图像蒙版和直方图数据。

返回:mask:布尔数组,与图像形状相同所选像素。data:dict描述直方图和选定区域的数据。该字典包含:'bins':float数组a和b通道的bin边界。'hist':二维浮点数组标准化的直方图。'edges':浮点数组的元组沿着每个维'extent'的bin边:浮点元组选择区域的左边和右边以及顶部和底部。

  • 'bin':浮点数组两个ab通道的bin边界。

  • 'hist':二维浮点数组标准化的直方图。

  • '边缘':浮点数组的元组沿着每个维度的边沿

  • 'extents':float的元组所选区域的左右和顶部和底部。

Crop

class skimage.viewer.plugins.Crop(maxdist=10, **kwargs)[source]

基地: skimage.viewer.plugins.base.Plugin

__init__(maxdist=10, **kwargs)[source]attach(image_viewer)[source]crop(extents)[source]help()[source]name = 'Crop'reset()[source]

LabelPainter

class skimage.viewer.plugins.LabelPainter(max_radius=20, **kwargs)[source]

基地: skimage.viewer.plugins.base.Plugin

__init__(max_radius=20, **kwargs)[source]attach(image_viewer)[source]help()[source]labelname = 'LabelPainter'on_enter(overlay)[source]radius

LineProfile

class skimage.viewer.plugins.LineProfile(maxdist=10, epsilon='deprecated', limits='image', **kwargs)[source]

基地: skimage.viewer.plugins.plotplugin.PlotPlugin

用于计算图像上扫描线下插值强度的插件。

有关更多详细信息,请参阅PlotPlugin和Plugin类。

参数:maxdist:float选择扫描线终点时允许的最大像素距离。限制:绘制轮廓的元组或{None,'image','dtype'}(最小,最大)强度限制。定义了以下特殊值:无:基于沿选定扫描线的最小/最大强度进行重新调整。'图像':基于图像中的最小/最大强度的固定比例。'dtype':基于图像dtype的最小/最大强度的固定比例。

__init__(maxdist=10, epsilon='deprecated', limits='image', **kwargs)[source]attach(image_viewer)[source]get_profiles()[source]

返回所选行的强度分布。

返回:end_points:(2,2)数组该行的位置((x1,y1),(x2,y2))结束。配置文件:1d阵列列表强度值的配置文件。长度1(灰度)或3(rgb)。

help()[source]line_changed(end_points)[source]name = 'Line Profile'output()[source]

返回画出的线和结果扫描。

返回:line_image:(M,N)uint8数组,与图像形状相同数组0,扫描线设置为255.如果线工具的线宽大于1,则将被轮廓化的多边形内的值设置为128. scan: (P,)或(P,3)int或float的数组扫描整个图像的值。

reset_axes(scan_data)[source]

测量

class skimage.viewer.plugins.Measure(maxdist=10, **kwargs)[source]

基地: skimage.viewer.plugins.base.Plugin

__init__(maxdist=10, **kwargs)[source]attach(image_viewer)[source]help()[source]line_changed(end_points)[source]name = 'Measure'

OverlayPlugin

class skimage.viewer.plugins.OverlayPlugin(**kwargs)[source]

基地: skimage.viewer.plugins.base.Plugin

用于ImageViewer的插件,在主图像顶部显示覆盖图。

基本插件类直接在查看器上显示过滤后的图像。OverlayPlugin将使用透明色彩贴图覆盖图像。

有关更多详细信息,请参阅基类插件类。

属性

覆盖(数组)重叠显示在图像的顶部。此叠加层默认为具有从0到1线性变化的alpha值的彩色映射。
颜色(int)重叠的颜色。

__init__(**kwargs)[source]attach(image_viewer)[source]closeEvent(event)[source]colorcolors = {'red': (1, 0, 0), 'yellow': (1, 1, 0), 'green': (0, 1, 0), 'cyan': (0, 1, 1)}display_filtered_image(image)[source]

将过滤图像显示为查看器中图像顶部的覆盖图。

filtered_image

返回过滤的图像。

从插件保存时使用此“过滤图像”。

output()[source]

返回重叠的图像。

返回:叠加:阵列,形状与图像相同当前显示叠加。数据:无

overlay

PlotPlugin

class skimage.viewer.plugins.PlotPlugin(image_filter=None, height=150, width=400, **kwargs)[source]

基地: skimage.viewer.plugins.base.Plugin

ImageViewer的插件包含剧情画布。

包含Matplotlib绘图画布的插件的基类,可以显示图像直方图。

有关更多详细信息,请参阅基类插件类。

__init__(image_filter=None, height=150, width=400, **kwargs)[source]add_plot()[source]add_tool(tool)[source]attach(image_viewer)[source]redraw()[source]

重绘plot。

remove_tool(tool)[source]

Plugin

class skimage.viewer.plugins.Plugin(image_filter=None, height=0, width=400, useblit=True, dock='bottom')[source]

基地: object

与ImageViewer交互的插件的基类。

插件将图像过滤器(或其他功能)连接到图像查看器。请注意插件在没有图像查看器的情况下被初始化并在稍后的步骤中被附加。详细信息请参见下面的示例

参数:image_viewer:ImageViewer包含用于测量/操作的图像的窗口。image_filter:函数被调用以在图像查看器中更新图像的函数。例如,如果您有一个从图像中提取信息并且不处理它的插件,则此值可以为None。或者,可以将此函数定义为Plugin子类中的方法。height,width:int插件窗口的大小(以像素为单位)。请注意,Qt会自动调整窗口大小以适应组件。因此,如果您添加了多行组件,您可以保留高度= 0并让Qt确定最终高度。useblit:bool如果为True,则使用blitting来加速动画。仅在某些Matplotlib后端可用。如果为None,则在使用Agg后端时设置为True。如果您在图像查看器上绘制,这只会起作用。

例子

>>> from skimage.viewer import ImageViewer >>> from skimage.viewer.widgets import Slider >>> from skimage import data >>> >>> plugin = Plugin(image_filter=lambda img, ... threshold: img > threshold) >>> plugin += Slider('threshold', 0, 255) >>> >>> image = data.coins() >>> viewer = ImageViewer(image) >>> viewer += plugin >>> thresholded = viewer.show()[0][0]

该插件将image_filter根据参数类型自动委派参数,即ptype(必需参数的小部件必须按照它们在函数中出现的顺序添加)。附加到查看器的图像会自动作为第一个参数传递给过滤器函数。

#TODO:添加标志,以便默认情况下不会将图像传递给过滤器功能。

ptype = ‘kwarg’ 是大多数小部件的默认设置,所以在这里没有必要。

属性

image_viewer(ImageViewer)包含用于测量的图像的窗口。
name(str)插件的名称。这显示为窗口标题。
artist (列表)Matplotlib艺术家和canvastools列表。任何由该插件创建的艺术家都应该添加到该列表中,以便在清理完成后关闭。

__init__(image_filter=None, height=0, width=400, useblit=True, dock='bottom')[source]add_widget(widget)[source]

将小部件添加到插件。

或者,插件的__add__方法被重载以添加小部件:

plugin += Widget(...)

小部件可以调整插件的过滤器函数或参数的必需或可选参数。这由Widget指定ptype

attach(image_viewer)[source]

将插件附加到ImageViewer。

请注意,当插件添加到ImageViewer时,ImageViewer会自动调用此方法。例如:

viewer += Plugin(...)

还请注意,会attach自动调用过滤器函数,以便图像与附加小部件指定的过滤值相匹配。

clean_up()[source]closeEvent(event)[source]

关闭所有来自ImageViewer的艺术家和活动。

请注意,艺术家必须附加到self.artists

display_filtered_image(image)[source]

在图像查看器上显示已过滤的图像。

如果您不想简单地将显示的图像替换为已过滤的图像(例如,要显示透明覆盖图),则可以覆盖此方法。

filter_image(*widget_arg)[source]

调用image_filter小部件参数和kwargs

注意:display_filtered_image可以自动调用。

filtered_image

返回过滤的图像。

image_changed = Noneimage_viewer = 'Plugin is not attached to ImageViewer'name = 'Plugin'output()[source]

返回插件的表示和数据。

返回:图像:数组,形状与self.image_viewer.image相同,或者无过滤的图像。数据:无与插件关联的任何数据。

笔记

派生类应该重写此方法以返回包含相同形状图像的叠加层数据对象的元组。其中任何一个都是可选的:如果您不想返回值,则返回None

remove_image_artists()[source]

删除连接到图像查看器的艺术家。

show(main_window=True)[source]

显示插件。

update_plugin(name, value)[source]

更新插件本身的关键字参数。

通常将这些参数实现为类属性,以便它们更新图像或其他组件。