                   re_feed: int = 0,
                   disable_filter: bool = False) -> None:
          logger.debug("Initializing %s: (detector: %s, aligner: %s, masker: %s, recognition: %s, "
                       "configfile: %s, multiprocess: %s, exclude_gpus: %s, rotate_images: %s, "
                       "min_size: %s, normalize_method: %s, re_feed: %s, disable_filter: %s, )",
                       self.__class__.__name__, detector, aligner, masker, recognition, configfile,
                       multiprocess, exclude_gpus, rotate_images, min_size, normalize_method,
                       re_feed, disable_filter)
          self._instance = _get_instance()
          maskers = [cast(Optional[str],
                     masker)] if not isinstance(masker, list) else cast(List[Optional[str]], masker)
          self._flow = self._set_flow(detector, aligner, maskers, recognition)
          self._exclude_gpus = exclude_gpus
 
</s> remove         new_img = np.empty(new_dim, dtype=np.uint8)
 </s> add         new_img = np.zeros(new_dim, dtype=np.uint8)
                     "min_size: %s, normalize_method: %s, re_feed: %s, re_align: %s, "
                     "disable_filter: %s)", self.__class__.__name__, detector, aligner, masker,
                     recognition, configfile, multiprocess, exclude_gpus, rotate_images, min_size,
                     normalize_method, re_feed, re_align, disable_filter)
                   re_feed: int = 0,
                   disable_filter: bool = False) -> None:
          logger.debug("Initializing %s: (detector: %s, aligner: %s, masker: %s, recognition: %s, "
                       "configfile: %s, multiprocess: %s, exclude_gpus: %s, rotate_images: %s, "
                     "min_size: %s, normalize_method: %s, re_feed: %s, re_align: %s, "
                     "disable_filter: %s)", self.__class__.__name__, detector, aligner, masker,
                     recognition, configfile, multiprocess, exclude_gpus, rotate_images, min_size,
                     normalize_method, re_feed, re_align, disable_filter)
                     "min_size: %s, normalize_method: %s, re_feed: %s, re_align: %s, "
                     "disable_filter: %s)", self.__class__.__name__, detector, aligner, masker,
                     recognition, configfile, multiprocess, exclude_gpus, rotate_images, min_size,
                     normalize_method, re_feed, re_align, disable_filter)
                     "min_size: %s, normalize_method: %s, re_feed: %s, re_align: %s, "
                     "disable_filter: %s)", self.__class__.__name__, detector, aligner, masker,
                     recognition, configfile, multiprocess, exclude_gpus, rotate_images, min_size,
                     normalize_method, re_feed, re_align, disable_filter)
                     "min_size: %s, normalize_method: %s, re_feed: %s, re_align: %s, "
                     "disable_filter: %s)", self.__class__.__name__, detector, aligner, masker,
                     recognition, configfile, multiprocess, exclude_gpus, rotate_images, min_size,
                     normalize_method, re_feed, re_align, disable_filter)
          self._instance = _get_instance()
          maskers = [cast(Optional[str],
                     masker)] if not isinstance(masker, list) else cast(List[Optional[str]], masker)
          self._flow = self._set_flow(detector, aligner, maskers, recognition)
          self._exclude_gpus = exclude_gpus
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Extract: Implement re-align/2nd pass
   - implement configurable re-align function in extract
  - update locales + documentation
  - re-factor align._base and split to separate modules
  - move normalization method to plugin parent
  - bugfix: FAN use zeros for pre-processing crop
  - lint AlignedFilter 
plugins/extract/pipeline.py