btrack icon indicating copy to clipboard operation
btrack copied to clipboard

No daughter cells detected

Open prehani opened this issue 3 years ago • 3 comments

Hi Alan/team:

We've been working with B-Track on a few projects, and overall it appears to be working super well for tracking cells; however, we can't usually get daughter cells to be properly detected. I've attached my config file cell_config.txt as well as a sample sample of what I'm referring to where a cell clearly divides, but no parents/generations are detected.

If I understand correctly, if a cell divides and it's accepted, we should be seeing 2 new id's right? Also, there are no divided fates being accepted in the log either that I can see.

Happy to attach additional data/examples if that would be helpful. I'm also not sure if my configuration file is properly set up for this--can you shed some light on what adjusting each of the parameters in the configuration under the motion model and hypothesis do?

Thanks for all of your work on this! Peter

prehani avatar May 05 '22 20:05 prehani

Hi Peter,

It looks like things are working. For example, if I look at cell 45 - it divides into 175 and 176, and correctly builds the tree (I can see the white branching point in your movie above). Most likely, some parameters need tuning, to maximise the number of mitotic detections. I would also say that if you can add any extra state information, like pre-mitotic labels, that really helps.

If you use arboretum do you see a lineage tree for cell 45, for example?

quantumjot avatar May 10 '22 12:05 quantumjot

Hi Alan,

Thanks for the suggestions. 45 seems to divide/be picked up correctly, but then the daughter cells mis-track later in the timeseries and then mess up the lineage tracing. Here's an arboretum screenshot: image Do you have any suggestions for specific parameters to try tuning? Also can you elaborate on how to add mitotic state information? I tried adjusting the various arrays/reducing the number of states with limited success.

Thanks for your help! Peter

PS--I'm pinging 2 of my colleagues who are also looking into this: @emmanuel-contreras and @rupsadatta

prehani avatar May 19 '22 20:05 prehani

Ah - I see, OK. Well this can happen during the optimisation step for a couple of reasons:

  • if there are competing hypotheses that account for the segmentation
  • there are errors in segmentation, or
  • configuration parameters are such that divisions are accepted too easily (see lambda_branch in the HypothesisModel).

What we've found best is if you can use the object label and set it to mark pre (e.g. metaphase) and post-division (e.g. anaphase), it greatly improves the fidelity of division detection. In practice, we've used a trained CNN classifier to do this. @nthndy has implemented that whole pipeline in his repo here: https://github.com/lowe-lab-ucl/segment-classify-track

Finally, there is also a new (developmental) option in #143 - It adds in extra features to help with the tracking. These can be directly from the segmentation you have, and you can use the guide here to see how this works. I have no guarantee that this works yet, we're just trying it out ourselves. If you do try it - please let us know how you get on with it!

quantumjot avatar May 27 '22 08:05 quantumjot

I'm going to convert this to a discussion so that others can use this

quantumjot avatar Jul 27 '23 09:07 quantumjot