跳转到主要内容

将可定制的工具菜单附加到napari

项目描述

napari-tools-menu

License PyPI Python Version tests codecov

将可定制的工具菜单附加到napari

img.png

用法

只需将napari-tools-menu添加到您的napari-plugin依赖中。之后,您可以使用以下语法注释您的函数和停靠小部件。指定的菜单路径将用于将您的工具放在工具菜单的正确位置。所有菜单和子菜单都将按字母顺序列出。

from napari_tools_menu import register_function, register_action, register_dock_widget


@register_action(menu="Utilities > Action")
def test_function(viewer):
    print("hello")


@register_function(menu="Utilities > Function")
def test_function_with_params(sigma: float = 0.5):
    print("sigma", sigma)


@register_dock_widget(menu="Utilities > Widget")
class ExampleQWidget(QWidget):
    def __init__(self, napari_viewer):

register_functionregister_dock_widget 注解是为 分析函数图形用户界面 设计的,如 napari-plugin教程 中所述。 register_action 注解是为只有一个参数的函数设计的:napari viewer。当用户点击菜单时,将执行此函数。例如,这可以用于对当前所有选定的层应用某种操作。

注意:此实现基于对napari的猴子补丁,已在napari 0.4.11上测试。因此,它可能无法与napari的将来版本一起工作,例如,当新的插件引擎完成时。目前,它是简化最终用户生活的美好替代方案。

菜单名称建议

为了保持工具菜单的整洁和组织,应提出一些建议。创建分类菜单,以便您的工具以某种方式分类,使广大受众了解其功能。示例

  • 滤波/噪声去除
  • 滤波/背景去除
  • 滤波/边缘增强
  • 滤波/反卷积
  • 图像数学
  • 配准
  • 分割/二值化
  • 分割/标记
  • 分割后处理
  • 测量
  • 可视化
  • 实用工具

首先在菜单名称中放入描述性函数名,然后是实现方式。示例

  • 分割/二值化 > 阈值(Otsu等1979年)
  • 分割/二值化 > 阈值(我的算法)
  • 分割/标记 > 细胞标记(CellLab)
  • 分割/标记 > 核分割(Nuc-Seg)

示例代码

@register_action(menu="Segmentation > Threshold (Otsu et al 1979)")
def threshold_otsu(viewer):
    pass
@register_action(menu="Segmentation > Threshold (my algorithm)")
def my_algorithm(viewer):
    pass
@register_action(menu="Segmentation > Cell labeling (CellLab)")
def celllab(viewer):
    pass
@register_action(menu="Segmentation > Nuclei segmentation (Nuc-Dect)")
def nucl_dect(viewer):
    pass

菜单将看起来像这样: img.png

再次强调,没有限制。然而,请尽量保持菜单井然有序,以便用户使用方便。

安装

您可以通过 pip 安装 napari-tools-menu

pip install napari-tools-menu

贡献

我们非常欢迎贡献。可以使用 [pytest] 运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。

许可协议

BSD-3 许可证下分发,"napari-tools-menu" 是免费和开源软件

问题

如果您遇到任何问题,请提交问题,并附上详细的描述。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关 安装软件包 的更多信息。

源分发

napari-tools-menu-0.1.19.tar.gz (7.4 kB 查看哈希值)

上传时间

构建分发

napari_tools_menu-0.1.19-py3-none-any.whl (7.6 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面