Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
Jpeg2KImagePlugin.cpython-313.pyc103 linesDownload Raw Back to __pycache__
1�

2v�j:����SSKJr SSKrSSKrSSKrSSKJr SSKJrJ	r	J3r4Jr Sr\(aSSK
Jr SSKJr "S	S55rSSjrSSjrSS
jr"SS\	R5rSSjrSSjr\R."\R0\\5 \R2"\R0\5 \R4"\R0/SQ5 \R6"\R0S5 g)�)�annotationsN)�cast�)�Image�	ImageFile�ImagePalette�_binaryF)�Callable)�IOc�b�\rSrSrSrSS
SjjrSSjrSSjrSSjrSSjr	SSjr6SS	jrS7rg)�	BoxReader�zq8A small helper class to read fields stored in JPEG2000 header boxes9and to easily step into and read sub-boxes.10c�>�XlUS:�UlX lSUlg)Nr�������fp�11has_length�length�remaining_in_box)�selfrrs   �[D:\code\apps\devtools\python\user_packages\Python313\site-packages\PIL/Jpeg2KImagePlugin.py�__init__�BoxReader.__init__%s���� �A�+����� "���c��UR(a,URR5U-UR:�agURS:�aXR:*$g)NFrT)rr�tellrr)r�	num_bytess  r�	_can_read�BoxReader._can_read+sF���?�?�t�w�w�|�|�~�	�9�D�K�K�G��� � �A�%�� 5� 5�5�5�rc�$�URU5(d
Sn[U5eURRU5n[	U5U:aSUS[	U5S3n[U5eURS:�aU=RU-slU$)NzNot enough data in headerzExpected to read z bytes but only got �.r)r�SyntaxErrorr�read�len�OSErrorr)rr�msg�datas    r�_read_bytes�BoxReader._read_bytes5s����~�~�i�(�(�-�C��c�"�"��w�w�|�|�I�&���t�9�y� �%�i�[�0D�S��Y�K�q�Q�C��#�,��� � �1�$��!�!�Y�.�!��rc�|�[R"U5nURU5n[R"X5$�N)�struct�calcsizer(�unpack)r�field_format�sizer's    r�read_fields�BoxReader.read_fieldsCs/�����|�,������%���}�}�\�0�0rc�|�URnURU5n[[R"U5U5$r+)rr(r
�io�BytesIO)rr0r's   r�12read_boxes�BoxReader.read_boxesHs3���$�$������%������D�)�4�0�0rc��UR(a4URR5UR-UR:$g)NT)rrrrr)rs r�has_next_box�BoxReader.has_next_boxMs0���?�?��7�7�<�<�>�D�$9�$9�9�D�K�K�G�G�rc��URS:�a4URRUR[R5 SUl[[[[4URS55upUS:Xa%[[URS5S5nSnOSnX:dURX-135(d
Sn[U5eX-14UlU$)	Nrrz>I4srz>Q��zInvalid header length)rr�seek�os�SEEK_CURr�tuple�int�bytesr1rr")r�lbox�tbox�hlenr&s     r�
next_box_type�BoxReader.next_box_typeSs���� � �1�$��G�G�L�L��.�.����<� "����%��U�15�+�T�-=�-=�f�-E�F�16���1�9���T�-�-�d�3�A�6�7�D��D��D��;�d�n�n�T�[�9�9�)�C��c�"�"� $�����rrN)r)r�	IO[bytes]rrB�return�None)rrBrJ�bool)rrBrJrC)r/�strrJztuple[int | bytes, ...])rJr
)rJrL)rJrC)
�__name__�17__module__�__qualname__�__firstlineno__�__doc__rrr(r1r6r9rG�__static_attributes__�rrr
r
s*���18#���1�191�20�rr
c��URS5n[R"U5nXRUS-215-n[R"SU5up$pVpx   p�XW-22Xh-234nU24S:Xa2[R"SUS5nUSS-S-S:�aS	n
X�4$S25n
X�4$U26S:XaSn
X�4$U27S:XaS
n
X�4$U28S:XaSn
X�4$Sn[U5e)z�Parse the JPEG 2000 codestream to extract the size and component29count from the SIZ marker segment, returning a PIL (size, mode) tuple.�z>HHIIIIIIIIHrz>B�&r�r=�I;16�L�LA��RGB��RGBAz"unable to determine J2K image mode)r#r	�i16ber,�unpack_fromr")r�hdr�lsiz�siz�rsiz�xsiz�ysiz�xosiz�yosiz�_�csizr0�ssiz�moder&s               r�_parse_codestreamrnis��
�'�'�!�*�C��=�=���D�30
����q��!�31!�C�=C�=O�=O���>�:�D��E�!�Q��1�
�L�$�,�'�D��q�y��!�!�$��R�0����G�d�N�a��!�#��D��:���D��:��32������:��33������:��
34�����35�:��3���#��rc�2�US:XagSU-SU--SU--$)z�Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution,36calculated as (num / denom) * 10^exp and stored in dots per meter,37to floating-point dots per inch.rN���38i'rT)�num�denom�exps   r�_res_to_dpiru�s*��
��z���#�I��S��!�e�e�m�4�4rc�p�[U5nSnSnUR5(a^UR5nUS:XaUR5nO7US:XaUR	S5SS:XaSnUR5(aM^UceSnSnSnSnSn	Sn39SnUR5(GatUR5nUS:Xa�UR	S	5up�p�[U[5(de[U
[5(de[U[5(deX�4nUS40:Xa
US-S:�aS
nGO�US41:XaSnGO�US:XaSnGO�US:XaSnGO�US:XaSnGO�US:XaBUR	S5un nnUS42:Xa$US;aSnGO�US:XaSnUS:XaSnGOqUS:XaSnGOgUS:XGa@US;Ga9US;Ga2UR	S5unn[U[5(de[U[5(deSnUR	S S!U--5H$n[U[5(deUU:�dM"UnM& US::a�US:XaUS:XaSOSnOSn[R"U5n43[U5Hen/nUR	S S!U--5H+n[U[5(deURU5 M- U44R[U55 Mg US:XaS"OS#nGO US$:XGaUR5nUR5(a�UR5nUS%:Xa�UR	S&5unnnnnn [U[5(de[U[5(de[U[5(de[U[5(de[U[5(de[U [5(de[UUU 5n![UUU5n"U!bU"bU!U"4n	OUR5(aM�UR5(aGMtUbUc
S'n#[U#5eXVX9U454$)(z�Parse the JP2 header box to extract size, component count,46color space information, and optionally DPI information,47returning a (size, mode, mimetype, dpi) tuple.Nsjp2hsftypz>4srsjpx z	image/jpxsihdrz>IIHBrrXr=rYrZrVr[r\r]r^r_scolrz>BBBI)r��1��CMYK�spclr)rZr[)rxrZz>HB�>�B�P�PAsres srescz>HHHHBBzMalformed JP2 header)r
r9rGr6r1�48isinstancerBr�range�append�getcolorrArur")$r�reader�header�mimetyperEr0rm�bpc�nc�dpi�palette�colr�height�width�methrj�enumcs�ne�npc�max_bitdepth�bitdepth�palette_mode�i�color�value�res�tres�vrcn�vrcd�hrcn�hrcd�vrce�hrce�hres�vresr&s$                                    r�_parse_jp2_headerr��sM���r�]�F�
�F��H�49�50�51�52�53��#�#�%���7�?��&�&�(�F��
�W�_��!�!�%�(��+�w�6�&���54�55�56�57������D��D�58�C�	
�B�59�C��G��D�60�61�62�63�64��#�#�%���7�?�%+�%7�%7��%@�"�F�2��f�c�*�*�*�*��e�S�)�)�)�)��c�3�'�'�'�'��?�D��Q�w�C�$�J�!�+����q�����q�����q�����q�����
�W�_�!'�!3�!3�G�!<��D�!�Q���q�y��W�$��D��r�\�!�D��Q�w�%����r�\��D��
�W�_���!4��Z�9O��(�(��/�G�B���b�#�&�&�&�&��c�3�'�'�'�'��L�"�.�.�s�c�C�i�/@�A��!�(�C�0�0�0�0��l�*�#+�L�B��q� ��!�8�-1�V�^�6��L�#(�L�&�3�3�L�A���r��A�')�E�!'�!3�!3�C�3��9�4E�!F��)�%��5�5�5�5����U�+�"G��$�$�U�5�\�2�#�#�c�k�s�t���
�W�_��#�#�%�C��"�"�$�$��(�(�*���7�?�9<����9S�6�D�$��d�D�$�%�d�C�0�0�0�0�%�d�C�0�0�0�0�%�d�C�0�0�0�0�%�d�C�0�0�0�0�%�d�C�0�0�0�0�%�d�C�0�0�0�0�&�t�T�4�8�D�&�t�T�4�8�D��'�D�,<�#�T�l����"�"�$�$�m�65�66�67�68�L�|�t�|�$���#����x�g�-�-rc�^�\rSrSrSrSrS69SjrS70Sjr\SU4Sjj5r	\	RSSj5r	S
SjrS	rU=r
$)�Jpeg2KImageFilei�JPEG2000zJPEG 2000 (ISO 15444)c71�z�URceURRS5nUS:Xa;SUl[UR5uUlUlUR
5 GOXRRS5-nUS:Xa�SUl[UR5nUuUlUlUlo0l	UbX0RS'URRS5RS	5(anURRS725n[R"U5nURRUS73-74[R 5 UR
5 O
Sn[#U5eSUlSUlS
nS
nURR)5n[R*"U5R,n[6R8"SSUR:-SURUR$UR&Xu45/Ulg![.a� S
nURR15nURRS[2R45 URR15nURRU5 N�![.a S
nN�f=ff=f)Nr^��O�Q�j2kr=�jP  
75�76�jp2r�rysjp2c�O�QrVznot a JPEG 2000 filerr�jpeg2k�rr)rr#�codecrn�_size�_mode�_parse_commentr��custom_mimetyper��info�endswithr	r`r>r?r@r"�_reduce�layers�fileno�fstat�st_size�	Exceptionrr4�SEEK_ENDr�_Tiler0�tile)	r�sigr�r�rbrr&�fd�poss	         r�_open�Jpeg2KImageFile._open77s���w�w�"�"�"��g�g�l�l�1�o���%�%��D�J�%6�t�w�w�%?�"�D�J��78����!������Q��'�C��=�=�"��79�*�4�7�7�3��RX�O��80�D�J��(<�c�<��?�'*�I�I�e�$��7�7�<�<��#�,�,�-D�E�E��'�'�,�,�q�/�C�$�]�]�3�/�F��G�G�L�L��!��R�[�[�9��'�'�)��,��!�#�&�&�������
����	������!�B��X�X�b�\�)�)�F�
�O�O������"�����T�\�\�4�;�;��C�	
�81��	���	��B�
��g�g�l�l�n�������Q����,�������������S�!���
���
��	�s+�:H�J:�+A9J&�&J6�2J:�5J6�6J:c��URceURRS5nU(dgUSnUS;agURRS5n[R"U5nUS:Xa/URRUS-825SSURS'gURRUS-83[R5 M�)NrVr)����d�comment)rr#r	r`r�r>r?r@)r�marker�typrbrs     rr��Jpeg2KImageFile._parse_comment?s����w�w�"�"�"���W�W�\�\�!�_�F�����)�C��l�"���'�'�,�,�q�/�C��]�]�3�'�F��d�{�'+�w�w�|�|�F�Q�J�'?���'C��	�	�)�$�������V�a�Z����5�rc�>>�UR=(d84 [TU]$r+)r��super�reduce)r�	__class__s �rr��Jpeg2KImageFile.reduceRs����|�|�-�u�w�~�-rc��Xlgr+)r�)rr�s  rr�r�^s���rc�>�UR(a�UR(a�SUR-nUS-	n[URSU-U-5[URSU-U-54UlURSn[US[5(deUSSURURUSSUSS4n[R"USSUR-USU5/Ul[RRU5$)Nrrr\r^r�rV)r�r�rBr0r�r�rAr�rr��load)r�power�adjust�t�t3s     rr��Jpeg2KImageFile.loadbs����9�9��������%�E��a�Z�F��T�Y�Y�q�\�F�*�e�3�4��T�Y�Y�q�\�F�*�e�3�4��D�J��	�	�!��A��a��d�E�*�*�*�*��A�$�q�'�4�<�<����a��d�1�g�q��t�A�w�G�B�"����1��v��	�	�/A�1�Q�4��L�M�D�I��"�"�'�'��-�-r)r�r�r�r�r�r�r�r�)rJrK)rJzVCallable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] | int)r�rBrJrK)rJzImage.core.PixelAccess | None)rNrOrPrQ�format�format_descriptionr�r��propertyr��setterr�rS�
__classcell__)r�s@rr�r�sY���
�F�0��385�j6�&�	.�	�	.��	.��]�]����.�.rr�c�$�URS5$)N)r�r�)�86startswith)�prefixs r�_acceptr�ts�����F��rc���URn[U[5(aUR5nUR	S5(dURSS5(aSnOSnURSS5nURSS5nURSS5nURS	S875nURSS5n	U	b?[U	[[45(a[SU	55(d
S
n88[U895eURSS5nURSS5nURSS5n
URSS5nURSS5nURSS5nURSS5nURSS5nURS5n[U[5(aUR5nURSS5nSn[US5(aUR5nUUUUU	UUU
UUUUUUUU4Ul
[R"X[R "SSUR"-SU5/5 g![a SnNbf=f)Ns.j2k�no_jp2Fr�r��offset�tile_offset�	tile_size�quality_mode�rates�quality_layersc3�N# �UHn[U[[45v� M g7fr+)r�rB�float)�.0�
quality_layers  r�	<genexpr>�_save.<locals>.<genexpr>�s!���90�IW�
�J�}�s�E�l�3�3��s�#%z,quality_layers must be a sequence of numbers�num_resolutionsr�codeblock_size�
precinct_size�irreversible�progression�LRCP�cinema_mode�no�mct�signedr��pltrr�r�r�)�encoderinfor�rM�encoder��get�listrA�all�91ValueError�hasattrr�r��
encoderconfigr�_saver�r0)�imr�filenamer��kindr�r�r�r�r�r&r��	cblk_sizer�r�r�r�r�r�r�r�r�s                      rrr~s:��
�>�>�D��(�C� � ��?�?�$������!�!�T�X�X�h��%>�%>�����
�X�X�h��
%�F��(�(�=�$�/�K�����d�+�I��8�8�N�G�4�L��X�X�.��5�N��!��>�D�%�=�1�1��92�IW�93�
94�
95�=����o���h�h�0�!�4�O����)�4�0�I��H�H�_�d�3�M��8�8�N�E�2�L��(�(�=�&�1�K��(�(�=�$�/�K�96�(�(�5�!�97�C�
�X�X�h��
&�F��h�h�y�!�G��'�3����.�.�"��98�(�(�5�%�99 �C�	�B��r�8���	�����B�100	�������������101���!�B��&�O�O�B�Y�_�_�X�v����7G��D�Q�R�S��-�	��B�	�s�,I�I�I)z.jp2z.j2kz.jpcz.jpfz.jpxz.j2cz	image/jp2)rrIrJztuple[tuple[int, int], str])rrrBrsrBrtrBrJzfloat | None)rrIrJzetuple[tuple[int, int], str, str | None, tuple[float, float] | None, ImagePalette.ImagePalette | None])r�rCrJrL)rzImage.ImagerrIrzstr | bytesrJrK)�102__future__rr4r?r,�typingr�rrrr	�
TYPE_CHECKING�collections.abcr103rr
rnrur�r�r�r�
register_openr��
register_save�register_extensions�
register_mimerTrr�<module>rs��� #�	�	�
��5�5��
��(��G�G�T�>5�n.��n.��n.�jk.�i�)�)�k.�\�@T�N���O�*�*�O�W�E����O�*�*�E�2�������L�����O�*�*�K�8r
codekingpro/portable-devtools · Team Ai