          for idx, filename in enumerate(batch.filename):
              output = self._extract_media.pop(filename)
              output.add_detected_faces(batch.detected_faces[idx])
  
              logger.trace("final output: (filename: '%s', image shape: %s, "  # type:ignore
                           "detected_faces: %s, item: %s", output.filename, output.image_shape,
                           output.detected_faces, output)
              yield output
  
      @staticmethod
      def _to_detected_face(left: float, top: float, right: float, bottom: float):
          """ Convert a bounding box to a detected face object
 
</s> remove     def _to_detected_face(left: float, top: float, right: float, bottom: float):
 </s> add     def _to_detected_face(left: float, top: float, right: float, bottom: float) -> DetectedFace: </s> remove         logger.trace("detect_prediction output: (filenames: %s, prediction: %s, "  # type:ignore
                     "rotmat: %s)", batch.filename, batch.prediction, batch.rotation_matrix)
 </s> add         logger.trace("detect_prediction output: (filenames: %s, "  # type:ignore[attr-defined]
                     "prediction: %s, rotmat: %s)",
                     batch.filename, batch.prediction, batch.rotation_matrix) </s> remove         logger.trace("Resized image shape: %s", image.shape)  # type:ignore
 </s> add         logger.trace("Resized image shape: %s", image.shape)  # type:ignore[attr-defined] </s> remove         logger.trace("Item out: %s",  # type:ignore
 </s> add         logger.trace("Item out: %s",  # type:ignore[attr-defined] </s> remove                 logger.trace("Faces found for all images")  # type:ignore
 </s> add                 logger.trace("Faces found for all images")  # type:ignore[attr-defined]
            logger.trace("final output: (filename: '%s', "  # type:ignore[attr-defined]
                         "image shape: %s, detected_faces: %s, item: %s",
                         output.filename, output.image_shape, output.detected_faces, output)
          for idx, filename in enumerate(batch.filename):
              output = self._extract_media.pop(filename)
              output.add_detected_faces(batch.detected_faces[idx])
  
            logger.trace("final output: (filename: '%s', "  # type:ignore[attr-defined]
                         "image shape: %s, detected_faces: %s, item: %s",
                         output.filename, output.image_shape, output.detected_faces, output)
            logger.trace("final output: (filename: '%s', "  # type:ignore[attr-defined]
                         "image shape: %s, detected_faces: %s, item: %s",
                         output.filename, output.image_shape, output.detected_faces, output)
            logger.trace("final output: (filename: '%s', "  # type:ignore[attr-defined]
                         "image shape: %s, detected_faces: %s, item: %s",
                         output.filename, output.image_shape, output.detected_faces, output)
              yield output
  
      @staticmethod
      def _to_detected_face(left: float, top: float, right: float, bottom: float):
          """ Convert a bounding box to a detected face object
keep keep keep keep replace replace replace keep keep keep keep keep
 bugfix: Extract - rotation in detection 
plugins/extract/detect/_base.py