Advice on segmentation and skeketonization

Hello again,
I'd be grateful for some advice, even generic in relation to segmenting and skeletonising some microscope images. I have been tasked with investigating the possibility of automating the counting and skeletonisation (to get node and branch numbers) from a specifically-stained sample set (approx 1000 images in total). Thanks to some previous assistance from this forum, I have managed to get some measurements, however, I'm not fully happy (or confident) with my segmentation and skeletonisation. I have used @Image Analyst's HSV segmentation code, which in general works well for my images, and seemed to perform better than RGB thresholding. The problem with my images is the staining required does not give absolute borders, and therefore interpreting the edges of the cells is difficult, and also the cell types change from branched (which works ok with skeletonisation), to more circular, which obviously won't skeletonise properly. I attach two representative images below. I'm using a Zhang-Suen skeletonisation method at the moment.
XPCFRR.jpg 7Q0Q4F.jpg
I'm looking for some generic advice firstly, if I may - I can elaborate in any detail required subsequently if it assists.
  1. My code presently uses Image Analysts HSV Segmentation code - I have hard-coded what I think are good values. However, would I potentially get a better result if I plotted a histogram first, per image, then applied that to each image as the threshold for segmentation?
  2. I have to disregard cells less than a particular threshold (thanks to previous help here on this). Should I do this immediately after segmentation, or do my imfill holes and bwmorph dilate and thin, then remove the cells with size below the threshold? Because some of the cell branches are very thin already, and some are not connected to the cell body, removing small cell areas here can have an adverse impact on the resulting skeleton. Leaving cells here and removing them after dilating and thinning can result in branches showing on skeleton that might not be connected at all.
  3. Is there any better approach I could consider?
I hope I have explained myself sufficiently, and I'd welcome any comments or advice.

Antworten (0)

Gefragt:

am 8 Feb. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by