              layer = (layer - layer.min()) / (layer.max() - layer.min())
              face[:, :, chan] = layer
          return face * 255.0
  
      @staticmethod
      def _normalize_hist(face):
          """ Equalize the RGB histogram channels """
          for chan in range(3):
              face[:, :, chan] = cv2.equalizeHist(face[:, :, chan])
          return face
  
      @staticmethod
 
</s> remove     @staticmethod
    def _normalize_mean(face):
        """ Normalize Face to the Mean """
 </s> add     @classmethod
    def _normalize_mean(cls, face: np.ndarray) -> np.ndarray:
        """ Normalize Face to the Mean

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """ </s> remove     @staticmethod
    def _normalize_clahe(face):
        """ Perform Contrast Limited Adaptive Histogram Equalization """
 </s> add     @classmethod
    def _normalize_clahe(cls, face: np.ndarray) -> np.ndarray:
        """ Perform Contrast Limited Adaptive Histogram Equalization

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """ </s> remove             x_center = (face.left + face.right) / 2.0
            y_center = (face.top + face.bottom) / 2.0 - face.height * 0.12
            scale = (face.width + face.height) * self.reference_scale
 </s> add             x_center = (cast(int, face.left) + face.right) / 2.0
            y_center = (cast(int, face.top) + face.bottom) / 2.0 - cast(int, face.height) * 0.12
            scale = (cast(int, face.width) + cast(int, face.height)) * self.reference_scale </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type:ignore </s> remove     def get_center_scale(self, detected_faces):
        """ Get the center and set scale of bounding box """
 </s> add         Parameters
        ----------
        detected_faces: list
            List of :class:`~lib.align.DetectedFace` objects for the batch

        Returns
        -------
        :class:`numpy.ndarray`
            The center and scale of the bounding box
        """
    @classmethod
    def _normalize_hist(cls, face: np.ndarray) -> np.ndarray:
        """ Equalize the RGB histogram channels

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """
              layer = (layer - layer.min()) / (layer.max() - layer.min())
              face[:, :, chan] = layer
          return face * 255.0
  
    @classmethod
    def _normalize_hist(cls, face: np.ndarray) -> np.ndarray:
        """ Equalize the RGB histogram channels

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """
    @classmethod
    def _normalize_hist(cls, face: np.ndarray) -> np.ndarray:
        """ Equalize the RGB histogram channels

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """
    @classmethod
    def _normalize_hist(cls, face: np.ndarray) -> np.ndarray:
        """ Equalize the RGB histogram channels

        Parameters
        ----------
        faces: :class:`numpy.ndarray`
            The faces to normalize

        Returns
        -------
        :class:`numpy.ndarray`
            The normalized faces
        """
          for chan in range(3):
              face[:, :, chan] = cv2.equalizeHist(face[:, :, chan])
          return face
  
      @staticmethod
keep keep keep keep replace replace replace keep keep keep keep keep
 Extract updates:
  - Default CPU detector to MTCNN
  - add basic Aligner false positive filters
  - Typing: align + plugins
  - Use specific AlignerBatch class for alignment
  - 
plugins/extract/align/_base.py