Repository navigation
Fix Dask mask relabeling for large datasets - #73
Conversation
|
This PR definitely fixes the primary problem with the greedy linking: Looks like it successfully gets past the linking, but the mask saving slows down tremendously...approximately 15s to save a single mask (6+ hours to save all of them). The masks appear correct though. I assume this is an unintended side effect of this PR? I would assume that saving the masks should be quite speedy. |
|
I ran the The actual tracking/linking part was super fast. |
|
@tlnagy I took another look and hopefully fixed the writer issues you reported. On a full-scale writer benchmark on a simulated dataset of the size you report (1,441 × 2,304 × 4,096, ~500 masks/frame), using lazy Dask masks, I now get:
Some practical takeaways:
|
|
Hi @bentaculum, that seems to fix it! Overall, the performance is really great now! The whole process takes just ~10 minutes to run 🚀 |
Summary
Addresses #72.
Full-scale simulation
A synthetic run matching the reported dimensions completed successfully:
The old path would request 1,001 source loads per frame at 500 objects. The simulation isolates post-tracking relabeling and CTC validation; it excludes model inference, ILP solving, real TIFF/ND2 I/O, and output writing.
Validation
python -m pytest -q tests/test_tracking_utils.py(5 passed)