How to Remove Tail from Segmented Circle
3 ビュー (過去 30 日間)
古いコメントを表示
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!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1550987/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1550992/image.png)
採用された回答
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
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.
その他の回答 (1 件)
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.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!