sounds like skeletonization might be useful.
https://scikit-image.org/docs/stable/auto_examples/edges/plot_skeleton.html
given the skeleton, if pruned to be a single line, you could walk along the skeleton, get the distance/radius at each point, and use that in a cylinder volume calculation.
this person there also wants to work with segments of some sausage-shaped visual:
I’m just posting this because it’s recent. many people try to do something like this.