Question

I have a bunch of movies of bacteria splitting, and I'm supposed to track them down and detect the splits and so forth.

Now, I'm a newbie to this area, so I'm looking for initial advices on how to proceed.

I have attached several screenshots.

For the first part I have to get rid of the background. How do I do that? ImageJ tool seems promising (better said overwhelming) and I'd prefer to use it since I'll be developing in Java, so I'd appreciate some advice from ImageJ gurus.

These are some options I have found so far, but I can't get them to work for all cases:

Please advise on how to best get rid of bg in these various cases.

Thanks,

Igor

Was it helpful?

Solution

You need to segment and track the bacteria. There are many ways to do this. It's a research problem that people are currently publishing on.

One approach that sometimes works well is the "watershed" algorithm. Breifly, one imagines the image as a 3D surface with pixel values denoting height. You then gradually pour water on the surface and wait to see when it spills over from one catchment into another. Where that happens you have two regions. Here's a link demonstrating it: watershed algorithm in matlab

You may also consider level set methods as they tend to do better with less tuning. The most famous is the active contour method of Chan and Vese.

Here's what I get by running Chan-Vese on your image without any extra work:

input image converted to gray output of chan-vese

Both segmentation algorithms will require that you do something special to get it to work right on your images.

When you have the entire video of the bacteria moving you can do better. For the background subtraction you may want to look into "Robust PCA"

www-stat.stanford.edu/~candes/papers/RobustPCA.pdf

www.cds.caltech.edu/~ipapusha/pdf/robust_pca_apps.pdf

http://users.cms.caltech.edu/~mccoy/code/

which has gotten a good deal of attention for this application.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top