Brightfield image with labeling overlays


Hello All,

I am sure there is a way to do this with image math, but i have not been able to figure it out.

I am trying to overlay a red image and a green image on top of my bright field image.

In general all three of my images are single channels.

This is what i am trying to accomplish. Please let me know if you would like the original images.




Yes there are 2 ways to do it.

  1. If you only want to do this once for presentation purpose, you can use the function “Viewer” during test mode. Then save it manually, shown below:

    Note: you may encounter some freeze in Viewer, simply restart CellProfiler. So save your pipeline first before using “Viewer”.

  2. If you would like to repeat this overlay for every images of the pipeline, the best practice would be making 2 separate pipelines:

  • First pipeline contains the following modules: IndentifyObjects > “SaveImages” for red objects, and another “SaveImages” for green objects.
    You can continue to do all needed measurements here.

  • In second pipeline, when you load the images, you would load both the brightfield image and the two newly saved red, green images.
    Note: set them as “color” images in module “NamesAndTypes”.
    Then use “ImageMath”, add brightfield+green+red together > use module “SaveImages” save the ImageAfterMath, which now contain all three colors


Thank you. I am going to give this a shot. Somewhat disappointed i will have to use two pipelines. Although, my current pipeline is getting pretty long so this may be an opportunity to spilt it up between image creation and image quantification.

Thank you!


I don’t think you should NEED two pipelines- you could probably in your original pipeline use GrayToColor on the red+green channels to make them into one RGB image (and just leave the blue as blank), then with ImageMath add it to the brightfield. I haven’t tested this though, so take with a grain of salt.


My Pipeline is a mess, and i dont have the time to clean it up for this post. So if in the future someone need help with this know that it can be done. And comment on this post for my help.

My BF was a single channel, so i used
GrayToColor-> each channel was red:BF; green:BF, blue:BF
RescaleIntensity -> BF_2, stretch image to full intensity range
GrayToColor-> Red:Tritc; Green;GFP; Blue:blank
RescaleIntensity -> tritc_gfp_rs, stretch image to full intensity range
ImageMath-> BF_rs + tritc_gfp_rs, ALL DEFAULT VALUES EXCEPT set values greater that 1 to 1. If this is not done you will have a blue background