Bacterial Cell Segmentation - Ignoring touching bacterial cells

1 回表示 (過去 30 日間)
Matthieu
Matthieu 2017 年 7 月 19 日
I’m creating a program that will take in cell images (160810_rpoEdel_13.jpg) and segment the image to identify individual cells’ centroid location and pixel intensity values. So far, by using sobel edge detection and regionprops to filter out things that are too big, my program can remove most clusters and returns an image that is pretty decent. However, there some touching cells that pass through the filters (segmentedImage.jpg).
Is there another / better way to ignore or filter out the touching cells? Or a better way to segment them?

採用された回答

Image Analyst
Image Analyst 2017 年 7 月 20 日
編集済み: Image Analyst 2017 年 7 月 20 日
The binary image doesn't even look like it came from the same image. You can check solidity to find out which blobs are touching, assuming one of them is at an angle to the other.
By the way, I don't think I'd use Sobel filter - it already looks kind of like a Sobel filtered image. Anyway, you can get a decent binary image just by taking the red channel and thresholding it at 110.
  1 件のコメント
Matthieu
Matthieu 2017 年 7 月 20 日
Yes, you're right, the binary image is from a different image and I forgot to update it. The solidity region prop works well enough to remove most touching cells.
Thanks!

サインインしてコメントする。

その他の回答 (1 件)

MathWorks Medical Imaging Team
MathWorks Medical Imaging Team 2023 年 6 月 20 日
編集済み: MathWorks Medical Imaging Team 2023 年 6 月 20 日
As IA mentioned, we cant locate the failing cases.
You could try the Cellpose plugin (23b Prerelease) which appears to do well with this image.
(You can tweak the cell diameter to get better results, potentially running it twice - once for small cells and once for large cells and then doing a non-max supression)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by