How to automatically separate fibers from nuclei in a histological image ?
    조회 수: 2 (최근 30일)
  
       이전 댓글 표시
    
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
답변 (1개)
  Maneet Kaur Bagga
      
 2023년 9월 7일
        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
  Maneet Kaur Bagga
      
 2023년 9월 13일
				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.
참고 항목
카테고리
				Help Center 및 File Exchange에서 Deep Learning Toolbox에 대해 자세히 알아보기
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

