Shrinkwrap on convex hull to enclose region in μ-CT data

6 次查看(过去 30 天)
I am processing μ-CT data and part of the analysis is calculating open porosity. Normally I would work with a ROI but I need to process the complete scan volume which contains external region(air) that I need to exclude while still keeping the air inside the solid structure(See image).
The scanned data is in XY slices:
I have tried Convex Hull but due to the nature it includes upto 5-10% extra region. Alternativetly I have tried to use closing operation to create a mask but due to the complex and organic topology the results are not satisfactory.
The following are the XZ slices.
From above images, middle is the different phases. On the right the convex hull mask is applied.
The most problematic regions are where a feature is just about to apear in the subsequent slice(see below)
Most of the image processing is done in Avizo but I can pre/post process the thresholded images if necessary.
Currently convex hull is working in 2D but I have not been able to process it as a 3D data.
I wanted to know if it is possible to use something like a shrinkwrap to enclose the region. I found the following two links but they are for point data and I'm not sure if they can be applied to image data.
I also came across activecontour() but from what I could find it isn't feasible given the large number of images(>1800), or how continuity will be maintained in between slices.
Any additional info or methods that I could try would be helpful!

回答(2 个)

Steven Lord
Steven Lord 2021-8-19
It sounds like you might be looking for an alphaShape.
  1 个评论
Ujjwal Verma
Ujjwal Verma 2021-8-19
Thank you for the suggestion, this does look like a possible solution.
I do have a couple more questions. I ran it with the 3D matrix of the images. And I think it might have worked but it is not possible to see in the figure window due to the amount of data.
Currently I just put an arbitrary radius value of 5, but do I find the optimal value through trial and error or is there any other way?
Secondly, for further analysis I require XY-slices of the alphashape is it possible to get that? I found that it could be exported as an STL but I require it in an image format.
There was a similar question (https://nl.mathworks.com/matlabcentral/answers/389188-help-with-3d-image-processing-conversion-from-alphashape-to-binary-image) but I was unable to use this to export it as images.
Could you provide some more information related to this?

请先登录,再进行评论。


Image Analyst
Image Analyst 2021-8-19
Maybe activecontour(). See attached demo and adapt as needed.
  1 个评论
Ujjwal Verma
Ujjwal Verma 2021-8-20
Thank you for the reply and the demo. It was really helpful in understanding.
I tried it with some of my images. However, it seems that it is either too aggressive(with more iterations) and does not include all features or with lower iterations it is not distinguishable from the convex hull.
400 iterations
Comparing to alphashape. It still includes condsiderable region that I want to avoid.
Is it possible to improve these further or maybe export the alpha shape as a binary mask?

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Bounding Regions 的更多信息

产品


版本

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by