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

6 visualizzazioni (ultimi 30 giorni)
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!

Risposte (2)

Steven Lord
Steven Lord il 19 Ago 2021
It sounds like you might be looking for an alphaShape.
  1 Commento
Ujjwal Verma
Ujjwal Verma il 19 Ago 2021
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?

Accedi per commentare.


Image Analyst
Image Analyst il 19 Ago 2021
Maybe activecontour(). See attached demo and adapt as needed.
  1 Commento
Ujjwal Verma
Ujjwal Verma il 20 Ago 2021
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?

Accedi per commentare.

Categorie

Scopri di più su Bounding Regions in Help Center e File Exchange

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by