Descrimiate larger objects from smaller in one specified class


I use Orbit Image Analysis. I have created a model that finely discriminates between the blue cells, the white background and the brown (stain). However, I want the model to only consider the smaller stained areas (orange circles on the uploaded photo) and not the big brown proteins casts (green circle).

It would be nice if the Exclusion model (or other tools?) could, in some way, exclude the big areas with brown color (e.g. over a certain diameter og a certain amount of pixels) in just the one class assigned to the brown color (that means, not in the class assignes for the cells or the background (white areas)), so that I don’t have to edit every photo manually.

Thank you very much for your help.

p53_p5w_20409_1_500_4.tif (12.4 MB)

Dear @Soren_Hejgaard,

thanks for using Orbit!
So first of all - do you want to quantify the “number of brownish pixels exclusing the bigger brownish regions”? Or do you want to do a cell segmentation and then qantify the number of stained cells…?
Each method would have pros and cons. In general the pixel classification will be more robust.
So, what you can try is (one of these options):

  1. (pixel) classification, but with seperate classes for small brown regions and large brown regions. You might want to increase the “structure size” in the feature configuration (F3). Background: the structure size defines the region around each pixel Orbit considers to compute features. With a higher structure size (try e.g. 7, default is 3) Orbit discriminates brown pixels with a lot brown around from brown pixels with blue/white around.

  2. or use an exclusion model as you proposed, but with a higher exclusion level (try 2) (parameter in exclusion model tab) to get a “fine grained exclusion” model.

  3. or perform object segmentation and in the features (f3, tab segmentation) set the maximum path length to e.g. 300 or smaller to exclude large brown regions.

Please give it a try and let me know!


Hi Manuel.

Thank you so much for your effort. First of all, I want to quantify the number of brownish pixels excluding the bigger brownish regions, just as you correctly wrote.

I have tried your first two suggestions, but I dont see how the “structure size” make any difference (I have tried going from 3 to 9). What I do is: After changing it I then press “train” (in the “classification” tab) to apply/active the command. Is that correct? Because I dont really see any changes in the model. The same thing applies for the exclusion model, I cant see any changes in the model after changing the the Exclusion Model Level from 1 to two.

I have attached a picture of the model (with decreased opacity)(picture 1). I have successfully excluded some of the big brown area (painted orange at the picture) from the small brown spots (painted blue at the picture) by making two separate classes (green is cells and purple is the background). So far so good. But still there is a blue round ring of cells, seemingly not positive for brown staining but still marked as positive , around the orange objects (picture 1 and 2).

For what I know, the “structure size” actually will change that, but I dont seem to manage how to apply it sufficiently. Maybe there is something wrong with the way I classified the the blue objects (marking what I am looking for) in the first place?

Picture 1: Full picture:

Picture 2: A zoom of the original picture of the blue ring with the orange middle at the top left corner of picture 1 showing that the program incorrectly marks the cells around the brown area as positive, when it should be coloring it green (because its just a cell)
Skærmbillede 2020-02-19 kl. 17.00.22

Can you guide me once again?

Kind regard
Søren Hejgaard

Hey @Soren_Hejgaard,
sorry for the late reply.
So indeed the structure size should make a big difference.
After changing it you have to press “train” and then “classify” again - when creating the model - this means when you drew the training shapes.
In case you loaded an existing model you have to click model -> load training shapes first (which will open all images and shapes used to train the model) - so that you can re-train with a different structure size.
Please let me know how this works for you…