跳转到主要内容

优化napari中的图像处理工作流程以提高分割质量

项目描述

napari-workflow-optimizer

License PyPI Python Version tests codecov Development Status napari hub

优化napari中的图像处理工作流程以提高分割质量

img.png

用法

工作流程优化的起点是一个工作流程和一些参考("地面真相")标签图像。标签图像可以是一个稀疏注释,这意味着只有一些对象以及对象的某些部分被注释(见提示)。这些数据集应该已经准备好了。您可以通过下载示例原始图像(由scikit-image cells3d 示例数据集派生)和一个相应的稀疏注释标签图像来重现以下过程。为了重现以下过程,还应遵循下面的安装说明。整个过程也在此视频中展示,是上述预告片的扩展版本。

步骤0:加载数据和设置工作流程

加载"membranes_2d.tif"数据集,例如通过在napari上拖放并从工具 > 工具 > 助手(clEsperanto)菜单启动助手。

点击标签按钮,选择操作为"使用局部最小值作为种子和强度阈值(nsbatwm)的种子区域集水法"。

在新标签层中绘制注释或加载示例稀疏注释"membranes_2d_sparse_labels.tif"。

如果图像未作为标签图像显示,请通过在图层列表中的条目上右键单击将其转换为标签图像。

步骤 1:工作流程优化器

工具 > 通用 > 工作流程优化器(标签)菜单启动工作流程优化器。配置目标图层,显示应优化的标签图像。选择手动注释作为优化参考图层。考虑增加迭代次数。这个数字取决于你的分割问题。在当前示例中,100次迭代应该足够。

优化器将绘制质量与迭代次数的关系图,以显示优化的进度。为了确定质量,优化器将测量任何标记对象与手动注释对象的最大的重叠(Jaccard 指数),并计算所有注释对象此值的平均值。片刻之后,优化将完成并更新标记图像。如果你的优化起点已经很好,结果现在可能看起来比之前更好。

步骤 2:手动参数空间绘图

如果结果还不是完美的(如上面边缘分割所示),考虑手动绘制单个参数及其与分割质量的关系,以了解周围参数空间。因此,点击一个工作流程参数旁边的绘图按钮。选择确定标记质量的范围(绿色箭头)。在我们的示例中,优化器将参数设置为2.34。因此,为了展示这个过程,我们在0到10之间绘制了参数空间。显然,在此参数上绘制的质量有一个局部最大值2.34,这是优化器检测到的。然而,它还有一个局部最大值8,并且质量图实际上有一个平台期(橙色箭头)。

为了进一步优化,我们重新配置算法,并将参数的优化起点设置为8。然后我们重新启动优化。它将从这个新起点再次优化设置。

片刻之后,优化将再次完成,可能导致结果更好。

步骤 3:结果可视化

通过检查结果来确保分割具有高质量。使用标签层的轮廓设置并隐藏/显示标记层的轮廓

优化提示

工作流程优化器使用Nelder-Mead单纯形方法来优化参数。此算法改变个别参数,并在参数空间中理想地跟随梯度到局部最优。因此,此算法可能无法确定参数空间中的全局最优。参数优化不是魔法。如果它不能立即作用于你的数据,请按步骤 2 中介绍的方法绘制参数,并确定具有清晰梯度的参数和具有许多局部最大值的参数。考虑手动优化具有许多局部最大值的参数并取消选中其复选框进行优化。然后,优化器将只优化显示清晰梯度的参数。重复这些步骤几次,以了解你的参数空间。

此外,参数优化工作得很好,如果

  • 初始设置接近良好的分割,
  • 优化了少量参数(简短的工作流程),
  • 参考注释准备得很好,
  • 数据集较小。在大型数据集的情况下,考虑使用小型代表性作物。

工作流程优化脚本

为了在Jupyter笔记本中优化工作流程,请查看我们使用稀疏标签进行优化的示例笔记本:稀疏标签优化示例。这些示例比图形用户界面更灵活,例如,允许优化强度图像二值图像。类似于上述显示的膜分割工作流程优化也以jupyter笔记本的形式提供。

已知问题

如果您在优化器窗口打开后更改了工作流程架构,请重新打开它以选择应优化的参数。更改参数是可以的,但不需要重新打开。


napari插件是用Cookiecutter@naparicookiecutter-napari-plugin模板生成的。

安装

此外,为了重现上述过程,请下载并安装naparipyopenclnapari-pyclesperanto-assistantnapari-segment-blobs-and-things-with-membranes插件。例如,使用condapip

conda create --name napari-opti python=3.8
conda activate napari-opti

conda install pyopencl napari
pip install napari-pyclesperanto-assistant napari-segment-blobs-and-things-with-membranes
pip install napari-workflow-optimizer

贡献

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

许可证

BSD-3许可证下分发,“napari-workflow-optimizer”是免费的开源软件。

问题

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

项目详情


下载文件

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

源分布

napari-workflow-optimizer-0.1.4.tar.gz (18.6 kB 查看哈希值)

上传时间

构建分布

napari_workflow_optimizer-0.1.4-py3-none-any.whl (17.3 kB 查看哈希值)

上传时间 Python 3

由以下组织支持