Measuring the cumulative total length for branched or broken lines

I’m sure there is something very simple that I’m missing here. I’m using the segmented line tool to measure features in a TIF image. All very straightforward. Pressing ‘M’ gives me the measurement from start to end, in a table, just as I want. However some of the features are multi-branched or broken, so the only way I can find to acquire a total, cumulative length, is to measure each branch or segment and add them up manually from the figures in the results table. Is there a simple means to ‘pause’ the measurement while I move the cursor to a new starting point, so that the measurement continues from the new point?
I believe the Analyze Skeleton tool does something similar to this, but I can’t find out because my images are not the required 8-bit grayscale that skeleton is requesting and I don’t think skeletonising the images is likely to work with these images. The recording of the number of branches that I believe skeleton may produce would also be useful, but not essential. I’ve tried a few ‘hold down ctrl’ kind of things to see if they work, but it seems not. Is there a simple keystroke that I’m missing, or is this not possible? Thanks.
My images are very large colour, stitched/stacked views of bird tissue on a slide. I am counting and measuring the length of sperm storage tubules, which are sometimes branched, or broken into sections.


Would you be able to share with us an original image file so we can better assist you in developing a workflow? If the images are so large… you could even just share a cropped section - as long as resolution is maintained. Analyze Skeleton does sound like the best option in your case… you could always convert your images to 8-bit. If you only care about the skeleton/branching - this is just fine to do.

1 Like

Hi. Sorry, I don’t know how to do any of that. The original image is an ND2 file of 15Gb in size comprising 11 or more Z layers . If I crop it, it seems to lose all clarity, whichever Z layer I look at. If I try to save anything, I cannot save as the original ND2 file, so it would be a TIFF or other, not the original. All I can do to show you is attach a screen shot of what I’m looking at. I’m not sure how to do that either(!,) but hope this works:

We do not need the entire image. A simple crop of a representative region would be sufficient. Draw a ROI then Image > Crop

Then just save it as .png and upload to the forum.
File > Save As > PNG…
There is an upload button in the message area.

Your images are kind of difficult for automated analysis but not entirely impossible. Could you still improve signal to background? For example improved optical sectioning could maybe improve quality.

If I were you I would go for the tubeness filter:

under Plugins > Analyze > Tubeness

The result can be thresholded to create the binary mask and then you can do the Analyze skeleton.

I am not aware that there are ROI tools that can branch.
For doing this manually you could draw however Paintstyle 255 values in an empty channel that you can create yourself. Then run the skeleton analyzer on that.

1 Like

Hi, Thanks for taking time to respond and for your suggestions. As I’ve mentioned, cropping is very unhelpful, as all clarity and sharpness are lost for some reason, so the features become too vague to recognise. So the screen shot is the best representation I can send.
I am not trying to automate anything. I only need to measure 20 or 30 tubules, not all of them. So all I am after is a keystroke that will pause a measurement, allow me to move the cursor and resume measuring from a new point. And then give me the cumulative total length.

Sorry, but I don’t understand what ‘improving signal to background’ or ‘improved optical sectioning’ mean.

I tried the tubeness filter, which sounds useful, but it crashes everytime due to a lack of memory when ‘convolving’ the images. But then, even if it did, I don’t know how to ‘threshold’ or to ‘create a binary mask’. Likewise, I don’t know what is meant by ‘drawing Paintstyle 255 values in an empty channel’, so I doubt that I could create those myself either.

Thanks for your help, but this is somewhat beyond me. Clearly I was just hoping for a much simpler direction to a method to manually split a measurement and sum the total. But it seems not to exist. It’s quicker for me to just add them together than the rather complicated processes suggested.

Dear @PaulSST,
if I am understanding well,
you are searching for a manual by hand way to obtain a skeleton, and then analyse it with Analyse skeleton to get branches and so on.
This could be an approach:
+ + + drawing part + + +

  1. draw a line

  2. convert it to an area with the Edit->Selection->Line to Area

  3. add to manager

  4. repeat for all lines you have to measure, obtaining something like that:

  5. Select all ROIS and combine them using the RoiManager “OR”:

  6. Select the COMBINED ROI and convert it to a mask
    the result

+ + + Analyse Skeleton + + +
7) select the mask image and Skeletonize it:

  1. select the skeleton image and Analyse it with Analyse Skeleton

  2. FINISHED. You obtain the results table (one for all the branches, one for the skeleons) with all the info I think you need

Hoping to being Helpful,
Emanuele Martini

Analyse skeleton works fine also in 3d, I am not sure how you can draw properly in 3d lines anyway.