          """
          assert isinstance(batch, AlignerBatch)
          logger.trace("Aligning faces around center")  # type:ignore
          center_scale = self.get_center_scale(batch.detected_faces)
          faces = self.crop(batch, center_scale)
          logger.trace("Aligned image around center")  # type:ignore
          faces = self._normalize_faces(faces)
          batch.data.append(dict(center_scale=center_scale))
          batch.feed = np.array(faces, dtype="float32")[..., :3] / 255.0
  
      def get_center_scale(self, detected_faces: List["DetectedFace"]) -> np.ndarray:
          """ Get the center and set scale of bounding box
 
</s> remove         batch.feed = np.array(faces, dtype="float32")[..., :3] / 255.0
 </s> add         logger.trace("Aligned image around center")  # type:ignore </s> remove         faces, roi, offsets = self.align_image(batch)
        faces = self._normalize_faces(faces)
 </s> add         lfaces, roi, offsets = self.align_image(batch)
        batch.feed = np.array(lfaces)[..., :3] </s> remove         batch.feed = np.array(faces, dtype="float32")[..., :3].transpose((0, 3, 1, 2))
 </s> add 
        batch.feed = np.array(self.crop(batch, center_scale))[..., :3]
          """
          assert isinstance(batch, AlignerBatch)
          logger.trace("Aligning faces around center")  # type:ignore
          center_scale = self.get_center_scale(batch.detected_faces)
        batch.feed = np.array(self.crop(batch, center_scale))[..., :3]
        batch.feed = np.array(self.crop(batch, center_scale))[..., :3]
        batch.feed = np.array(self.crop(batch, center_scale))[..., :3]
          batch.data.append(dict(center_scale=center_scale))
          batch.feed = np.array(faces, dtype="float32")[..., :3] / 255.0
  
      def get_center_scale(self, detected_faces: List["DetectedFace"]) -> np.ndarray:
          """ Get the center and set scale of bounding box
keep keep keep keep replace replace replace keep keep keep keep keep
 Extract: Implement re-align/2nd pass
   - implement configurable re-align function in extract
  - update locales + documentation
  - re-factor align._base and split to separate modules
  - move normalization method to plugin parent
  - bugfix: FAN use zeros for pre-processing crop
  - lint AlignedFilter 
plugins/extract/align/fan.py