
    MiX                     4   S SK Jr  S SKrS SKrS SKrS SKJr  S SKJ	r	  S SK
Jr  \	" 5       rS\\R                     S\\R                     4S jrS	 r\R                  4S
\4S jjrS\R"                  4S jrS\R"                  4S jrS\R(                  4S jrg)    )ListN)Image)
get_logger)settingsimagesreturnc                     / nU  H5  nUR                   S:w  a  UR                  S5      nUR                  U5        M7     U$ )NRGB)modeconvertappend)r   
new_imagesimages      p/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/surya/input/processing.pyconvert_if_not_rgbr      sA    J::MM%(E%       c                 .    [         R                  " U 5      $ N)	pypdfium2PdfDocument)pdf_filepaths    r   open_pdfr      s      ..r   indicesc                     U Vs/ s H&  o0U   R                  US-  SS9R                  5       PM(     nnU Vs/ s H  oUR                  S5      PM     nnU$ s  snf s  snf )NH   F)scaledraw_annotsr
   )renderto_pilr   )docr   dpiir   r   s         r   get_page_imagesr#      sf    KRKRaAC"H%8??A7   177ummE"F7M	 8s
   -AAr   c                 (   / nU GH  n[         R                  " U[         R                  S9n[         R                  " USS 5      nUS   US   ::  a  US   S-   US'   US   US   ::  a  US   S-   US'   [	        US   U R
                  S   5      US'   [	        US   U R
                  S   5      US'   XS   US   2US   US   24   R                  5       nUR                  S:X  a  [        R                  SU 35        UR                  U5        GM     U$ )Ndtyper            z'Warning: found an empty line with bbox )nparrayint32clipminshapecopysizeloggerwarningr   )r   bboxeslinesbboxlines        r   slice_bboxes_from_imager8   #   s   ExxBHH-wwtQ%7d1g1gkDG7d1g1gkDGd1gu{{1~.Qd1gu{{1~.Q!WtAw&Q$q'(99:??A99>NNDTFKLT! " Lr   c                 f    / n[        U5       H  u  p4UR                  [        X5      5        M!     U$ r   )	enumerater   slice_and_pad_poly)r   polysr5   idxpolys        r   slice_polys_from_imager?   9   s/    Eu%	'45 &Lr   image_arrayc           
      "   U Vs/ s H  o"S   US   4PM     nn[        U Vs/ s H  o3S   PM	     sn5      [        U Vs/ s H  o3S   PM	     sn5      [        U Vs/ s H  o3S   PM	     sn5      [        U Vs/ s H  o3S   PM	     sn5      /nXS   US   2US   US   24   R                  5       nUR                  S S u  pgU VVs/ s H  u  p8X4S   -
  XS   -
  4PM     nnn[	        US   US   :*  =(       d    US   US   :*  [        U5      S:  US:H  US:H  /5      (       a  U$  [        R                  " UR                  S S [        R                  S9n	[        R                  " U	[        R                  " U5      /S5        [        R                  " U	/S-  SS9n	[        R                  XYS:H  '   U$ s  snf s  snf s  snf s  snf s  snf s  snnf ! [        R                   a#  n
[         R#                  SU
 35         S n
A
U$ S n
A
ff = f)	Nr   r(   r'   r)   r%   )axisz)Warning: issue while processing polygon: )r.   maxr0   r/   anylenr*   zerosuint8cv2fillPolyr,   stackr   RECOGNITION_PAD_VALUEerrorr2   r3   )r@   coordinatescornerxr6   cropped_polygonheightwidthymaskes              r   r;   r;   @   s   8CDf1Ivay)KD;';aqT;'(;';aqT;'(;';aqT;'(;';aqT;'(	D "q'DG"3T!WtAw5F"FGLLNO#))"1-MF:EF+$!AQK!W-+KF GtAw4$q'T!W"4q aKQJ		
  Hxx--bq1BTBHH[12A6xx
,%-%C%C	" G E'''' G( 99 HB1#FGGHs;   F8F= G
G:G
G+BG H+H		H)typingr   rI   numpyr*   r   PILr   surya.loggingr   surya.settingsr   r2   r   r   	IMAGE_DPIr#   ndarrayr8   r?   r+   r;    r   r   <module>r_      s     
    $ #	tEKK0 T%++5F / -5,>,> $ 2:: ,"** %BHH %r   