(self, event)
| 440 | self._prepare_canvas(self.manager, fig) |
| 441 | |
| 442 | def swap_tracklets(self, event): |
| 443 | if self.swap_id1 is not None and self.swap_id2 is not None: |
| 444 | # Get tracklet indices for each individual |
| 445 | inds1 = [k for k in range(len(self.manager.tracklet2id)) if self.manager.tracklet2id[k] == self.swap_id1] |
| 446 | inds2 = [k for k in range(len(self.manager.tracklet2id)) if self.manager.tracklet2id[k] == self.swap_id2] |
| 447 | |
| 448 | print(f"Swapping tracklets {self.swap_id1} and {self.swap_id2}") |
| 449 | |
| 450 | # Frames to swap |
| 451 | frames = [] |
| 452 | if len(self.cuts) == 2: |
| 453 | frames = list(range(min(self.cuts), max(self.cuts) + 1)) |
| 454 | elif len(self.cuts) == 1: |
| 455 | frames = [self.cuts[0]] |
| 456 | else: |
| 457 | frames = list(range(self.curr_frame, self.manager.nframes)) |
| 458 | |
| 459 | # Swap the tracklets |
| 460 | for i in range(min(len(inds1), len(inds2))): |
| 461 | self.manager.swap_tracklets(inds1[i], inds2[i], frames) |
| 462 | self.display_traces() |
| 463 | self.slider.set_val(self.curr_frame) |
| 464 | |
| 465 | def set_swap_id1(self, val): |
| 466 | # check that the input is a valid from the list of individuals |
no test coverage detected