  
              If the given coordinates are not over a face, then the frame and face indices will be
              -1
          """
          if point_x > self._grid.dimensions[0]:
              retval = np.array((-1, -1, -1, -1))
          else:
              x_idx = np.searchsorted(self._objects.visible_grid[2, 0, :], point_x, side="left") - 1
              y_idx = np.searchsorted(self._objects.visible_grid[3, :, 0], point_y, side="left") - 1
              if x_idx < 0 or y_idx < 0:
 
</s> remove         logger.trace("visible: %s", visible)
 </s> add         logger.trace("height: %s, yview: %s, face_size: %s, visible: %s",
                     height, self._canvas.yview(), self._face_size, visible) </s> remove         return np.array(self._canvas.coords(self._images[0][0]), dtype="int")
 </s> add         if self._images is None or not np.any(self._images):
            retval = [0, 0]
        else:
            retval = self._canvas.coords(self._images[0][0])
        return np.array(retval, dtype="int") </s> remove                                                    refresh=refresh_annotations)
 </s> add                                                    refresh=True) </s> remove     def _recycle_objects(self):
        """  On a column count change, place all existing objects into the recycle bin so that
        they can be used for the new grid shape and reset the objects size to the new size. """
 </s> add     def _reset_viewport(self):
        """ Reset all objects in the viewport on a column count change. Reset the viewport size
        to the newly specified face size. """
        logger.debug("Resetting Viewport")
        if not self._grid.is_valid or point_x > self._grid.dimensions[0]:
  
              If the given coordinates are not over a face, then the frame and face indices will be
              -1
          """
        if not self._grid.is_valid or point_x > self._grid.dimensions[0]:
              retval = np.array((-1, -1, -1, -1))
          else:
              x_idx = np.searchsorted(self._objects.visible_grid[2, 0, :], point_x, side="left") - 1
              y_idx = np.searchsorted(self._objects.visible_grid[3, :, 0], point_y, side="left") - 1
              if x_idx < 0 or y_idx < 0:
keep keep keep keep replace keep keep keep keep keep
 Bugfix - Manual Tool
  - Fix non-appearing landmark annotations in face viewer 
tools/manual/faceviewer/viewport.py