How to automatically separate fibers from nuclei in a histological image ?
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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)
 (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 comentarios
Respuestas (1)
  Maneet Kaur Bagga
      
 el 7 de Sept. de 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 comentarios
  Maneet Kaur Bagga
      
 el 13 de Sept. de 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.
Ver también
Categorías
				Más información sobre Deep Learning Toolbox en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

