2012-04-18 70 views
2

我目前正在開展一個項目,在該項目中,我必須區分正常細胞和患病細胞。我所看到的具體異常表明,細胞核應該有一定的面積​​,大部分是圓形的。我目前使用scipy,numpy和PIL來確定原子核的存在(見下圖)......但我不確定如何確定這個區域,因爲原子核並不總是一個完美的圓。有什麼建議麼?基於區域的狀態圖像檢測和驗證

Original Image before processing

Original Image before processing

Only nuclei are shown

Only nuclei are shown (Mapped Image)

+1

因爲你已經有了一個很好的細分(你快到了!) - 我只是對每種顏色使用一個閾值(0/1) - 所以你只用一個粒子就得到一張黑色圖片,然後添加增加值,所以你有這個區域(以像素爲單位)。如果您需要「真實」區域,則需要使用相機校準/參考物體。 您可能想要研究形狀因子/緊緻度量。如果你有多個相同顏色的粒子,這是行不通的。然後,看看播種。 – 2012-04-18 07:25:15

+0

你也可以看看這個漂亮的教程 [pythonvision.org](http://pythonvision.org/basic-tutorial) 「拍下這張照片並計算核數」 以及[cellprofiler](http ://www.cellprofiler.org) 「免費的開源軟件,旨在使生物學家能夠自動地定量測量成千上萬個圖像的表型」 「。 我還沒有使用過這些。 – denis 2012-04-20 13:56:34

回答

2

如果你知道你的圖像的縮放比例,則僅計算落在單元區域內的像素數。然後,該數字除以圖像中的像素總數,即可得出單元佔用的圖像區域的比例。如果你知道你的圖像分辨率,那麼你應該知道那個矩形圖像域的面積。將兩者相乘以獲得細胞區域。 (a)如果細分不良(b)如果細胞被拉長(差異等比例商)並且舍入包括/排除細胞邊界像素則很重要,或者(c)如果細分不良細胞永遠處於陰影中/未在正確的平面上觀察到以產生其橫截面積。但希望您的實驗包含足夠的數據,您可以放棄這些數據。

0

通過計算你得到的區域內的每個顏色的像素,如果你已經標註您的數據如下:

data = np.array([[0,0,1,1,1], 
       [2,2,1,1,1], 
       [2,3,3,3,3], 
       [2,4,4,3,3]]) 

比你可以使用numpy.bincount()來計算每個標籤:

print numpy.bincount(data.ravel()) 

輸出爲:

array([2, 6, 4, 6, 2]) 

這意味着有兩個0,六1,四個2,6個3,和兩個4