MCPcopy Create free account
hub / github.com/DeepLabCut/DeepLabCut / swap_tracklets

Method swap_tracklets

deeplabcut/gui/tracklet_toolbox.py:442–463  ·  view source on GitHub ↗
(self, event)

Source from the content-addressed store, hash-verified

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

Callers 2

swapMethod · 0.45
invertMethod · 0.45

Calls 1

display_tracesMethod · 0.95

Tested by

no test coverage detected