Tracking cells over generations

I have time lapse movies of cells with a nuclear fluorescent marker that divide during the movie. I want to analyze each cell individually over time - that is, the mother and the two daughters. I am having no problems with the segmentation, but am stuck with the tracking.

I am currently using the TrackObjects module which works perfectly for the mother cell, but then after division it assigns the same label to both daughter cells as it originally assigned to the mother cell, so I cannot analyze each daughter separately. What I want is for the mother cell to be labeled ‘1’ until it divides into two daughter cells given the labels ‘2’ and ‘3’, or two daughter cells labeled ‘1’ and ‘2’ would be fine as well.

Thank you!

I guess ReassignObjectNumbers will help you in this case.
Can you give it a try?


Hi Minh,

Thanks for the suggestion; I tried it, but it doesn’t seem to solve my problem. Here is a link to my pipeline, the image I want to analyze (called ‘Cell4daughters’), and the output of the TrackObjects module so you can understand my problem.

What I want to happen is for Cell 2 from frame 143 to retain label 2 in frame 144 and beyond; and for Cell 1 to divide into Cell 3 and Cell 4 in frame 145.

Thanks for your help,



I don’t have access to for getting the images and pipeline, can you try something else like Google drive?


There’s unfortunately no easy way to do this- see this thread and the link herein. Unless or until the convention changes in CP to give daughter objects the same label as their parents, the only way to do it reliably is to either a) play with your TrackObjects settings so that they’re super strict and to try to intentionally lose cells at the moment of division in order to reset their TrackObjects_Label or b) manually follow the lineage of the cells in your output file using the ParentImage and ParentObject columns to follow the objects through the movie.

Thanks both of you for your replies. Can you explain a bit more how to do the two suggestions you made, in particular:

(a) Is there a good way to make it so I lose cells at division but not at other random times?
(b) Would it really be necessary to look at each frame for each cell or is it possible to automate this process in any way?

Here is a link to Google Drive, if you’re still willing to take a look at it:

a) I’ve never tried to do this, but I imagine very strict settings in your tracking module (only allowing a few pixel’s movement for example) plus playing with your segmentation settings to make sure you almost always get two objects when a cell divides plus perhaps doing an “ExpandOrShrinkObjects” step to shrink each object by a few pixels might cause the centers of the new split objects to be far enough away that you always lose them. It’s just a hypothesis though, you’d need to really play around with a bunch of images to know for sure. Whether or not it would cause you to lose tracking at other points besides just division would depend a lot on how densely time-sampled your images are and how good your segmentation is. That might be ok or not depending on the end goal of your experiment.

b) You could definitely run some sort of script or macro to do this. In fact, if you’re going to do this, you absolutely should- it would be incredibly laborious and tedious to do by hand.

1 Like