How to automatically separate fibers from nuclei in a histological image ?
2 views (last 30 days)
Show older comments
Hi everybody !
I am working on histological images on matlab, and I would like to measure orientation of fibers on my images.
I have tried my orientation determination code on a 'simplistic' image from paint (see bellow) and it's working quite well. I am using structural elements lines that I rotate from 1 to 180° using imopen.
So know my next step is to isolate fibers in my pictures so that I can run the algorithm without measuring nucleus orientation for example.
Here is an example of the kind of images I have :
(fibers I would like to measure are the small black lines)
and without visible fibers :
For know, I have been struggling with this problem using various of thecnics such as opening with small disks, sobel filter with bwareaopen, or even clustering in L*a*b space for the image with colours.
I would like to have your point of view on how I could do such thing (maybe neural network is my only option here?). At first I would like to have a simple algorithm, even if it's no perfect !!
Thank you very much in advance for your help !
Simplistic image :
0 Comments
Answers (1)
Maneet Kaur Bagga
on 7 Sep 2023
Hi Francois,
As per my understanding of the question, to isolate the fibres from the histological images considering a neural netwrok based approach can be a suggested option. For designing a neural network for the fibre segmentation you may use popular architectures like U-Net, FCN(Fully Convolutional Network) or DeepLab.
You may refer to the following MATLAB Documentation for the implementation of the architectures.
U-Net
FCN
DeepLab
For determining the orientation of the fibre you may refer to the Region and Image Properties from the MATLAB Documentation specifically the Orientation section:
I hope this helps!
Thank You
Maneet Bagga
2 Comments
Maneet Kaur Bagga
on 13 Sep 2023
Hi Francois,
For a smaller dataset, you can try these two alternate approaches:
- Converting the image to a gray scale image, then applying a thresholding technique(global or adaptive) followed by applying morphological operations like erosion("imerode"), dilation("imdilate"), opening("imopen") or closing("imclose") to enhance the fibre structure and separate them from the backgorund.
- Construct a graph representation of the image using the "graydiffweight" function to compute the weights between neighboring pixels based on their intensity differences. Apply graph-based segmentation algorithms like normalized cuts (nCut) or minimum spanning trees (graywatershed) to segment the fibers.
See Also
Categories
Find more on Biomedical Imaging in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!