Radius of curvature of a crater on a surface
Show older comments
I need to be able to use MATLAB to measure the radius of curvature of a "dimple" on a surface. I cannot post the images here, but imagine a nice rounded surface with a dimple or crater in it, as if something impacted it and left a forever dent.
I've seen some code on here regarding radius of curvature, but I cannot make it work for what I have. My images are imported as "STL" files, and as of now, I can only plot them using the scatter3 command, meaning I have a surface, but not a smooth one... one with scatter plot dots everywhere. You can easily visualize it, though.
Is there a way to do this? If ML can find the slope change where the surface stops and crater starts, it can give me the points for the "circle" to use, and I'm sure it can measure the depth, but as for the radius of curvature of that hole, I'm at a loss.
Any ideas?
2 Comments
Sean de Wolski
on 26 Nov 2013
First you have to define the surface, i.e. the connectivity of the vertices. Do you have this information from the STL file?
John
on 26 Nov 2013
Accepted Answer
More Answers (1)
Image Analyst
on 26 Nov 2013
0 votes
I've never used STL files, but if you can get a topographic image (with pixel value being the height values) then you can threshold, and call regionprops(binaryImage, 'EquivDiameter') to get the equivalent circular diameter (ECD).
3 Comments
Sean de Wolski
on 27 Nov 2013
There is a voxelize function on the FEX to convert the output from an STL file to a three-dimensional volumetric image. This might be a quick approach for you, John.
John
on 27 Nov 2013
Image Analyst
on 27 Nov 2013
I haven't used it, and don't have plans to. I assume you contacted the author.
Categories
Find more on Lighting, Transparency, and Shading in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!