I have a microscope image of some animal tissue and wish to get the contours for all the cells that are present in the image. the cells are connected to the neighbouring cells via these contours. At the bottom of the image the signal intensity is faint but the human eye can still detect some contours.
I have tried a bunch of techniques including the use of ClusteringComponents and MorphologicalBinarize, LaplacianGaussianFilter and GradientFilter but have been unsuccessful in my approaches. The particular problem I am facing is the inability to get rid of the noisy signal (grains/granules whatever you may wish to call them) inside the contours during segmentation.
Can anyone kindly help me for my research problem. Thanks in advance.
the closest i have are the following approaches but they do not prove satisfactory:
KuwaharaFilter[CommonestFilter[GaussianFilter[
Binarize[img, 0.2, Method -> "MinimumError"], 3], 3],3]
Using SkeletonTransform after KuwaharaFilter and application of other filters
KuwaharaFilter[CommonestFilter[GaussianFilter[
Binarize[img, 0.18, Method -> "MinimumError"], 3],3], 3] //
Binarize[#, 0.6] & // SkeletonTransform
Using DistanceTransform in conjunction with KuwaharaFilter and a bunch of filters
KuwaharaFilter[CommonestFilter[GaussianFilter[
Binarize[img, 0.18, Method -> "MinimumError"], 3],3], 3] //
Binarize[#, 0.55] & //DistanceTransform // ImageAdjust











