MATLAB: Length of a thin curved object in an image

bwdistgeodesicimage processingImage Processing Toolboxmaskregionprops

I'd like to use image analysis to calculate the length of a thread.
Because the thread is not entirely straight, I can't just use regionprops, so I think the best option is to use the function bwdistgeodesic
In the bwdistgeodesic function, what is it expecting for the variable "mask"? How could I use image analysis to generate said mask? I've looked into using regionprops 'Extrema' property, but since I'm not sure what the "mask" variable is in bwdistgeodesic, I'm not sure how I would use the x,y dimensions from 'Extrema' in a mask.
I've attached the example image I'm using – with a "thread" and a one inch coin for size reference.

Best Answer

Because the thread is not entirely straight, I can't just use regionprops,
Why not? Couldn't you just do
S=regionprops( bwareafilt(BW,1,'smallest') ,'Perimeter');
length=S.Perimeter/2