          Parameters
          ----------
          offset: :class:`numpy.ndarray`
              The (x, y) offset from the center point to return the mask for
  
          Notes
          -----
          All crops are for 'legacy` centering. This may change in future
          """
          if centering == self.stored_centering:
 
</s> remove         All masks are currently stored with `face` centering and all crops are for 'legacy`
        centering. This may change in future
 </s> add         All crops are for 'legacy` centering. This may change in future </s> remove         src_size = self.stored_size - (self.stored_size * _EXTRACT_RATIOS["face"])
 </s> add         if centering == self.stored_centering:
            return

        src_size = self.stored_size - (self.stored_size * _EXTRACT_RATIOS[self.stored_centering]) </s> remove     def set_sub_crop(self, offset):
 </s> add     def set_sub_crop(self, offset, centering):
        centering: str
            The centering to set the sub crop area for. One of `"legacy"`, `"face"`. `"head"`
          Parameters
          ----------
          offset: :class:`numpy.ndarray`
              The (x, y) offset from the center point to return the mask for
        centering: str
            The centering to set the sub crop area for. One of `"legacy"`, `"face"`. `"head"`
  
          Notes
          -----
          All crops are for 'legacy` centering. This may change in future
          """
          if centering == self.stored_centering:
keep keep keep add keep keep keep keep keep keep
 core mask updates:
  - Add support for different mask centering
  - Update legacy alignments to store mask centering
  - Bugfix: lib.image ImageIO. Ensure unique queues are created (fixes mask tool when Face is input and an output folder is provided) 
lib/align/detected_face.py