
    njI                     V   S SK r S SKrS SKJr  S SKrS SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJrJr  S SKJrJr  \R(                  r   SS	\	S
\\	   S\	S\S\S\\   4S jjrS r " S S\5      r\ R6                  4S jr\S:X  a#  \ R<                  " \" \ R6                  5      5        gg)    N)Optional)gdal)PathLikeOrStr)get_color_palette)get_color_table)GDALArgumentParser
GDALScript)GetOutputDriverForopen_dssrc_filenamepct_filenamedst_filenameband_number	out_bandsdriver_namec                    [        U 5      nUc  [        SU  S35      eUR                  U5      nUc  [        U5      n[        R
                  " U5      nUc  [        SU S35      eUb]  [        U5      n	U	R                  5       (       a1  UR                  5       n
UR                  5       nU	R                  X5        [        U	5      nO!UR                  5       nUc  [        U  S35      eUR                  5       n[        R                  " U5      [        R                  " U5      [        R                  " U5      [        R                  " U5      S-  /nUb@  [!        U5       H1  nUR#                  U5      n[!        S5       H  nUU   UU   U'   M     M3     UR%                  5       S:X  a  UnOS	n[        R
                  " S
5      nUR'                  UUR(                  UR*                  U5      nUR-                  UR/                  5       5        UR1                  UR3                  5       5        UR5                  5       S:  a.  UR7                  UR9                  5       UR;                  5       5        [=        S5        [!        UR*                  5       H  nUR?                  SUUR(                  S5      n[!        U5       HD  nUU   n[        R@                  " UU5      nUR                  US-   5      RC                  USU5        MF     [=        US-   UR*                  -  5        M     UU:X  a  UnU$ URE                  U=(       d    SU5      nS nURG                  U5        U$ )NzUnable to open  "z" driver not registered.z has no color table      gtiffztemp.tifGTiffr   g           g      ? )$r   	ExceptionGetRasterBandr
   r   GetDriverByNamer   has_percents
GetMinimumapply_percentr   GetRasterColorTableGetCountnparangeonesrangeGetColorEntrylowerCreateRasterXSizeRasterYSizeSetProjectionGetProjectionSetGeoTransformGetGeoTransformGetGCPCountSetGCPsGetGCPsGetGCPProjectionprogressReadAsArraytake
WriteArray
CreateCopyDelete)r   r   r   r   r   r   src_dssrc_band
dst_driverpalmin_valmax_valctct_sizelookupientryctif_filenamegtiff_drivertif_dsiYsrc_dataiBandband_lookupdst_datadst_dss                              O/var/www/html/pdf-tiff/venv/lib/python3.13/site-packages/osgeo_utils/pct2rgb.pypct2rgbrP   2   s    \"F~/,q9::##K0H
 (6%%k2J!K=(@ABB
 -))+G))+Gg/S!))+:|n,?@AAkkmG
		'
		'
		'
3	F 
~wA$$Q'E1X$Qxq	!    g%#!''0L  f((&*<*<iF --/0
61134av~~')@)@)BC
 SMF&&'''2v/A/A1E9%E -Kww{H5H  +66xBG	 & 	"s(f0001 ( |# M	 &&|'9r6BL)M    c                  B     [        S0 U D6nUS4$ ! [         a     gf = f)Nr   )Nr    )rP   r   )kwargsdss     rO   doitrV      s/    v1u s    
c                   <   ^  \ rS rSrU 4S jrS\4S jrS rSrU =r	$ )PCT2RGB   c                 f   > [         TU ]  5         SU l        [        R                  " S5      U l        g )Nz+Convert an 8bit paletted image to 24bit RGBz            This utility will convert a pseudo-color band on the input file
            into an output RGB file of the desired format.)super__init__titletextwrapdedentdescription)self	__class__s    rO   r\   PCT2RGB.__init__   s+    B
#??>
rQ   returnc           
         U R                   nUR                  SSSSS9  UR                  SSSS	S
SS9  UR                  SSSS[        SSS9  UR                  SS[        SS9  UR                  S[        SS9  UR                  S[        SS9  U$ )Nz-ofr   gdal_formatzSelect the output format. if not specified, the format is guessed from the extension. Use the short format name. Only output formats supporting pseudo-color tables should be used.)destmetavarhelpz-rgbar   store_constr      z8Generate a RGBA file (instead of a RGB file by default).)rg   actionconstdefaultri   z-bz-bandr   bandr   z&Band to convert to RGB, defaults to 1.)rg   rh   typern   ri   z-pctr   a%  Extract the color table from <palette_file> instead of getting it from <source_file>. Can be used to have a consistent color table for multiple files. The palette file must be either a raster file in a GDAL supported format with a palette or a color file in a supported format (txt, qml, qlr).)rg   rp   ri   r   zThe input file.)rp   ri   r   z)The output RGB file that will be created.)parseradd_argumentintstr)ra   argvrq   s      rO   
get_parserPCT2RGB.get_parser   s    !Q	 	 	
 	 K 	 	
 	9 	 	
 	M	 	 	
 	N;LM+V 	 	
 rQ   c                     [        S0 UD6$ )NrS   )rP   )ra   rT   s     rO   rV   PCT2RGB.doit   s       rQ   )r`   r]   )
__name__
__module____qualname____firstlineno__r\   r   rv   rV   __static_attributes____classcell__)rb   s   @rO   rX   rX      s     
/"4 /b! !rQ   rX   c                 4    [        5       R                  U 5      $ )N)rX   main)ru   s    rO   r   r      s    9>>$rQ   __main__)r   rk   N)sysr^   typingr   numpyr#   osgeor   osgeo_utils.auxiliary.baser   #osgeo_utils.auxiliary.color_paletter   !osgeo_utils.auxiliary.color_tabler   #osgeo_utils.auxiliary.gdal_argparser   r	   osgeo_utils.auxiliary.utilr
   r   TermProgress_nocbr4   rs   rt   rP   rV   rX   ru   r   rz   exitrS   rQ   rO   <module>r      s   D      4 A = N B!! !%ee=)e  e 	e
 e #eP<!j <!~ hh   zHHT#((^ rQ   