          return batch
  
      def process_output(self, batch):
          """ Compile found faces for output """
          for idx, (face, predicts) in enumerate(zip(batch["detected_faces"], batch["prediction"])):
              generator = (cv2.GaussianBlur(mask, (7, 7), 0) for mask in predicts)
              predicted = np.array(tuple(generator))
              predicted[predicted < 10.] = 0.
              predicted[predicted > 245.] = 255.
  
              face.load_feed_face(face.image,
                                  size=self.input_size,
                                  coverage_ratio=self.coverage_ratio)
              feed_face = face.feed["face"][..., :3]
              feed_mask = self._resize(predicted, self.input_size).astype('uint8')
              batch["detected_faces"][idx].feed["face"] = np.concatenate((feed_face,
                                                                          feed_mask),
                                                                         axis=-1)
              face.load_reference_face(face.image,
                                       size=self.output_size,
                                       coverage_ratio=self.coverage_ratio)
              ref_face = face.reference["face"][..., :3]
              ref_mask = self._resize(predicted, self.output_size).astype('uint8')
              batch["detected_faces"][idx].reference["face"] = np.concatenate((ref_face,
                                                                               ref_mask),
                                                                              axis=-1)
          return batch
 
</s> remove         for idx, (face, predicts) in enumerate(zip(batch["detected_faces"], batch["prediction"])):
            generator = (cv2.GaussianBlur(mask, (7, 7), 0) for mask in predicts)
            predicted = np.array(tuple(generator))
            predicted[predicted < 10.] = 0.
            predicted[predicted > 245.] = 255.

            face.load_feed_face(face.image,
                                size=self.input_size,
                                coverage_ratio=self.coverage_ratio)
            feed_face = face.feed["face"][..., :3]
            feed_mask = self._resize(predicted, self.input_size).astype('uint8')
            batch["detected_faces"][idx].feed["face"] = np.concatenate((feed_face,
                                                                        feed_mask),
                                                                       axis=-1)
            face.load_reference_face(face.image,
                                     size=self.output_size,
                                     coverage_ratio=self.coverage_ratio)
            ref_face = face.reference["face"][..., :3]
            ref_mask = self._resize(predicted, self.output_size).astype('uint8')
            batch["detected_faces"][idx].reference["face"] = np.concatenate((ref_face,
                                                                             ref_mask),
                                                                            axis=-1)
 </s> add  </s> remove         for idx, (face, predicts) in enumerate(zip(batch["detected_faces"], batch["prediction"])):
            generator = (cv2.GaussianBlur(mask, (7, 7), 0) for mask in predicts)
            predicted = np.array(tuple(generator))
            predicted[predicted < 10.] = 0.
            predicted[predicted > 245.] = 255.

            face.load_feed_face(face.image,
                                size=self.input_size,
                                coverage_ratio=self.coverage_ratio)
            feed_face = face.feed["face"][..., :3]
            feed_mask = self._resize(predicted, self.input_size).astype('uint8')
            batch["detected_faces"][idx].feed["face"] = np.concatenate((feed_face,
                                                                        feed_mask),
                                                                       axis=-1)
            face.load_reference_face(face.image,
                                     size=self.output_size,
                                     coverage_ratio=self.coverage_ratio)
            ref_face = face.reference["face"][..., :3]
            ref_mask = self._resize(predicted, self.output_size).astype('uint8')
            batch["detected_faces"][idx].reference["face"] = np.concatenate((ref_face,
                                                                             ref_mask),
                                                                            axis=-1)
 </s> add  </s> remove         generator = zip(batch["feed"], batch["detected_faces"], batch["prediction"])
        for feed, face, prediction in generator:
            face.image = np.concatenate((feed, prediction), axis=-1)
            face.load_feed_face(face.image,
                                size=self.input_size,
                                coverage_ratio=self.coverage_ratio)
            face.load_reference_face(face.image,
                                     size=self.output_size,
                                     coverage_ratio=self.coverage_ratio)
 </s> add  </s> remove         generator = zip(batch["feed"], batch["detected_faces"], batch["prediction"])
        for feed, face, prediction in generator:
            face.image = np.concatenate((feed, prediction), axis=-1)
            face.load_feed_face(face.image,
                                size=self.input_size,
                                coverage_ratio=self.coverage_ratio)
            face.load_reference_face(face.image,
                                     size=self.output_size,
                                     coverage_ratio=self.coverage_ratio)
 </s> add  </s> remove         generator = zip(batch["feed"], batch["detected_faces"], batch["prediction"])
        for feed, face, prediction in generator:
            face.image = np.concatenate((feed, prediction), axis=-1)
            face.load_feed_face(face.image,
                                size=self.input_size,
                                coverage_ratio=self.coverage_ratio)
            face.load_reference_face(face.image,
                                     size=self.output_size,
                                     coverage_ratio=self.coverage_ratio)
 </s> add 
          return batch
  
      def process_output(self, batch):
          """ Compile found faces for output """






















          return batch
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep
 Mask plugin cleanup

- PEP8 Fixes
- Remove config for non NN Masks
- Tidy up defaults helptext
- cli.py fix typos
- Remove unused imports and functions _base.py
- Standardize input_size param
- Enable and update documentation
- Change references from `aligner` to `masker`
- Change  input_size, output_size and coverage_ratio from kwargs to params
- Move load_aligned to batch input iterator
- Remove unnecessary self.input param
- Add softmax layer append function to KSession
- Remove references to KSession protected objects
- Standardize plugin output into finalize method
- Make masks full frame and add to lib.faces_detect
- Add masks to alignments.json (temporary zipped base64 solution) 
plugins/extract/mask/unet_dfl.py