              The extracted face at the given size, with the given coverage of the given dtype or
              ``None`` if no image has been provided.
          """
          if image is None:
              logger.trace("_extract_face called without a loaded image. Returning empty face.")
              return None
  
          if self._is_aligned and self._centering != "head":  # Crop out the sub face from full head
              image = self._convert_centering(image)
  
 
</s> remove         if self._is_aligned and self._centering != "head":  # Crop out the sub face from full head
 </s> add         if self._is_aligned and (self._centering != self._source_centering or
                                 self._coverage_ratio != 1.0):
            # Crop out the sub face from full head </s> remove     def matrix(self):
 </s> add     def matrix(self) -> np.ndarray: </s> remove     def face(self):
 </s> add     def face(self) -> Optional[np.ndarray]: </s> remove                 logger.trace("adjusted_matrix: %s", mat)
                self._cache["adjusted_matrix"][0] = mat
        return self._cache["adjusted_matrix"][0]
 </s> add                 logger.trace("adjusted_matrix: %s", mat)  # type: ignore
                self._cache.adjusted_matrix = mat
        return self._cache.adjusted_matrix </s> remove     def _convert_centering(self, image):
 </s> add     def _convert_centering(self, image: np.ndarray) -> np.ndarray:
            logger.trace("_extract_face called without a loaded image. "  # type: ignore
                         "Returning empty face.")
              The extracted face at the given size, with the given coverage of the given dtype or
              ``None`` if no image has been provided.
          """
          if image is None:
            logger.trace("_extract_face called without a loaded image. "  # type: ignore
                         "Returning empty face.")
              return None
  
          if self._is_aligned and self._centering != "head":  # Crop out the sub face from full head
              image = self._convert_centering(image)
  
keep keep keep keep replace keep keep keep keep keep
 lib.align.aligned_face updates
  - Typing
  - Legacy support for pre-aligned faces
  - Coverage support for pre-aligned faces
  - Standardized retrieval of sub-crops 
lib/align/aligned_face.py