                       "configfile: %s, multiprocess: %s, rotate_images: %s, min_size: %s, "
                       "normalize_method: %s, image_is_aligned: %s)",
                       self.__class__.__name__, detector, aligner, masker, configfile,
                       multiprocess, rotate_images, min_size, normalize_method, image_is_aligned)
          self._flow = self._set_flow(detector, aligner, masker)
          self.phase = self._flow[0]
          # We only ever need 1 item in each queue. This is 2 items cached (1 in queue 1 waiting
          # for queue) at each point. Adding more just stacks RAM with no speed benefit.
          self._queue_size = 1
          self._vram_buffer = 256  # Leave a buffer for VRAM allocation
 
</s> remove         self._mask = self._load_mask(masker, image_is_aligned, configfile)
 </s> add         self._mask = [self._load_mask(mask, image_is_aligned, configfile) for mask in masker] </s> remove         self._add_queues(kwargs["in_queue"], kwargs["out_queue"], ["predict", "post"])
 </s> add         name = self.name.replace(" ", "_").lower()
        self._add_queues(kwargs["in_queue"],
                         kwargs["out_queue"],
                         ["predict_{}".format(name), "post_{}".format(name)]) </s> remove         logger.info("sample filename: %s, base filename: %s", sample_filename, basename)
 </s> add         logger.debug("sample filename: %s, base filename: %s", sample_filename, basename) </s> remove         plugin = getattr(self, "_{}".format(phase))
 </s> add         plugin_type, idx = self._get_plugin_type_and_index(phase)
        plugin = getattr(self, "_{}".format(plugin_type))
        plugin = plugin[idx] if idx is not None else plugin </s> remove         self.colorformat = "RGB"
 </s> add         self.color_format = "RGB"
        masker = [masker] if not isinstance(masker, list) else masker
                       "configfile: %s, multiprocess: %s, rotate_images: %s, min_size: %s, "
                       "normalize_method: %s, image_is_aligned: %s)",
                       self.__class__.__name__, detector, aligner, masker, configfile,
                       multiprocess, rotate_images, min_size, normalize_method, image_is_aligned)
        masker = [masker] if not isinstance(masker, list) else masker
          self._flow = self._set_flow(detector, aligner, masker)
          self.phase = self._flow[0]
          # We only ever need 1 item in each queue. This is 2 items cached (1 in queue 1 waiting
          # for queue) at each point. Adding more just stacks RAM with no speed benefit.
          self._queue_size = 1
          self._vram_buffer = 256  # Leave a buffer for VRAM allocation
keep keep keep add keep keep keep keep keep keep
 Extraction - Auto generate Components and Extended Masks 
plugins/extract/pipeline.py