  
          # TODO second pass .. convert to matrix
          new_images = [self._crop_image(image, top_left, bottom_right)
                        for image, top_left, bottom_right in zip(batch.image, upper_left, bot_right)]
          logger.trace("Cropped images")  # type:ignore
          return new_images
  
      @classmethod
      def transform(cls,
                    points: np.ndarray,
 
</s> remove         logger.trace(retval.shape)  # type:ignore
 </s> add         logger.trace(retval.shape)  # type:ignore[attr-defined] </s> remove         logger.trace("Predicting Landmarks")  # type:ignore
 </s> add         logger.trace("Predicting Landmarks")  # type:ignore[attr-defined] </s> remove         logger.trace("Calculated center and scale: %s", center_scale)  # type:ignore
 </s> add         logger.trace("Calculated center and scale: %s", center_scale)  # type:ignore[attr-defined] </s> remove         logger.debug("Cropping images")
 </s> add         logger.trace("Cropping images")  # type:ignore[attr-defined] </s> remove         logger.trace("Aligning faces around center")  # type:ignore
 </s> add         logger.trace("Aligning faces around center")  # type:ignore[attr-defined]
        logger.trace("Cropped images")  # type:ignore[attr-defined]
  
          # TODO second pass .. convert to matrix
          new_images = [self._crop_image(image, top_left, bottom_right)
                        for image, top_left, bottom_right in zip(batch.image, upper_left, bot_right)]
        logger.trace("Cropped images")  # type:ignore[attr-defined]
          return new_images
  
      @classmethod
      def transform(cls,
                    points: np.ndarray,
keep keep keep keep replace keep keep keep keep keep
 Bugfix - Extract - re-align with identity filtering enabled 
plugins/extract/align/fan.py