Effacer les filtres
Effacer les filtres

How to Remove Tail from Segmented Circle

3 vues (au cours des 30 derniers jours)
Swathi
Swathi le 23 Nov 2023
Commenté : Swathi le 24 Nov 2023
Hi, I am currently working on segmenting the left ventricle's wall from a series of MRI images using region growing.
I am getting pretty good results, except there is a region surrounding the right ventricle with similar properties that ends up getting included (and sometimes including even more distal regions), as shown in the images attached.
I was wondering if there is an effective way of segmenting just the circular region of the wall either by shape or any other methods. Also, is there a way of filling in the crevices of the desired region/smoothing its surface without closing the inner hole? Thanks!
  3 commentaires
Matt J
Matt J le 23 Nov 2023
Déplacé(e) : Matt J le 24 Nov 2023
Swathi
Swathi le 23 Nov 2023
I have attached the original image and the segmentation mask

Connectez-vous pour commenter.

Réponse acceptée

Matt J
Matt J le 24 Nov 2023
Modifié(e) : Matt J le 24 Nov 2023
This uses bwlalphaclose from this FEX download
load image
im=double(im);
im=repmat(uint8( im/max(im(:))*255 ),1,1,3);
BW=load('mask').img;
BW=bwlalphaclose(BW,1,'HoleThreshold',200);
C=imopen(imfill(BW,'holes'),eye(4))&BW;
C=bwareafilt(C,[100,inf]);
C=bwpropfilt(C,'Eccentricity',1,'smallest');
C=bwlalphaclose(C,3,'HoleThreshold',200);
imshow(imoverlay(im,C,'y'),[]);
  3 commentaires
Matt J
Matt J le 24 Nov 2023
Modifié(e) : Matt J le 24 Nov 2023
Well, you still have the original mask, so you can select features from that mask and add them to the revised one. Now that you've isolated the circle around the left ventricle, you should be able to establish landmarks that allow you to find and extract which parts of the original mask you'd like to keep.
Swathi
Swathi le 24 Nov 2023
Got it, thanks! Ultimately, I think I'm going to go with a different approach as suggested by the other commenter just for the sake of automating the task since I have to repeat this across many slices for hundreds of patients, but this is an approach that solves the problem perfectly. Appreciate the help a lot!

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 24 Nov 2023
Another solution might be possible. How much do you know about the tail? Is it always about that thickness, and the ventricle wall is always about that thickness with a large hole, and there may or may not be "junk" on the left hand side of the image that we want to exclude? If we can make some assumptions about how large or long the tail is we might be able to find it and cut it off without affecting any of the very small protrusions along the ventricle wall.
I'm thinking of trying things like scanning the image column-by-column (to find tail apart from circle), using convex hull, bwboundaries, perhaps some morphological functions, perhaps fitting to an ellipse and looking for protrusions that go far outside the fitted ellipse, etc. It would definitely take hours or days of work with lots of different images to get a robust solution.
Unfortunately I can't donate/spend that much time for you, plus I'm going on vacation without computer for the next 3 days. But you can, so good luck. I'm attaching a couple of fitting functions that might come in useful.
Finally, see this link for image processing articles that worked on heart images.
  1 commentaire
Swathi
Swathi le 24 Nov 2023
Thanks, I think I'm going to be using a combination of these approaches to better delineate the left ventricle: a best-fit circle/ellipse, bwboundaries, and boundaries of the right ventricle I've more successfully extracted with region mapping. Thanks for the resources!

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by