Tube Assay


is there a way to quantify the tube assay with Cell Profiler?
I would like to measure whole tubelenght, number of tubes and branches.
One picture for example is attached…
Thanks for help

Hi Jana,

I’ve created a pipeline which seems to be work on the image provided (although you will want to use raw images for analysis, not ones with a scale bar included). I’ve annotated the pipeline so you can see my thought-process; the notes are at the top of the module settings.

Hope this helps!
2011_08_02.cp (16.6 KB)

Ey Mark,

that looks amazing, big thanks . You helped a lot! :laughing:
Will try it with more pics soon.
Would be wonderfull if in case I can ask you again.

with big thanks

Hey Mark,

is there maybe a possibility to measure whole tube lenght in px? I´m sure there is, but I did´t got it.

Thanks for help.

Hi Jana,

I made a brief mention of this in MeasureAreaOccupied: Since the tubes are 1 pixel thick, the total area is equivalent to the total length. You will find this measurement under the header “Image_AreaOccupied_AreaOccupied_Tubes”.


Hallo Mark,

so simple :wink: thanks.


Hi all,

I have been trying a slightly modified version of the above pipeline on my images and it works very nicely (thanks!). I was wondering whether there might also be a way to measure the number and area of the enclosed “loops” within the image, as I’d quite like to compare the results to another piece of software that measures only these parameter. I’ve attached a sample image and the edited version of the pipeline. The pipeline is the same as the one above, but with slightly different thresholds and with the ColorToGray module replaced with EnhanceEdges.


calculate_tubes_v4.cp (16.4 KB)

Hi Jamie,

I would suggest the following:

  • Use MaskImage to mask an image (any image, such as the original Grayscale image) with the Cell objects. Make sure the “Invert the mask” setting is checked.
  • Use IdentifyPrimaryObjects on the masked image with no discarding of objects based on size, manual thresholding (threshold set to 0), no declumping, and holes filled.

This will find the spaces between the tubes as objects which are counted and can be measured.

Hi Mark,

Great, thanks. That was precisely what I was after.


Hi Mark,

First, I would like to thank you guys for the great software you are programming keep going.
Even thought this is my first post in the form I am with you since my undergrad times at ETHZ, 2008 version 0.9 (It was the mathlab times).
I invested a little time in the pipline. I have added the tubeness recognition plugin to the pipeline (tubeness 2.0 from the neurite tread
However, I have to clean the TCP Client cache afterwards to not run out of memory. Any suggestions?

tubes_Tubeness_v4.cp (21.8 KB)