本文介绍如何使用ImageJ将最常见的AI分割所得到的mask图像转换为ROI,方便后续分析。

图像分割最常见的结果输出形式是 mask。mask 也是一张图像,不过分割后的不同区域,使用不同的数值来表示。比如原图中分割出的第一个细胞区域,在 mask 中这个区域的像素就被全部填充为 1(这就是按 Label 填充区域),以此类推,第十个细胞区域的像素在 mask 中就都是 10。

各种图像检测分割的AI模型,输出的结果形式可能会非常不一样。做得比较好的例如 cellpose 直接可以输出 ImageJ 的 RoiSet。但是另外一个 SAM 模型分割的结果,并没有这个便捷的功能,只能是用户先保存一张 mask 图像。

如上图所示,我们使用 SAM 模型交互式快速完成实例分割后,可以将 Labels 图层保存为 mask 图像。

需要注意的是,为了方便后面使用 ImageJ 打开 mask 图像并进行后续处理,这里需要将 Labels 图层的数据类型转换为 uint8,uint16 或者 uint32。一般来说,如果你一张图像中的实例个数不超过 255,就可以使用 uint8,依次类推,不超过 $2^{16}\ -\ 1$ 就可以使用 uint16。转换后再按 Ctrl+S 保存 Labels 图层。

然后使用 ImageJ 打开这张 mask 图像,如上图所示,可以通过 Threshold ,Create Selection 等命令将 mask 图像中不同区域快速转换为 ROI。完整具体代码如下:

该部分仅登录用户可见

这段代码能够自动转换mask图像为 roiset并保存,然后就可以类似之前介绍的👇进行后续分析了。

最后修改:2024 年 09 月 22 日
请大力赞赏以支持本站持续运行!