Automated Image Analysis System to Measure and Count Organisms


Hi everyone,

I am new to the forum but have used ImageJ previously for morphometrics research in fish. Now my research has gone in a slightly different direction and I am finding myself with thousands of photos of intertidal epifauna with scale bars that need to have organisms identified and counted in each. Speaking to other researchers and reading Schulze et al. 2013 PlanktoVision – an automated analysis system for the identification of phytoplankton and Mallard et al. 2013 An automated image analysis system to measure and count organisms in laboratory microcosms, I am hopeful that I can use ImageJ to create an image recognition program which can code organisms in order to be counted and recognized in later photographs. However, the organisms I’m working with are sponges, coral, barnacles, oysters, algae, etc. My searching for a program or software that could do such and already exists has thus far been fruitless. Has anyone heard of such a program? What are the opinions of the forum members so to whether this is possible to do with ImageJ? Thank you for any input or advice you may have.


I think this should be possible with ImageJ using classification methods which are available as ImageJ plugins.

A frequent used plugin is, e.g., the Trainable Segmentation plugin:

A simple workflow would be to identify and segment the different classes (organisms) and then count them with the particle analysis of ImageJ, see:

You can easily apply those methods on a folder and subfolder of images.

Another option for the classification would be to use R within Bio7 (which integrates ImageJ as a plugin). I’ve created a video tutorial how to train a R supervised classifier which then could also be used on a folder of images:

There seems to be also a special R project available (using ImageJ) to classifiy zooplankton in a similar way:


Thank you so much for all this information. I have a lot to learn about the abilities of ImageJ and I am extremely grateful forums like this exist. What ZooImage does: process digital images, train automatic classification of taxa, and measure abundance and biomass is what I’m trying to do but with larger marine organisms. However when I go to R-Forge it says that zooimageJ, zooimage, and phytoimage all failed to build but mlearning is available. Then when I try to install any of those packages, including mlearning, it says that they cannot be found.

Do you think that is possible to do the same thing with the trainable weka segmentation or particle analysis? I am going to have to read up more on this topic and using supervised classification within Bio7. Thank you again. It is exciting what these programs are able to do now.


Do you think that is possible to do the same thing with the trainable weka segmentation or particle analysis?

Yes, because they are all using classification or similar segmentation methods (whereas the deep learning methods are en vogue at the moment) .

Please also consider to use shape analysis to segment the different organisms.

Some standard parameter are available in the Particle analyzer, see:



I stumbled across this thread hoping to do something similar. I have photos of intertidal mussel bed patches that each need a mussel count and measurement of area covered. ImageJ works great as a manual tool, but I am hoping I could train the computer to do it instead.

Have you had any luck using supervised classification in Bio7 IDing organisms from field photos? I have been learning how to use the Trainable Weka Segmentation, but I think BIO7 might be the better tool for the job. If you have made any progress, I’d love to know of any tips or resources you used to develop a process for your photo analysis.

Thanks for the post and thank you for all the materials posted!


Do you know ilastik? As bio7 mentioned:

(whereas the deep learning2 methods are en vogue at the moment) .

Ilastik is using such a mechanism. The documentation is pretty good. So far it could segment any object/structure I threw into it. From small bacteria to C. elegans.

Use the object and pixel classification workflow. The output is a (or many) binary image(s), which you can easily analyze with the Analyze Particles command in Fiji (after thresholding).
Also easy to put into a Macro.