                                face=None,
                                head=None)
          self._padding = self._padding_from_coverage(size, coverage_ratio)
  
          self._cache = self._set_cache()
  
          self._face = self.extract_face(image)
          logger.trace("Initialized: %s (matrix: %s, padding: %s, face shape: %s)",
                       self.__class__.__name__, self._matrices["legacy"], self._padding,
                       self._face if self._face is None else self._face.shape)
 
</s> remove         logger.trace("Initialized: %s (matrix: %s, padding: %s, face shape: %s)",
 </s> add         logger.trace("Initialized: %s (matrix: %s, padding: %s, face shape: %s)",  # type: ignore </s> remove                               face=None,
                              head=None)
 </s> add                               face=np.array([]),
                              head=np.array([])) </s> remove     def size(self):
 </s> add     def centering(self) -> Literal["legacy", "head", "face"]:
        """ str: The centering of the Aligned Face. One of `"legacy"`, `"head"`, `"face"`. """
        return self._centering

    @property
    def size(self) -> int: </s> remove     def __init__(self, landmarks, image=None, centering="face", size=64, coverage_ratio=1.0,
                 dtype=None, is_aligned=False):
        logger.trace("Initializing: %s (image shape: %s, centering: '%s', size: %s, "
                     "coverage_ratio: %s, dtype: %s, is_aligned: %s)", self.__class__.__name__,
                     image if image is None else image.shape, centering, size, coverage_ratio,
                     dtype, is_aligned)
 </s> add     def __init__(self,
                 landmarks: np.ndarray,
                 image: Optional[np.ndarray] = None,
                 centering: CenteringType = "face",
                 size: int = 64,
                 coverage_ratio: float = 1.0,
                 dtype: Optional[str] = None,
                 is_aligned: bool = False,
                 is_legacy: bool = False) -> None:
        logger.trace("Initializing: %s (image shape: %s, centering: '%s', "  # type: ignore
                     "size: %s, coverage_ratio: %s, dtype: %s, is_aligned: %s, is_legacy: %s)",
                     self.__class__.__name__, image if image is None else image.shape,
                     centering, size, coverage_ratio, dtype, is_aligned, is_legacy)
        self._cache = _FaceCache()
                                face=None,
                                head=None)
          self._padding = self._padding_from_coverage(size, coverage_ratio)
  
        self._cache = _FaceCache()
  
          self._face = self.extract_face(image)
          logger.trace("Initialized: %s (matrix: %s, padding: %s, face shape: %s)",
                       self.__class__.__name__, self._matrices["legacy"], self._padding,
                       self._face if self._face is None else self._face.shape)
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