          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:
              return
  
          src_size = self.stored_size - (self.stored_size * _EXTRACT_RATIOS[self.stored_centering])
 
</s> remove         if self._centering != mask_centering:
            crop_offset = reference_face.pose.offset[mask_centering] * -1
        else:
            crop_offset = np.array((0, 0))
        mask, raw_mask = self._adjustments["mask"].run(detected_face, crop_offset, mask_centering,
 </s> add         crop_offset = (reference_face.pose.offset[self._centering] -
                       reference_face.pose.offset[mask_centering])
        mask, raw_mask = self._adjustments["mask"].run(detected_face, crop_offset, self._centering, </s> remove         mask.set_sub_crop(self._cache[key]["aligned_face"].pose.offset[mask.stored_centering] * -1,
 </s> add         pose = self._cache[key]["aligned_face"].pose
        mask.set_sub_crop(pose.offset[self._centering] - pose.offset[mask.stored_centering],
          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"`




          """
          if centering == self.stored_centering:
              return
  
          src_size = self.stored_size - (self.stored_size * _EXTRACT_RATIOS[self.stored_centering])
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Bugfix: Collect mask correctly in training and convert 
lib/align/detected_face.py