          self._args = arguments
          self._output_dir = None if self._args.skip_saving_faces else get_folder(
              self._args.output_dir)
  
          logger.info("Output Directory: %s", self._output_dir)
          self._images = ImagesLoader(self._args.input_dir, fast_count=True)
          self._alignments = Alignments(self._args, True, self._images.is_video)
          self._extractor = extractor
  
          self._existing_count = 0
          self._set_skip_list()
  
 
</s> remove                  extractor: Extractor,
                 arguments: Namespace) -> None:
        logger.debug("Initializing %s: (extractor: %s, args: %s)", self.__class__.__name__,
                     extractor, arguments)
        self._args = arguments
        self._output_dir = None if self._args.skip_saving_faces else get_folder(
            self._args.output_dir)
 </s> add                  threshold: float,
                 filter_files: Optional[Union[str, List[str]]],
                 nfilter_files: Optional[Union[str, List[str]]],
                 extractor: Extractor) -> None:
        logger.debug("Initializing %s: (threshold: %s, filter_files: %s, nfilter_files: %s "
                     "extractor: %s)", self.__class__.__name__, threshold, filter_files,
                     nfilter_files, extractor)
        self._threshold = threshold
        self._filter_files, self._nfilter_files = self._validate_inputs(filter_files,
                                                                        nfilter_files)

        if not self._filter_files and not self._nfilter_files:
            logger.debug("Filter not selected. Exiting %s", self.__class__.__name__)
            return </s> remove         self._existing_count = 0
        self._set_skip_list()

        self._post_process = PostProcess(arguments)
        self._threads: List[MultiThread] = []
        self._verify_output = False
 </s> add         self._get_embeddings()
        self._extractor.recognition.add_identity_filters(self.embeddings,
                                                         self.n_embeddings,
                                                         self._threshold) </s> remove         recognition = "vgg_face2" if arguments.identity else None
 </s> add         recognition = ("vgg_face2"
                       if arguments.identity or arguments.filter or arguments.nfilter
                       else None) </s> remove         exception = False

 </s> add  </s> remove         extractor = Extractor(None, None, self._mask_type,
                              exclude_gpus=exclude_gpus,
                              image_is_aligned=self._input_is_faces)
 </s> add         extractor = Extractor(None, None, self._mask_type, exclude_gpus=exclude_gpus)
        self._embeddings: List[np.ndarray] = [np.array([]) for _ in self._filter_files]
        self._nembeddings: List[np.ndarray] = [np.array([]) for _ in self._nfilter_files]
          self._args = arguments
          self._output_dir = None if self._args.skip_saving_faces else get_folder(
              self._args.output_dir)
  
        self._embeddings: List[np.ndarray] = [np.array([]) for _ in self._filter_files]
        self._nembeddings: List[np.ndarray] = [np.array([]) for _ in self._nfilter_files]
        self._embeddings: List[np.ndarray] = [np.array([]) for _ in self._filter_files]
        self._nembeddings: List[np.ndarray] = [np.array([]) for _ in self._nfilter_files]
        self._embeddings: List[np.ndarray] = [np.array([]) for _ in self._filter_files]
        self._nembeddings: List[np.ndarray] = [np.array([]) for _ in self._nfilter_files]
          self._extractor = extractor
  
          self._existing_count = 0
          self._set_skip_list()
  
keep keep keep keep replace replace replace keep keep keep keep keep
 Update Face Filter
  - Remove old face filter
  - plugins.extract.pipeline: Expose plugins directly
  - Change `is_aligned` from plugin level to ExtractMedia level
  - Allow extract pipeline to take faceswap aligned images
  - Add ability for recognition plugins to accept aligned faces as input
  - Add face filter to recognition plugin
  - Move extractor pipeline IO ops to own class 
scripts/extract.py