Edit counts manually, outside CellProfiler

It appears I’ve reinvented the wheel, but I’m here to tell you about it anyway.

During some recent work I found that CellProfiler was identifying a number of non-cell objects (dust, background) as cells in IdentifyPrimAutomatic. My dataset was small enough that it seemed reasonable to go through each image, see what CP had found as a cell, and manually exclude the non-cell regions. Had I noticed or remembered that the EditObjectsManually module existed, I probably would not have done this, but I spent a few hours hacking together a Python script that would let me run through the output of a completed pipeline, edit each image manually to exclude particular regions, and then spit out a corrected count for each image. I call it cpcensor.

cpcensor is mostly redundant with EditObjectsManually except that, since it runs outside of the pipeline, you don’t have to sit there to wait for IdentifyPrimAutomatic to run on each image, which can be an advantage on a slower machine. Currently, it does not carry over measurements on the remaining objects in its output – it just gives a count; this would be relatively trivial to change if anyone thinks that would be useful.

You can find it, warts and all, at tim-smith.us/tools/cpcensor-0.01a.tgz. It depends on wxPython and should run fine on Windows, OS X, or Linux. It has certain requirements for the pipeline you use it with, which are in the README file in the archive.

Please let me know if you have any questions or comments.

cheers,
tim

Hi Tim,

This may come in handy for the upcoming Python-based CP 2.0. I’ll pass this along to our software engineers. Thanks!
-Mark

Wait wait wait wait… I’m pretty interested on this one…
So, please, correct me if I am wrong:
Your pipeline/program will take the result of a pipeline and allow you to go through the images manually to remove the objects that are incorrectly counted?
I’m sorry, I’m not a programmer and I sure am a modest PC average user. Is it a Cell Profiler pipeline? Or an independent program that can use the results of CP? Do I need anything special for using it?

Anyway, thanks a lot for sharing your work!!!