                  detected_face.load_aligned(detected_face.image, centering=centering, force=True)
                  face = detected_face.aligned.face
              mask = cv2.resize(detected_face.mask[mask_type].mask,
                                (face.shape[1], face.shape[0]),
                                interpolation=cv2.INTER_CUBIC)[..., None]
          else:
              face = np.array(detected_face.image)  # cv2 fails if this comes as imageio.core.Array
              imask = mask.get_full_frame_mask(face.shape[1], face.shape[0])
 
</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) </s> remove             frame_name = extractor_output.mask_tool_face_info["source_filename"]
            face_index = extractor_output.mask_tool_face_info["face_index"]
            logger.trace("Saving face: (frame: %s, face index: %s)", frame_name, face_index)
 </s> add             frame_name = extractor_output.frame_metadata["source_filename"]
            face_index = extractor_output.frame_metadata["face_index"]
            logger.trace("Saving face: (frame: %s, face index: %s)",  # type: ignore
                         frame_name, face_index)
            assert face is not None
                  detected_face.load_aligned(detected_face.image, centering=centering, force=True)
                  face = detected_face.aligned.face
            assert face is not None
              mask = cv2.resize(detected_face.mask[mask_type].mask,
                                (face.shape[1], face.shape[0]),
                                interpolation=cv2.INTER_CUBIC)[..., None]
          else:
              face = np.array(detected_face.image)  # cv2 fails if this comes as imageio.core.Array
              imask = mask.get_full_frame_mask(face.shape[1], face.shape[0])
keep add keep keep keep keep keep keep
 Minor updates and fixups
  - Mask Tool - Typing + BiSeNet mask update fix
  - Alignments Tool - Auto search for alignments file 
tools/mask/mask.py