フィルターのクリア

How to Remove Tail from Segmented Circle

3 ビュー (過去 30 日間)
Swathi
Swathi 2023 年 11 月 23 日
コメント済み: Swathi 2023 年 11 月 24 日
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 件のコメント
Matt J
Matt J 2023 年 11 月 23 日
移動済み: Matt J 2023 年 11 月 24 日
Swathi
Swathi 2023 年 11 月 23 日
I have attached the original image and the segmentation mask

サインインしてコメントする。

採用された回答

Matt J
Matt J 2023 年 11 月 24 日
編集済み: Matt J 2023 年 11 月 24 日
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 件のコメント
Matt J
Matt J 2023 年 11 月 24 日
編集済み: Matt J 2023 年 11 月 24 日
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 2023 年 11 月 24 日
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!

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2023 年 11 月 24 日
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 件のコメント
Swathi
Swathi 2023 年 11 月 24 日
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!

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by