How to find distribution of thickness??
9 views (last 30 days)
Show older comments
Shan Kapoor
on 10 Jan 2012
Commented: Image Analyst
on 1 May 2015
Hi All,
How to find distribution of thickness in black portion of images like this ??
Thanks in advance Shan
Accepted Answer
Image Analyst
on 13 Jan 2012
This is how:
1. Use bwdist() to calculate the Euclidean Distance Transform.
2. Use bwmorph() to calculate the skeleton.
3. Get the ridgelines by taking the EDT image at the skeleton locations. The values along the ridgelines of the EDT will be the distance from the ridgeline (backbone, skeleton) to the background. You may want to double these values to get the width all the way across instead of only half way across.
4. Take the histogram of those values.
It should only be 4-6 lines of code (not including comments, calls to display and plot things etc.). Give it a shot.
4 Comments
Milton
on 1 May 2015
It says:
K>> whos BW
Name Size Bytes Class Attributes
BW 354x209x196 14501256 logical
which suggests that the previously reported error message (Error using bwmorph Expected input number 1, BW, to be two-dimensional) indicating BW needs to be 2D might actually mean that BW needs to be 2D. Or is there some other implied meaning to that?
Image Analyst
on 1 May 2015
You have a volumetric binary image (not a color image like I thought). Of course that is not allowed either. Skeletonization reduces the dimension by one, so the skeleton of a 3D object is a bunch of curvilinear sheets, though I think there are routines that can take a skeleton of thick branches and dissolve them down to one pixel wide lines. I've not personally used any of them and don't know the details. I've only used the "sheets" skeletonization (provided to me by Steve Eddins of the Mathworks)
More Answers (1)
Vedpal Singh
on 1 Feb 2015
Euclidean Distance Transform [bwdist()]can be used only to calculate the thickness of 2D image not 3D images.
Anybody can suggest the 3D thickness measurement methods?
3 Comments
Image Analyst
on 12 Feb 2015
Why do you say that? That's not true. Just look at the help:
D = bwdist(BW) computes the Euclidean distance transform of the binary image BW. For each pixel in BW, the distance transform assigns a number that is the distance between that pixel and the nearest nonzero pixel of BW. bwdist uses the Euclidean distance metric by default. BW can have any dimension. D is the same size as BW.
The key phrase being "BW can have any dimension." In other words, it can handle 3-D volumetric binary images.
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!