Skip to content

Commit

Permalink
Issue #95 act on tracker directly
Browse files Browse the repository at this point in the history
  • Loading branch information
thompson318 committed Mar 16, 2022
1 parent a571e5a commit 66eae6d
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 10 deletions.
6 changes: 4 additions & 2 deletions sksurgerybard/interaction/interaction.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,10 @@ def __call__(self, event, _event_type_not_used):
self._translate_model(key)
if key in '8i9o0p':
self._rotate_model(key)
if key == 'f':
self._bard_widget.tracking = not self._bard_widget.tracking
if key == 'Up':
self._bard_widget.tracker.stop_tracking()
if key == 'Down':
self._bard_widget.tracker.start_tracking()


def _translate_model(self, key):
Expand Down
19 changes: 11 additions & 8 deletions sksurgerybard/widgets/bard_overlay_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ def __init__(self, configuration = None, calib_dir = None):

self.tracker, self.transform_manager = setup_tracker(configuration)
self.tracker.start_tracking()
self.tracking = True # A boolean that we can manipulate to start/
# stop tracking

self.transform_manager.add("tracker2camera",
np.eye(4, dtype = np.float64))
Expand Down Expand Up @@ -168,8 +166,7 @@ def update(self):

undistorted = cv2.undistort(image, self.mtx33d, self.dist15d)

if self.tracking:
self._update_tracking(image)
self._update_tracking(image)

self._update_overlay_window()

Expand All @@ -191,11 +188,17 @@ def _update_tracking(self, image):
tracking = []
if (isinstance(self.tracker, ArUcoTracker) and not
self.tracker.has_capture()):
port_handles, _timestamps, _framenumbers, tracking, quality = \
self.tracker.get_frame(image)
try:
port_handles, _timestamps, _framenumbers, tracking, \
quality = self.tracker.get_frame(image)
except ValueError:
return
else:
port_handles, _timestamps, _framenumbers, tracking, quality = \
self.tracker.get_frame()
try:
port_handles, _timestamps, _framenumbers, tracking, \
quality = self.tracker.get_frame()
except ValueError:
return

for index, port_handle in enumerate(port_handles):
if (not np.isnan(quality[index])) and quality[index] > 0.2:
Expand Down

0 comments on commit 66eae6d

Please sign in to comment.