                                      exclude_gpus=self._args.exclude_gpus,
                                      rotate_images=self._args.rotate_images,
                                      min_size=self._args.min_size,
                                      normalize_method=normalization,
                                      re_feed=self._args.re_feed)
          self._filter = Filter(self._args.ref_threshold,
                                self._args.filter,
                                self._args.nfilter,
                                self._extractor)
  
 
</s> remove         new_img = np.empty(new_dim, dtype=np.uint8)
 </s> add         new_img = np.zeros(new_dim, dtype=np.uint8)
                                    re_feed=self._args.re_feed,
                                    re_align=self._args.re_align)
                                      exclude_gpus=self._args.exclude_gpus,
                                      rotate_images=self._args.rotate_images,
                                      min_size=self._args.min_size,
                                      normalize_method=normalization,
                                    re_feed=self._args.re_feed,
                                    re_align=self._args.re_align)
          self._filter = Filter(self._args.ref_threshold,
                                self._args.filter,
                                self._args.nfilter,
                                self._extractor)
  
keep keep keep keep 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 
scripts/extract.py