Particle discrimination by color or texture?


Hi everybody! greetings from a newby :slight_smile:
The attached image is a picture of dry seaweed particles (green), that has some contamination (other red seaweed species and some marine animals (bryozoans, mostly the yellowish to white particles). This particles are the result of a seaweed cultivation process, that following drying goes to milling… I’d like to evaluate the “quality” of my final product by describing the proportion of “contaminants” (whatever particle that is not the desired seaweed species) and I’d like to do it through image analysis. I’ve been playing around and watching videos and tutorials but I’m still not quite sure what the best process is… My goal is to be able to say for example: this products contains 95% target seaweed, 2% other seaweeds and 3% “fouling species”.
Can I get some advice? what would be the best tool, plugin or procedure to achieve my goal?
I know the picture is not the best, I could separate the particles manually to avoid overlapping if it’s necessary…
Also, of course I’d like to do this in batch, with several sample pictures as input, hoping to get automated processing and reporting. Am I asking too much???

Thanks in advance, I’ll be willing to give more info if needed.
Regards,
Javier.

If you are taking all of the images in similar enough conditions I would go straight for the Weka pixel classifier. You probably won’t be able to get accurate counts unless you do separate the objects more thoroughly, but you might be able to get the % of area of various classes. Not really sure which objects in your picture are what (desired seaweed is probably… green? and… maybe other colors?), so hard to give much further advice.

  • If the images are coming from various sources or in different lighting conditions, you might need more of a deep learning approach, or several different classifiers.


Hi!
Thanks for the prompt answer!!!
I was actually playing around with the weka plugin… seemed to me as a good approach.
So, with this new picture, seaweed in green (different tones) and bryozoans in yellow/white, do you think what I need is doable?
Thanks!

Probably with a faaairly high degree of accuracy. The biggest problems I would predict would be areas like in the lower left corner where what I suspect is a yellow particle is really fairly brown, and stuff sticking to the seaweed. As long as you can tolerate some error over a large sample though, I think you should be fine.

image

1 Like

Hi,

If Weka is of interest, then likely ilastik is also: https://www.ilastik.org
Scribble with your four classes, or start with two (seeweed/background), train, refine, batch.

Obviously, the amount of overlap of objects in your image will be a limiting factor to the final accuracy - if a sample is hidden by another no amount of image analysis can detect it.

Good luck!

I got some free time this afternoon so I gave it a quick try and with “color-aware” pixel classification using Intellesis (commercial software with trial) i got this …

But to sepatae those overlapping particles is a differnet story. Can you “spread” them ou a bit?

Sebi (from ZEISS)

1 Like

My lab used Beckman AirFuges (high speed centrifuges) that would sediment onto TEM grids or sillicon chips. A bit of surfactant helps dispersion. I wonder if that would help… Adjust the concentration to get the best dispersion. …

Haha, kind of a nice proof! That image shows exactly what I was concerned about in the red circled areas.

1 Like

So you mean i should not have tried it? I just saw this image and this i was testing some stuff i just thought, why not try it out for fun.
I hope did not offend anyone. But if i did, sorry for that

No, no, not at all! It was simply a verification of the places I indicated machine learning methods would likely encounter difficulties, regardless of the program. I am not surprised at all, and would have encountered similar problems if I had been testing!

It is just good to be aware of where problems might show up :slight_smile:

1 Like

:slight_smile: good to know.