                       "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)
          # 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.
 
</s> remove     @staticmethod
    def _load_align(aligner, configfile, normalize_method):
 </s> add     def _load_align(self, aligner, configfile, normalize_method): </s> remove     def __init__(self, git_model_id=None, model_filename=None, configfile=None):
        logger.debug("Initializing %s: (git_model_id: %s, model_filename: %s, "
                     " configfile: %s)", self.__class__.__name__, git_model_id,
                     model_filename, configfile)
 </s> add     def __init__(self, git_model_id=None, model_filename=None, configfile=None, instance=0):
        logger.debug("Initializing %s: (git_model_id: %s, model_filename: %s, instance: %s, "
                     "configfile: %s, )", self.__class__.__name__, git_model_id, model_filename,
                     instance, configfile) </s> remove     @staticmethod
    def _load_mask(masker, image_is_aligned, configfile):
 </s> add     def _load_mask(self, masker, image_is_aligned, configfile): </s> remove                          configfile=configfile)
 </s> add                          configfile=configfile,
                         instance=instance) </s> remove         tasks = []
        tasks = ["extract_{}_in".format(phase) for phase in self._flow]
        tasks.append("extract_{}_out".format(self._final_phase))
 </s> add         tasks = ["extract{}_{}_in".format(self._instance, phase) for phase in self._flow]
        tasks.append("extract{}_{}_out".format(self._instance, self._final_phase))
        self._instance = _get_instance()
                       "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._instance = _get_instance()
          masker = [masker] if not isinstance(masker, list) else masker
          self._flow = self._set_flow(detector, aligner, masker)
          # 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.
keep keep keep add keep keep keep keep
 Extract - Allow multiple pipelines to be loaded 
plugins/extract/pipeline.py