Python 计算机视觉:计数细胞时如何清除碎片?

Python 计算机视觉:计数细胞时如何清除碎片?,python,computer-vision,mahotas,Python,Computer Vision,Mahotas,我正在尝试使用python计算图像中的一些单元格。我或多或少都在学习教程。在一个阈值步骤之后,我找到区域最大值并计算它们。这对计算细胞核非常有效,但是有一些假阳性,包括我不想计算的死细胞和细胞碎片。我使用的代码是: import mahotas as mh import numpy as np from matplotlib import pyplot as plt dna = mh.imread('img.jpg') dna = dna[:,:,0] dnaf = mh.gaussian_

我正在尝试使用python计算图像中的一些单元格。我或多或少都在学习教程。在一个阈值步骤之后,我找到区域最大值并计算它们。这对计算细胞核非常有效,但是有一些假阳性,包括我不想计算的死细胞和细胞碎片。我使用的代码是:

import mahotas as mh
import numpy as np
from matplotlib import pyplot as plt

dna = mh.imread('img.jpg')
dna = dna[:,:,0]

dnaf = mh.gaussian_filter(dna.astype(float), 4)
maxima = mh.regmax(mh.stretch(dnaf))
maxima = mh.dilate(maxima, np.ones((5,5)))
plt.imshow(mh.as_rgb(np.maximum(255*maxima, dnaf), dnaf, dna > T_mean))
plt.show()
下面是图片。死亡的细胞在右下角和中间的左下角。假阳性是大的红色斑点

我能过滤掉这些误报吗?我尝试过获取所有区域的大小,并根据大小进行过滤,但一旦我获取区域最大值,结果看起来很奇怪

dnaf = mh.gaussian_filter(dna.astype(float), 4)
sizes = mh.labeled.labeled_size(dnaf)
too_small = np.where(sizes < 800)
dnaf = mh.labeled.remove_regions(dnaf, too_small)
maxima = mh.regmax(mh.stretch(dnaf))
maxima = mh.dilate(maxima, np.ones((5,5)))
plt.imshow(mh.as_rgb(np.maximum(255*maxima, dnaf), dnaf, dna > T_mean))
plt.show()    
dnaf=mh.gaussian_过滤器(dna.astype(float),4)
尺寸=mh.标记尺寸(dnaf)
太小=np.其中(尺寸<800)
dnaf=mh.标记。移除区域(dnaf太小)
最大值=mh.regmax(mh.stretch(dnaf))
最大值=mh.扩张(最大值,np.单位((5,5)))
plt.imshow(mh.as_rgb(np.最大值(255*最大值,dnaf),dnaf,dna>T_平均值))
plt.show()
这只消除了其中一个误报,并在其他几个位置扭曲了图像(见下文),让我觉得我做错了什么

同样,这张图片与第一张图片的位置不同,但与原始图片相比,它看起来失真了,而且死细胞碎片仍然存在,所以我肯定我做得不对


所以我的问题是,使用python从图像中移除小碎片/死细胞以获得更好的细胞计数估计值的最佳方法是什么?

我认为您必须从原始图像开始,以识别误报。标记死细胞和其他假阳性的位置,并记录它们产生的斑点的几何特性。如果像大小这样的属性可以显示出明显的差异,那么您可以很容易地区分它们

另一种选择是更改参数,如高斯滤波器大小和膨胀运算符大小


如果这些都没有帮助,建议使用大量显微图像,并基于它们训练机器学习系统。

我认为你必须从原始图像开始,以识别误报。标记死细胞和其他假阳性的位置,并记录它们产生的斑点的几何特性。如果像大小这样的属性可以显示出明显的差异,那么您可以很容易地区分它们

另一种选择是更改参数,如高斯滤波器大小和膨胀运算符大小


如果这些都没有帮助,建议使用大量显微图像,并基于它们训练机器学习系统。

我想确保我了解问题所在。在我看来,这似乎很简单:一个活细胞有一个细胞核,在活跃的原生质中至少有两倍的面积。也许如果你先去掉没有核的斑点,太小的操作就可以完成这项工作?我想确保我理解这个问题。在我看来,这似乎很简单:一个活细胞有一个细胞核,在活跃的原生质中至少有两倍的面积。也许如果你先去掉没有核的斑点,太小的操作就能完成任务?