          """
          mask = (cv2.resize(mask,
                             (self.stored_size, self.stored_size),
                             interpolation=cv2.INTER_AREA) * 255.0).astype("uint8")
          self._mask = compress(mask)
  
      def set_blur_and_threshold(self,
                                 blur_kernel=0, blur_type="gaussian", blur_passes=1, threshold=0):
          """ Set the internal blur kernel and threshold amount for returned masks
  
 
</s> remove                                blur_kernel=0, blur_type="gaussian", blur_passes=1, threshold=0):
 </s> add                                blur_kernel: int = 0,
                               blur_type: Optional[Literal["gaussian", "normalized"]] = "gaussian",
                               blur_passes: int = 1,
                               threshold: int = 0) -> None: </s> remove         mask: numpy.ndarray
 </s> add         mask: :class:`numpy.ndarray` </s> remove             return kernel
 </s> add             return int(kernel) </s> remove     def mask(self):
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
 </s> add     def mask(self) -> np.ndarray:
        """ :class:`numpy.ndarray`: The mask at the size of :attr:`stored_size` with any requested
        blurring, threshold amount and centering applied.""" </s> remove         logger.trace("Initialized: %s", self.__class__.__name__)
 </s> add         logger.trace("Initialized: %s", self.__class__.__name__)  # type: ignore
        self._mask = compress(mask.tobytes())
          """
          mask = (cv2.resize(mask,
                             (self.stored_size, self.stored_size),
                             interpolation=cv2.INTER_AREA) * 255.0).astype("uint8")
        self._mask = compress(mask.tobytes())
  
      def set_blur_and_threshold(self,
                                 blur_kernel=0, blur_type="gaussian", blur_passes=1, threshold=0):
          """ Set the internal blur kernel and threshold amount for returned masks
  
keep keep keep keep replace keep keep keep keep keep
 lib.align updates:
  - alignments.py
    - Add typed dicts for imported alignments
    - Explicitly check for presence of thumb value in alignments dict
    - linting
  - detected_face.py
    - Typing
    - Linting
    - Legacy support for pre-aligned face
    - Update dependencies to new property names 
lib/align/detected_face.py