                  out_image = np.concatenate((face, masked, mask), axis=1)
          elif self._output["type"] == "mask":
              out_image = mask
          elif self._output["type"] == "masked":
              out_image = np.concatenate([face, mask], axis=-1)
          return out_image
 
</s> remove             out_image = mask
 </s> add             out_image = imask </s> remove                 out_image = np.concatenate((face, masked, mask), axis=1)
 </s> add                 out_image = np.concatenate((face, masked, imask), axis=1) </s> remove             masked = (face.astype("float32") * mask.astype("float32") / 255.).astype("uint8")
            mask = np.tile(mask, 3)
            for img in (face, masked, mask):
 </s> add             masked = (face.astype("float32") * imask.astype("float32") / 255.).astype("uint8")
            imask = np.tile(imask, 3)
            for img in (face, masked, imask): </s> remove             mask = mask.get_full_frame_mask(face.shape[1], face.shape[0])
            mask = np.expand_dims(mask, -1)
 </s> add             imask = mask.get_full_frame_mask(face.shape[1], face.shape[0])
            imask = np.expand_dims(imask, -1) </s> remove                 centering = "legacy" if self._alignments.version == 1.0 else mask.stored_centering
 </s> add                 centering: "CenteringType" = ("legacy" if self._alignments.version == 1.0
                                              else mask.stored_centering)
            out_image = np.concatenate([face, imask], axis=-1)
                  out_image = np.concatenate((face, masked, mask), axis=1)
          elif self._output["type"] == "mask":
              out_image = mask
          elif self._output["type"] == "masked":
            out_image = np.concatenate([face, imask], axis=-1)
          return out_image
keep keep keep keep replace keep
 Minor updates and fixups
  - Mask Tool - Typing + BiSeNet mask update fix
  - Alignments Tool - Auto search for alignments file 
tools/mask/mask.py