【问题标题】:Cell segmentation and fluorescence counting in Python [closed]Python中的细胞分割和荧光计数[关闭]
【发布时间】:2011-07-30 10:49:54
【问题描述】:

如何按照在 Matlab 中所做的操作从显微镜上拍摄的图像中分割细胞?

http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/

另外,如果我在不同的荧光通道中拍摄多张图像(在用一些抗体/标记物染色细胞后),我如何自动量化每个标记物阳性细胞的比例?有没有人在 Python 中做过这样的事情?或者是否有 Python 中的库可用于执行此操作?

【问题讨论】:

  • 不确定如何解决这个问题,但尝试编辑以解决(相当挑剔和不正确的)“离题”标记。
  • @bluefeet - 为什么关闭?这是一个具体的问题,下面有两个具体的答案。我删掉了要求推荐的部分。
  • @thouis 为什么关闭?因为它的问题太宽泛了,而且它还要求一个图书馆。您删除最后一行的编辑基本上使该问题的每个答案都无效,这些答案只是指向一个链接。关闭一个问题并不意味着它会被删除,但是这个问题写出来是题外话。
  • @bluefeet 我非常不同意。他们问了一个非常具体的问题(“我如何分割单元格......”),然后提供了一些其他信息。最佳答案有一个正是这样做的教程。顺便说一句,关于图书馆的问题在最后。如果您不喜欢该部分,只需将其编辑掉。
  • @thouis 在您于 6 月 8 日进行编辑后,该帖子进入重新审核队列,他们投票认为该问题应保持关闭。在这个时候,我不会重新打开它——它太宽泛了,它要求一个图书馆。如果您想继续讨论,请随时ask on meta

标签: python matlab image-processing scipy scientific-computing


【解决方案1】:

您可以在 Python 中使用 OpenCV 库执行此操作。

您尤其会对以下功能感兴趣:

  • 直方图拉伸 (cv.EqualizeHist)。这是来自当前 Python API 的missing,但如果您下载 OpenCV 的最新 SVN 版本,则可以使用它。这部分仅用于展示目的,不需要得到相同的结果
  • image thresholding
  • erode 等形态学运算(也包括扩张、打开、关闭等)
  • 使用cv.FindContours 确定二进制图像中斑点的轮廓——参见this question。它使用的是 C,而不是 Python,但 API 几乎相同,因此您可以从中学到很多东西
  • 分水岭分割(使用cv.Watershed -- 它是exists,但由于某种原因我在手册中找不到它)

考虑到这一点,以下是我将如何使用 OpenCV 来获得与 matlab 文章中相同的结果:

  1. 使用凭经验确定的阈值(或 Ohtsu 方法)对图像设置阈值
  2. 对图像应用膨胀以填补空白。或者,在上一个阈值步骤之前模糊图像 - 这也将消除小“洞”
  3. 使用cv.FindContours 确定轮廓
  4. (可选)paint the contours
  5. 使用 blob 信息,遍历原始图像中的每个 blob,并为每个 blob 应用单独的阈值以分离细胞核(这就是他们的imextendedmax 操作正在做的事情)李>
  6. (可选)在细胞核中绘制
  7. 应用分水岭变换

我还没有尝试过任何这些(抱歉,现在没有时间),所以我还不能给你看任何代码。但是,根据我使用 OpenCV 的经验,我相信第 7 步之前的所有操作都可以正常工作。我以前从未使用过 OpenCV 的分水岭变换,但我看不出它在这里不起作用的原因。

尝试完成我展示的步骤,如果您有任何问题,请告诉我们。请务必发布您的来源,这样更多人将能够帮助您。

最后,要回答您关于染色细胞和量化其存在的问题,很容易知道您正在使用的染料。例如,要确定被红色染料染色的细胞,您需要从图像中提取红色通道并检查高强度区域(可能通过阈值处理)。

【讨论】:

    【解决方案2】:

    您是否阅读过 pythonvision.org 上的教程?

    http://pythonvision.org/basic-tutorial

    它与您正在寻找的非常相似。

    【讨论】:

      【解决方案3】:

      再添加一个:cellprofiler.org(开源细胞图像分析软件,python)

      【讨论】:

        【解决方案4】:

        您可能还会发现这个库很有用:

        https://github.com/luispedro/pymorph/

        我发现它比 OpenCV 库更容易上手。

        【讨论】:

        • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
        • @AndrewSvetlov 谢谢哥们.. 4 年前你在哪里告诉我们这个。
        猜你喜欢
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        • 1970-01-01
        • 2018-01-24
        • 2023-03-24
        相关资源
        最近更新 更多