Series · 6 Parts

Cell tracking in a developing embryo

Reconstructing cell lineages from light-sheet microscopy of a zebrafish embryo, for the CZ Biohub Kaggle competition. The score is about connections, not cells — and every part of this series is a consequence of that one line, including the two experiments that made things worse.

  1. The score is about connections, not cells
    Part 1

    The score is about connections, not cells

    Here is a way to fail at cell tracking: find every single cell, perfectly, and still score close to zero. Nobody asked where the cells are — they asked which cell became which. Part 1 of the Biohub series.

  2. Build a scorer you trust before you build a model
    Part 2

    Build a scorer you trust before you build a model

    You get five submissions a day. That is not an iteration loop, it is a rationing system. So I rebuilt the competition metric locally — and it predicted the leaderboard to within 0.008. Part 2 of the Biohub series.

  3. Finding cells is the easy half — and the biggest win wasn't mine
    Part 3

    Finding cells is the easy half — and the biggest win wasn't mine

    A hand-written blob detector beat two well-known deep segmentation models — on accuracy and on runtime. Then I swapped in someone else's U-Net and gained more than everything I'd done combined. Part 3 of the Biohub series.

  4. Greedy is a trap: linking cells with an integer program
    Part 4

    Greedy is a trap: linking cells with an integer program

    Take the best link first and you can block two better ones behind it — 1.45 against a possible 2.55. The fix is to stop choosing one at a time. Part 4 of the Biohub series.

  5. One missed cell, two lost links, one broken lineage
    Part 5

    One missed cell, two lost links, one broken lineage

    When the detector blinks for one frame you don't lose one connection — you lose two, and the family tree splits. The most valuable repair isn't finding more cells. It's healing the ones that broke. Part 5 of the Biohub series.

  6. Two failures, two different axes
    Part 6

    Two failures, two different axes

    I improved my tracker and the score got worse. Twice — but not the same way twice. One failure says your scorer is biased; the other says it's noisy. A number you compute yourself can be wrong in both ways. Part 6 of the Biohub series.

← All blog posts