well your task is rather complex and I suggest you to contact an image specialist at the local imaging facility, if you do not have large experience with image processing.
I think the CellProfiler is the best tool for doing the task. Below I show you the required steps; I will use MIB (mib.helsinki.fi) for the illustration purposes.
To start, you should have segmented model of your cells, I would expect that it is the most difficult thing in your case.
You’ve mentioned that:
I first used the pixel classification module to create a model of what’s a protrusion, what’s a cell cytosol, and what’s our background.
So, you should hopefully have already the segmented cells.
Below an image with the model; all cells belong to the same material (have the same index in the model) and it is important that adjacent cells have gaps (I highlighted one of the gaps with a green circle)
the next task is to separate cells to individual objects, where each cell will have its own index in the model. In MIB, right click over the material ‘1’ and select Get Statistics:
In the statistics window, press the Run button to get areas of individual cells (If there are some small noisy objects those can be removed at this stage)
To split object, select with the LMB the 1st and the last (Shift+LMB) objects and press the right mouse button to call a popup menu and select Objects to a new model:
As result, each cell got an own index and you can see that they all have distinct colors:
Now it is possible to get image intensity of each cell. To do that, convert the model into a different type: Menu->Models->Convert type->65535
Next reopen the Get Statistics dialog as in step 2 above
In the Get statistics window, select Objects->Model (if it is not there, reopen the window); Mode->Intensity and change MinIntensity to MeanIntensity and press Run. Now you should get mean intensity of each cell.
You can export this by pressing the Export button
The protrusions can be obtained using morphological operations. There are few ways, but the easiest is this:
- Select Exterior in the Segmentation table:
- Press Alt+A to select it (the corresponding area turns green)
- Invert selection: Menu->Selection->Invert selection
- select the proper step for erosion in the selection panel->Strel size. I put “3” and pressed Erode 2 times (z-key shortcut). As you can see that the green area shrank
- Now we need to restore the size of the cells, to do that we need to apply dilation the same number of iterations as erosion (i.e. 2):
- Remove the green area from the cells: press “S”
- Finally, we can calculate intensity and size parameters of the obtained protrusions:
- Start “Get statistics” dialog, as in step 2
- Make sure that: Objects->Model, Shape->2D, Multiple checkbox->ticked
- Press the Define properties button and choose properties that have to be calculated
The problem is that at this stage MIB calculates combined properties for all object belonging to the same material. So you will get area or mean intensity of all protrusions. If you really want to have them all split by individual object you have to choose corresponding object in the Objects dropdown and recalculate (I would normally write a plugin to do that automatically). At this point, you will also see that there are some very small object (few pixels in size) and it would be the best to filter them out.
Based on that I think CellProfiler would be the better choice but I am not totally sure whether you can get statistics for individual objects within multiple objects…