                                         normalize_method,
                                         re_feed,
                                         disable_filter)
          self._recognition = self._load_recognition(recognition, configfile)
          self._mask = [self._load_mask(mask, configfile) for mask in maskers]
          self._is_parallel = self._set_parallel_processing(multiprocess)
 
</s> remove                      "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)
 </s> add                      "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) </s> remove         for prediction, roi, offset in zip(batch.prediction,
                                           batch.data[0]["roi"],
                                           batch.data[0]["offsets"]):
            points = np.reshape(prediction, (-1, 2))
            points *= (roi[2] - roi[0])
            points[:, 0] += (roi[0] - offset[0])
            points[:, 1] += (roi[1] - offset[1])
            landmarks.append(points)
        batch.landmarks = np.array(landmarks)
 </s> add         if batch.second_pass:
            batch.landmarks = batch.prediction.reshape(self.batchsize, -1, 2) * self.input_size
        else:
            for prediction, roi, offset in zip(batch.prediction,
                                               batch.data[0]["roi"],
                                               batch.data[0]["offsets"]):
                points = np.reshape(prediction, (-1, 2))
                points *= (roi[2] - roi[0])
                points[:, 0] += (roi[0] - offset[0])
                points[:, 1] += (roi[1] - offset[1])
                landmarks.append(points)
            batch.landmarks = np.array(landmarks)
                                       re_align,
                                         normalize_method,
                                         re_feed,
                                       re_align,
                                         disable_filter)
          self._recognition = self._load_recognition(recognition, configfile)
          self._mask = [self._load_mask(mask, configfile) for mask in maskers]
          self._is_parallel = self._set_parallel_processing(multiprocess)
keep add 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