Manually identified primary objects

cellprofiler

#1

HI, all,

I am a new user of CP and I would like to ask one question. How could I use manually identified primary objects as template to do measurement for a serial of pictures? For example, measure the fluorescent change of one dot which was captured at different time points?

Thank you for you help


#2

Hi,

The answer depends on whether the dot is moving or stationary between time points:

(1) If the dot is stationary, then the matter is straightforward. You can save the object as an image file, and then reload it for each time point and use it as a mask on each new image. Any of the measurement modules can be used but you counting on the template not changing so that each object maintains the same identity through time.

(2) If the dot is moving, the problem becomes more difficult but you can use the TrackObjects module to track the object from time point to time point. In this way, you can still keep track of which measurement is associated with which object even though the objects are in motion.

Hope this helps,
-Mark


#3

Hi, Mark,

Thank you so much for you reply. My dot is stationary. I tried so many modules but not ‘mask’, I will try this. Thank you again.


#4

Glad to help! A few pieces of clarification:

(1) To save the objects as an image, use the ConvertToImage module with the dot objects as the input and binary as the color, followed by the SaveImages module

(2) To re-load the image, you can use the LoadSingleImage module, and then re-convert it into an object with IdentifyPrimAutomatic using 0.5 as the absolute threshold, ‘no’ for discarding/merging and ‘none’ for distinguishing clumped objects and for drawing dividing lines. This preserves the shape of the objects to be used as your template.

(3) At this point, you can use the MaskImage module if you want a masked image to use later, or if you are just looking for a measurement with respect to the input image, use a MeasureObject module using the object created from the dot template.

Regards,
-Mark


#5

[quote=“mbray”]Glad to help! A few pieces of clarification:

(1) To save the objects as an image, use the ConvertToImage module with the dot objects as the input and binary as the color, followed by the SaveImages module

(2) To re-load the image, you can use the LoadSingleImage module, and then re-convert it into an object with IdentifyPrimAutomatic using 0.5 as the absolute threshold, ‘no’ for discarding/merging and ‘none’ for distinguishing clumped objects and for drawing dividing lines. This preserves the shape of the objects to be used as your template.

(3) At this point, you can use the MaskImage module if you want a masked image to use later, or if you are just looking for a measurement with respect to the input image, use a MeasureObject module using the object created from the dot template.

Regards,
-Mark[/quote]

Hi, Mark,
Thank you so much for the clarification. I have one more question. If I load many pictures for analysis, it seems I have to re-convert the template picture into an object with IdentifyPrimAutomatic for each picture. This step is acutally the most time-consuming process and it takes several minutes to identify one object on my laptop! Is there any way that I just need to re-identify the object once which could be used for the remaining pictures?

Best Regards,

Jun


#6

Hi,

Much of the processing time is taken up with estimating the threshold, smoothing, de-clumping, etc. With the settings I provided, it should actually process much quicker for this particular purpose because it’s not doing any of these things; it’s just simply converting the binary image back into an object set. The resultant objects should look exactly the same as those in the input image.

-Mark