Measure by 'walking' around object

Hi there,

I am wondering if there is a way to make measurements by ‘walking’ around an object. We would like to measure signal intensity at the cell cortex. I can create an appropriate object by finding the edge of the cell and contracting the object. As far as I can tell, the only measurements available are on a per object basis. Any variation in the object will be masked. I guess I could measure standard deviation or texture measurements of the object, but what I would really like to do is to divide the object into x segments of equal area, take the mean of these areas and plot them in a line graph.

Is there anything currently in CellProfiler that could help me do this?



Hi Johnny,

If I understood you correctly, you would like to divide an identified object into several parts, and measure the intensity on each part?

If so, my primary suggestion is to do the following:

  • Identify objects as usual.
  • Then DefineGrid (in submenu “Other”) >> define a grid that divides up your entire image into several small blocks (use Manual > Coordinates). Tune the parameters in a way that each block has a size smaller than your object-of-interest, so in the end one object would overlap would several small blocks.
  • Add “IdentifyObjectsInGrid” , use “Rectangle Forces Location” to identify the blocks.
  • Then use “RelatedObjects”, set the parent objects = the objects, and child objects = the small blocks
  • Add module “FilterObjects”, select object to filter = blocks, filtering mode = Measurements / Limits / Parent / Objects. Set the minimum value = 1, with no maximum. This will help you to only keep the blocks that has at least 1 parent object. You have now reached your goal : each object is divided into blocks.
  • Now measure the intensity of the blocks as usual.

Hope that helps.

Hi Minh,

I haven’t used the CellProfiler forum for years, but you guys are still as fast at responding as ever.

At first glance, I’m not sure this will be exactly what I want, but it could be close. I will give it a try and let you know how it goes.




Depending on your comfort with living on the edge, there may be simpler solution than that; if you want to try the MeasureRadialEntropy module available on our plugins repository, I just pushed a fix that would do what you wanted. Right now it divides the objects into wedges, assigns all the pixels in each wedge into a bin, calculates the mean/median/or total, then calculates the entropy of those measurements- I just added a couple of lines of code that would have it additionally report each bin’s measurement, not just the entropy of all measurements. I haven’t (and likely won’t for some time) had a chance to debug it other than seeing that it runs or verify that what it’s reporting is correct (though we previously calculated the entropy calculations were accurate, so AFAIK they should be right), but if you’re willing to live dangerously (or even better, verify it for us!) , feel free to give it a try.

You’ll need to be using CP 3.0 to do it.

(The display on it is still broken though, so make sure to only try running it with the eye closed!)

Hi Beth,

Thanks for the suggestion. This is more what I was thinking . I ran a couple of test images yesterday and I think it is working fine. Is it possible to visualize the wedges on the object somehow? It would give me a better idea of what is happening. Also, I can control the number of wedges per object, but do you think it would be possible to control the area? In this case I can make wedges of equal area, but the number of wedges in each object will depend on its size.

I’ve attached a pdf showing the output for the median intensity of the wedges for two different cells. We are measuring protein recruitment to the cortex and expect that the cell on the right would have more protein at that region.

Thanks for your help,


All of these things are theoretically possible, but are outside my bandwidth to add right now (and by right now I mean “for at least the next 6 weeks”). You can feel free to make issues on the plugins repo requesting features (or even better, add them to the code yourself if you can and then submit a pull request!) but I can’t promise to address them anytime soon.