          self.dims = None
          self.center = None
          self.last_move = None
          self.mouse_state = None
          self.media["bounding_box"] = list()
          self.media["bounding_box_orig"] = list()
  
      def set_bounding_box(self, pt_x, pt_y):
          """ Select or create bounding box """
          if self.interface.get_selected_face_id() is None:
              self.check_click_location(pt_x, pt_y)
 
</s> remove         self.media["bounding_box"] = [int((pt_x / scale) - width / 2),
                                      int((pt_y / scale) - height / 2),
                                      int((pt_x / scale) + width / 2),
                                      int((pt_y / scale) + height / 2)]
 </s> add         self.media["bounding_box"].x = int((pt_x / scale) - width / 2)
        self.media["bounding_box"].y = int((pt_y / scale) - height / 2)
        self.media["bounding_box"].w = width
        self.media["bounding_box"].h = height </s> remove         self._detected_faces = None
 </s> add         self._detected_faces = detected_faces </s> remove     def __init__(self, filename, image):
        logger.trace("Initializing %s: (filename: '%s', image shape: %s)",
                     self.__class__.__name__, filename, image.shape)
 </s> add     def __init__(self, filename, image, detected_faces=None):
        logger.trace("Initializing %s: (filename: '%s', image shape: %s, detected_faces: %s)",
                     self.__class__.__name__, filename, image.shape, detected_faces) </s> remove         self.queues["in"].put({"image": self.media["image"],
                               "filename": self.media["frame_id"],
                               "manual_face": self.media["bounding_box"]})
        detected_face = next(self.extractor.detected_faces())["detected_faces"][0]
 </s> add         feed = ExtractMedia(self.media["frame_id"],
                            self.media["image"],
                            detected_faces=[self.media["bounding_box"]])
        self.queues["in"].put(feed)
        detected_face = next(self.extractor.detected_faces()).detected_faces[0] </s> remove         updated[0] = min(center[0] - minsize, original[0] - move_x)
        updated[1] = min(center[1] - minsize, original[1] - move_y)
        updated[2] = max(center[0] + minsize, original[2] + move_x)
        updated[3] = max(center[1] + minsize, original[3] + move_y)
 </s> add         updated.x = min(center[0] - (minsize // 2), original.x - move_x)
        updated.y = min(center[1] - (minsize // 2), original.y - move_y)
        updated.w = max(minsize, original.w + move_x)
        updated.h = max(minsize, original.h + move_y)
        self.media["bounding_box"] = DetectedFace()
        self.media["bounding_box_orig"] = None
          self.dims = None
          self.center = None
          self.last_move = None
          self.mouse_state = None
        self.media["bounding_box"] = DetectedFace()
        self.media["bounding_box_orig"] = None
        self.media["bounding_box"] = DetectedFace()
        self.media["bounding_box_orig"] = None
  
      def set_bounding_box(self, pt_x, pt_y):
          """ Select or create bounding box """
          if self.interface.get_selected_face_id() is None:
              self.check_click_location(pt_x, pt_y)
keep keep keep keep replace replace keep keep keep keep keep
 Bugfix - Manual tool. Use new ExtractMedia class 
tools/lib_alignments/jobs_manual.py