Python中的细胞分割和荧光计数

如何在显微镜上拍摄的图像中细分细胞,沿着Matlab中的方式划分细胞? http://blogs.mathworks.com/steve/2006/06/02/cell-segmentation/ 此外,如果我在不同的荧光通道中拍摄多个图像(用一些抗体/制造者染色细胞后),我如何自动定量每个标记阳性细胞的比例?有没有人在Python中做过这样的事情?或者Python中是否有可用于执行此操作的库?     
已邀请:
你读过pythonvision.org上的教程吗? http://pythonvision.org/basic-tutorial 它与您正在寻找的非常相似。     
您可以使用OpenCV库在Python中执行此操作。 特别是,您将对以下功能感兴趣: 直方图拉伸(
cv.EqualizeHist
)。当前的Python API缺少此功能,但如果您下载最新的OpenCV SVN版本,则可以使用它。此部分仅用于显示目的,不需要获得相同的结果 图像阈值 形态学操作,如腐蚀(也扩张,开放,关闭等) 使用cv.FindContours确定二进制图像中blob的轮廓 - 请参阅此问题。它使用C而不是Python,但API实际上是相同的,所以你可以从中学到很多东西 分水岭分割(使用
cv.Watershed
- 它存在,但由于某种原因我在手册中找不到它) 考虑到这一点,我将使用OpenCV来获得与matlab文章中相同的结果: 使用经验确定的阈值(或Ohtsu的方法)阈值图像 对图像应用扩张以填补间隙。可选地,在先前的阈值处理步骤之前模糊图像 - 这也将移除小“洞” 使用
cv.FindContours
确定轮廓 可选地,绘制轮廓 使用斑点信息,迭代原始图像中的每个斑点,并为每个斑点应用单独的阈值以分离细胞核(这是他们的
imextendedmax
操作正在进行的操作) 可选地,在核中涂漆 应用分水岭变换 我没有尝试过这些(对不起,现在没有时间),所以我还没有给你看任何代码。但是,根据我对OpenCV的经验,我相信第7步的一切都会运作良好。我之前从未使用过OpenCV的分水岭变换,但我看不出它不能在这里工作的原因。 尝试完成我展示的步骤,如果您有任何问题,请告诉我们。请务必以更多人能够帮助您的方式发布您的来源。 最后,要回答关于染色细胞并量化细胞存在的问题,了解您正在使用的染料非常容易。例如,要确定用红色染料染色的细胞,您需要从图像中提取红色通道并检查高强度区域(可能通过阈值处理)。     
您可能还会发现此库很有用: https://github.com/luispedro/pymorph/ 我发现移动比OpenCV库更容易。     
只需添加一个:cellprofiler.org(开源单元格图像分析软件,在python中)     

要回复问题请先登录注册