Filter löschen
Filter löschen

How to Remove Tail from Segmented Circle

3 Ansichten (letzte 30 Tage)
Swathi
Swathi am 23 Nov. 2023
Kommentiert: Swathi am 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 Kommentare
Swathi
Swathi am 23 Nov. 2023
I have attached the original image and the segmentation mask

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Matt J
Matt J am 24 Nov. 2023
Bearbeitet: Matt J am 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 Kommentare
Matt J
Matt J am 24 Nov. 2023
Bearbeitet: Matt J am 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 am 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!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 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 Kommentar
Swathi
Swathi am 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!

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by