          self._image: Optional["np.ndarray"] = image
          self._image_shape = cast(Tuple[int, int, int], image.shape)
          self._detected_faces: List["DetectedFace"] = ([] if detected_faces is None
                                                        else detected_faces)
  
      @property
      def filename(self) -> str:
          """ str: The base name of the :attr:`image` filename. """
          return self._filename
  
 
</s> remove     def _get_output_suffix(self, arguments):
 </s> add     def _get_output_suffix(self, arguments: "Namespace") -> str: </s> remove         self.args = arguments
        job = self.args.job
        self.alignments = None if job == "from-faces" else AlignmentData(self.args.alignments_file)
 </s> add         self._args = arguments
        job = self._args.job
        alignment_file = self._find_alignments()
        self.alignments = None if job == "from-faces" else AlignmentData(alignment_file) </s> remove     def _feed_extractor(self):
 </s> add     def _set_correct_mask_type(self):
        """ Some masks have multiple variants that they can be saved as depending on config options
        so update the :attr:`_mask_type` accordingly
        """
        if self._extractor is None or self._mask_type != "bisenet-fp":
            return

        # Hacky look up into masker to get the type of mask
        mask_plugin = self._extractor._mask[0]  # pylint:disable=protected-access
        assert mask_plugin is not None
        mtype = "head" if mask_plugin.config.get("include_hair", False) else "face"
        new_type = f"{self._mask_type}_{mtype}"
        logger.debug("Updating '%s' to '%s'", self._mask_type, new_type)
        self._mask_type = new_type

    def _feed_extractor(self) -> MultiThread:
        self._frame_metadata: Dict[str, Any] = {}
          self._image: Optional["np.ndarray"] = image
          self._image_shape = cast(Tuple[int, int, int], image.shape)
          self._detected_faces: List["DetectedFace"] = ([] if detected_faces is None
                                                        else detected_faces)
        self._frame_metadata: Dict[str, Any] = {}
  
      @property
      def filename(self) -> str:
          """ str: The base name of the :attr:`image` filename. """
          return self._filename
  
keep keep keep add keep keep keep keep keep keep
 Minor updates and fixups
  - Mask Tool - Typing + BiSeNet mask update fix
  - Alignments Tool - Auto search for alignments file 
plugins/extract/pipeline.py