              self._blur["type"] = blur_type
              self._blur["passes"] = blur_passes
          self._threshold = (threshold / 100.0) * 255.0
  
      def set_sub_crop(self, offset, centering):
          """ Set the internal crop area of the mask to be returned.
  
          This impacts the returned mask from :attr:`mask` if the requested mask is required for
          different face centering than what has been stored.
  
 
</s> remove         offset: :class:`numpy.ndarray`
            The (x, y) offset from the center point to return the mask for
        centering: str
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
         centering: str </s> remove         if centering == self.stored_centering:
 </s> add         if centering == self.stored_centering and coverage_ratio == 1.0: </s> remove         sub_crop_offset: :class:`numpy.ndarray`
            The (x, y) offset to crop the mask from the center point. Set to `None` if the mask
            does not need to be offset for alternative centering
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering </s> remove         blur_type = self._config["type"]
 </s> add         blur_type = self._config["type"].lower() </s> remove         sub_crop_offset: :class:`numpy.ndarray`
            The (x, y) offset to crop the mask from the center point. Set to `None` if the mask
            does not need to be offset for alternative centering
 </s> add         source_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at its stored centering
        target_offset: :class:`numpy.ndarray`
            The (x, y) offset for the mask at the requested target centering
    def set_sub_crop(self,
                     source_offset: np.ndarray,
                     target_offset: np.ndarray,
                     centering: "CenteringType",
                     coverage_ratio: float = 1.0) -> None:
              self._blur["type"] = blur_type
              self._blur["passes"] = blur_passes
          self._threshold = (threshold / 100.0) * 255.0
  
    def set_sub_crop(self,
                     source_offset: np.ndarray,
                     target_offset: np.ndarray,
                     centering: "CenteringType",
                     coverage_ratio: float = 1.0) -> None:
          """ Set the internal crop area of the mask to be returned.
  
          This impacts the returned mask from :attr:`mask` if the requested mask is required for
          different face centering than what has been stored.
  
keep keep keep keep replace keep keep keep keep keep
 lib.detected_face.Mask
  - Add source + target offset and coverage to set_sub_crop method 
lib/align/detected_face.py