gpt4 book ai didi

python - 在忽略边界的颜色反卷积后识别正像素

转载 作者:行者123 更新时间:2023-12-01 15:01:35 29 4
gpt4 key购买 nike

我正在分析用特定蛋白质标记染色的组织学组织图像,我想识别该标记的正像素。我的问题是图像上的阈值会产生太多我想排除的误报。

我正在使用颜色反卷积(separate_stains from skimage.color)来获取 AEC channel (对应于红色标记),将其与背景(苏木精蓝)分开颜色)并应用 cv2 Otsu 阈值处理以使用 cv2.threshold(blur,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU) 识别正像素,但它也拾取组织边界(见白线在示例图片中,有时它甚至具有白色以外的随机颜色),有时甚至是非阳性细胞(示例图片中的蓝色区域)。它还缺少一些我想捕捉的微弱正像素。

总体:(1) 如何过滤假阳性组织边界和蓝色像素?以及 (2) 如何调整 Otsu 阈值以捕获微弱的红色阳性?

添加修改后的示例图像 -

  1. 在使用 HistoQC 识别组织区域并将其识别的蒙版应用到组织上后,原始图像左上角,这样所有非组织区域都是黑色的。我应该调整其参数以排除看起来更暗的折叠组织区域(朝向此图像的左下角)。欢迎提出有关识别组织区域的其他工具的建议。
  2. 解卷积后右上角的苏木精
  3. 反卷积后左下AEC
  4. 右下角的 Otsu 阈值处理未应用原始 RGB 图像,试图仅捕获 AEC 阳性像素,但也显示误报和漏报

谢谢

最佳答案

@cris-luengo 感谢您对 scikit-image 的投入!我是核心开发人员之一,根据@assafb 的输入,我们正在尝试重写 color/colorconv/separate_stains 上的代码。

@Assafb: The negative log10 transformation is the Beer-Lambert mapping. What I don't understand in that code is the line rgb += 2. I don't know where that comes from or why they use it. I'm 100% sure it is wrong. I guess they're trying to avoid log10(0), but that should be done differently. I bet this is where your negative values come from, though.

是的,显然(我不是这段代码的原作者)我们使用 rgb += 2 来避免 log10(0)。我检查了 Fiji 的 Color Deconvolution 插件,他们将 1 添加到他们的输入中。我测试了几个输入数字来帮助解决这个问题,~2 会让我们更接近理想的结果。

@Assafb: Compare the implementation in skimage with what is described in the original paper. You'll see several errors in the implementation, most importantly the lack of a division by the max intensity. They should have used -np.log10(rgb/255) (assuming that 255 is the illumination intensity), rater than -np.log10(rgb).

我们的输入数据是 float ;在这种情况下,最大强度为 1。我想说这就是我们不除以某物的原因。

除此之外,我 opened an issue on scikit-image讨论这些问题——并指定解决方案。我已经做了一些研究——我什至检查了 DIPlib 的文档——并实现了那个特定函数的不同版本。但是,污点不是我的主要专业领域,如果您能帮助评估该代码,我们将很高兴——也许可以指出更好的解决方案。再次感谢您的帮助!

关于python - 在忽略边界的颜色反卷积后识别正像素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61092050/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com