I think you got off to the right start (at least in theory, I haven’t played with your pipeline super thoroughly) but after you do your three rounds of IdentifyPrimaryObjects instead of what you have I’d use 4 MaskObjects modules instead- you can mask green by red, red by blue, green by blue, then one of your two channel overlaps (say green by red) by the last channel (blue). My guess is that in
Handling of objects that are partially masked you’ll want to pick the
Remove based on overlap option, so that you can call overlapping objects positive or negative based on how much they overlap (something that overlaps only 2% is probably junk, something that’s 90% is likely really multi-positive), but you should play with all those settings across a few images to see what gives you the results closest to what you expect.
If you do this, at the end of your pipeline you can just look at the Image spreadsheet and for each image you’ll get Count_Green, Count_Red, Count_Blue, Count_GreenAndBlue, etc etc etc.