Image Region Filtering, Line Fitting

1 view (last 30 days)
RFM on 4 Sep 2020
Commented: Image Analyst on 19 Sep 2020
I am actually trying to connect the centroids in the form of a curved line and only want to keep the regions along the line.
Input Binary Image.
labeledImage = labelmatrix(bwconncomp(binaryImage,8));
props = regionprops(labeledImage, 'All');
allCentroids = vertcat(props.Centroid);
% Sort Based on Xs (For Segregation)
allCentroids = sortrows(allCentroids,1);
% Analyse and Filter Outliers Regions
regions_to_keep = ???? % How should I approach ? I may have to set various if-else checks. Please guide me through.
% Desired Output Images are also attached.
binaryImage = ismember(labeledImage, find(regions_to_keep));
The Centroids and Line (OUTPUT):
  1. Here I am coming across a problem in which false regions are joined with the vertebral column. How to get rid of this problem?
The Desired Output?
  1. So far I have manually done this Image, as a last resort I am planning to call for user input and select/reject the regions based on user input.
So, in summary, I am facing the difficulty as follows:-
  1. Plotting the Curved Line Across Centroids (ONLY ALONG THE VERTERBAL COLUMN)
  2. False Regions merging into the Vertebral Column.
Any Help!
Image Analyst
Image Analyst on 19 Sep 2020
Many of the papers published in the link were before Deep Learning was invented and will use conventional/traditional methods. Like Walter says, no one here has exact code to hand over to you, and there is no Vertebra Toolbox offered by MATLAB, so you'll have to do some research and write it yourself. Good luck though.

Sign in to comment.

Answers (1)

Image Analyst
Image Analyst on 8 Sep 2020
Check pubmed or vision bibliography to find papers discussing segmentation of vertebrae. I know there will be some there.
  1 Comment
Image Analyst
Image Analyst on 8 Sep 2020
Edited: Image Analyst on 8 Sep 2020
I'm really surprised that no one has been ever able to solve this and publish it. If experts who were working for years on it were unsuccessful, then there's no way I'll be able to come up with a solution, or even a plan for one, for you in just a few minutes. Sorry, but good luck.
I'd suggest you try deep learning and use segnet. We've done that in some situations like that.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by