          logger.trace("Initialized: %s", self.__class__.__name__)
  
      @property
      def mask(self):
          """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring
          and threshold amount applied."""
          dims = (self.stored_size, self.stored_size, 1)
          mask = np.frombuffer(decompress(self._mask), dtype="uint8").reshape(dims)
          if self._threshold != 0.0 or self._blur["kernel"] != 0:
              mask = mask.copy()
          if self._threshold != 0.0:
              mask[mask < self._threshold] = 0.0
              mask[mask > 255.0 - self._threshold] = 255.0
 
</s> remove         mask = face.mask.get(self._canvas.selected_mask, None) if get_mask else None
        mask = mask if mask is None else mask.mask.squeeze()
 </s> add         mask = self._obtain_mask(face, self._canvas.selected_mask) if get_mask else None </s> remove             mask = None if state == "hidden" else det_faces.mask.get(mask_type, None)
            mask = mask if mask is None else mask.mask.squeeze()
 </s> add             mask = None if state == "hidden" else self._obtain_mask(det_face, mask_type)
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
        mask = self.stored_mask
          logger.trace("Initialized: %s", self.__class__.__name__)
  
      @property
      def mask(self):
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
        mask = self.stored_mask
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
        mask = self.stored_mask
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
        mask = self.stored_mask
        """ numpy.ndarray: The mask at the size of :attr:`stored_size` with any requested blurring,
        threshold amount and centering applied."""
        mask = self.stored_mask
          if self._threshold != 0.0 or self._blur["kernel"] != 0:
              mask = mask.copy()
          if self._threshold != 0.0:
              mask[mask < self._threshold] = 0.0
              mask[mask > 255.0 - self._threshold] = 255.0
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Manual Tool - Update to support masks with different centering 
lib/align/detected_face.py