          logger.debug("Initialize Extractor")
          extractor = Extractor("manual", "fan", multiprocess=True, normalize_method="hist")
          self.queues["in"] = extractor.input_queue
          # Set the batchsizes to 1
          extractor.set_batchsize("detector", 1)
          extractor.set_batchsize("aligner", 1)
          extractor.launch()
          logger.debug("Initialized Extractor")
          return extractor
  
      def on_event(self, event, x, y, flags, param):  # pylint: disable=unused-argument,invalid-name
 
</s> remove         extractor = Extractor("manual", "fan", multiprocess=True, normalize_method="hist")
 </s> add         extractor = Extractor("manual", "fan", "none", multiprocess=True, normalize_method="hist") </s> remove                               multiprocess=False,
 </s> add                               masker="none",
                              multiprocess=True, </s> remove         """ Inititalize the extractor plugin
 </s> add         """ Initialize the extractor plugin </s> remove         """ Return a list of available aligners/detectors """
 </s> add         """ Return a list of available extractors of the given type

        Parameters
        ----------
        extractor_type: {'aligner', 'detector', 'masker'}
            The type of extractor to return the plugins for

        Returns
        -------
        list:
            A list of the available extractor plugin names for the given type
        """ </s> remove         retval = cv2.Laplacian(image, cv2.CV_64F).var()  # pylint: disable=no-member
 </s> add         retval = cv2.Laplacian(image, cv2.CV_64F).var()
        for plugin_type in ("detect", "align", "mask"):
            extractor.set_batchsize(plugin_type, 1)
          logger.debug("Initialize Extractor")
          extractor = Extractor("manual", "fan", multiprocess=True, normalize_method="hist")
          self.queues["in"] = extractor.input_queue
          # Set the batchsizes to 1
        for plugin_type in ("detect", "align", "mask"):
            extractor.set_batchsize(plugin_type, 1)
        for plugin_type in ("detect", "align", "mask"):
            extractor.set_batchsize(plugin_type, 1)
          extractor.launch()
          logger.debug("Initialized Extractor")
          return extractor
  
      def on_event(self, event, x, y, flags, param):  # pylint: disable=unused-argument,invalid-name
keep keep keep keep replace replace keep keep keep keep keep
 Smart Mask - Extract code review

- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format 
tools/lib_alignments/jobs_manual.py