| 63 | |
| 64 | |
| 65 | def test_tracking_ellipse(real_assemblies, real_tracklets): |
| 66 | tracklets_ref = real_tracklets.copy() |
| 67 | _ = tracklets_ref.pop("header", None) |
| 68 | tracklets = dict() |
| 69 | mot_tracker = trackingutils.SORTEllipse(1, 1, 0.6) |
| 70 | for ind, assemblies in real_assemblies.items(): |
| 71 | animals = np.stack([ass.data for ass in assemblies]) |
| 72 | trackers = mot_tracker.track(animals[..., :2]) |
| 73 | trackingutils.fill_tracklets(tracklets, trackers, animals, ind) |
| 74 | assert len(tracklets) == len(tracklets_ref) |
| 75 | assert [len(tracklet) for tracklet in tracklets.values()] == [len(tracklet) for tracklet in tracklets_ref.values()] |
| 76 | assert all(t.shape[1] == 4 for tracklet in tracklets.values() for t in tracklet.values()) |
| 77 | |
| 78 | |
| 79 | def test_box_tracker(): |