
    	Yh5                       d Z ddlmZ g dZddlmZmZ ddlZerddlmZm	Z	 ddl
mZmZmZ 	 ddlZ	 dAdddBdZdddCdZn# e$ r 	 dAdddBdZdddCdZY nw xY w	 ddlZ	 dAdddBdZdddCdZn# e$ r 	 dAdddBdZdddCdZY nw xY w	 ddlmZ 	 dAdddBdZdddCdZn# e$ r 	 dAdddBdZdddCdZY nw xY wdddDdZe	 	 dEdddFd&            Ze	 dEdddGd(            Z	 	 dEdddHd*ZedFd+            ZedGd,            Z	 	 dEdddHd-Zedg d.dId1            Zedg d.dJd3            Zedg d.dKd4            Zdg d.dLd5Z	 dMdddNd:Zd dd;dOd=ZdPd@ZdS )Qa   Fallback imagecodecs codecs.

This module provides alternative, pure Python and NumPy implementations of
some functions of the `imagecodecs`_ package. The functions may raise
`NotImplementedError`.

.. _imagecodecs: https://github.com/cgohlke/imagecodecs

    )annotations)bitorder_decodedelta_decodedelta_encodefloat24_decodelzma_decodelzma_encodepackbits_decodepackints_decodepackints_encodezlib_decodezlib_encodezstd_decodezstd_encode)TYPE_CHECKINGoverloadN)AnyLiteral)	ArrayLike	DTypeLikeNDArrayoutlevel
int | Nonedatabytes | NDArray[Any]r   r   returnbytesc                  t          | t          j                  r|                                 } t	          j        |           S )zCompress LZMA.)
isinstancenumpyndarraytobyteslzmacompressr   r   r   s      g/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/tifffile/_imagecodecs.pyr	   r	   H   s5     dEM** 	"<<>>D}T"""    c              *    t          j        |           S )zDecompress LZMA.)r%   
decompressr   r   s     r(   r   r   T       t$$$r)   c                  ddl }dS Raise ImportError.r   Nr)   r%   )r   r   r   r%   s       r(   r	   r	   Z        	sr)   c                  ddl }dS r/   r1   )r   r   r%   s      r(   r   r   f       sr)   c                  t          | t          j                  r|                                 } t	          j        | |dn|          S )zCompress Zlib DEFLATE.N   )r!   r"   r#   r$   zlibr&   r'   s      r(   r   r   p   s?     dEM** 	"<<>>D}T115AAAr)   c              *    t          j        |           S )zDecompress Zlib DEFLATE.)r7   r+   r,   s     r(   r   r   |   r-   r)   c                  ddl }dS r/   r7   )r   r   r   r7   s       r(   r   r      r2   r)   c                  ddl }dS r/   r:   )r   r   r7   s      r(   r   r      r4   r)   zstdc                  t          | t          j                  r|                                 } t	          j        | |          S )zCompress ZSTD.)r   )r!   r"   r#   r$   r=   r&   r'   s      r(   r   r      s:     dEM** 	"<<>>D}T////r)   c              *    t          j        |           S )zDecompress ZSTD.)r=   r+   r,   s     r(   r   r      r-   r)   c                  ddl m} dS r0   r   r<   r)   compressionr=   )r   r   r   r=   s       r(   r   r      s     	%$$$$$sr)   c                  ddl m} dS rA   rB   )r   r   r=   s      r(   r   r      s    $$$$$$sr)   encodedc              2   g }|j         }d}	 	 t          | ||dz                      dz   }|dz  }|dk    r" || ||dz            d|z
  z             |dz  }n!|dk     r || |||z                       ||z  }l# t          $ r Y nw xY wt          |          S )aQ  Decompress PackBits encoded byte string.

    >>> packbits_decode(b'\x80\x80')  # NOP
    b''
    >>> packbits_decode(b'\x02123')
    b'123'
    >>> packbits_decode(
    ...     b'\xfe\xaa\x02\x80\x00\x2a\xfd\xaa\x03\x80\x00\x2a\x22\xf7\xaa'
    ... )[:-5]
    b'\xaa\xaa\xaa\x80\x00*\xaa\xaa\xaa\xaa\x80\x00*"\xaa\xaa\xaa\xaa\xaa'

    r   T      i  )extendord	TypeErrorr   )rE   r   
out_extendins        r(   r
   r
      s     CJ	A
	GAAI&''!+AFA3ww
71q1u9-q9:::QS
71q1u9-...Q
	    ::s   A-A: :
BBrG   axisintdistbytes | bytearrayc                  d S N r   rP   rR   r   s       r(   r   r      s	     Cr)   NDArray[Any]c                  d S rU   rV   rW   s       r(   r   r      	     3r)    bytes | bytearray | NDArray[Any]c              :   |dk    rt          d|d          t          | t          t          f          rdt	          j        | t          j                  } t	          j        | d          }t	          j        |d| d                   	                                S | j
        }|j        dk    r$|                     |j         d|j                   } t	          j        | |          }t          d	          g| j        z  }d||<   t	          j        |d| t#          |                   |          }| j
        j        sA|                    d
          }|                    |j
                                                  }|j        dk    r|                    |          S |S )zEncode Delta.rG   zdelta_encode with dist=# requires the 'imagecodecs' packagedtyper   )rP   fuNT)NotImplementedErrorr!   r   	bytearrayr"   
frombufferuint8diffinsertr$   r_   kindview	byteorderitemsizeslicendimtupleisnativebyteswapnewbyteorder)r   rP   rR   r   rf   r_   keys          r(   r   r      s    qyy!KKKK
 
 	
 $	*++ 8EK888z$Q'''|D!T!W--55777JEzSyyEO>>en>>??:d&&&D#Dkk]TY6CCI<aeCjj!1===D: 4}}T""yy002233zSyyKr)   c                  d S rU   rV   rW   s       r(   r   r     	     Cr)   c                  d S rU   rV   rW   s       r(   r   r     rZ   r)   c                 |dk    rt          d|d          ||j        j        sd}t          | t          t
          f          rTt          j        | t          j                  } t          j	        | dt          j        |          
                                S | j        j        dk    r| j        j        st          d	| j        d          |                     | j        j         d
| j        j                   }t          j	        |||j                  }|                    | j                  S t          j	        | || j        |          S )zDecode Delta.rG   zdelta_decode with dist=r]   Nr^   r   )rP   r_   r   r`   zdelta_decode with ra   )rP   r_   )rb   flags	writeabler!   r   rc   r"   rd   re   cumsumr$   r_   rh   ro   ri   rj   rk   )r   rP   rR   r   ri   s        r(   r   r     s`    qyy!KKKK
 
 	
 sy2$	*++ EK888|q
 
 

'))	 z#z" 	%5TZ 5 5 5   yyDJ0HH4:3FHHII|Dt4:>>>yy$$$<4tzs   r)   )r   	_bitorderrz   	list[Any]c                  d S rU   rV   r   r   rz   s      r(   r   r   ?  rt   r)   rc   c                  d S rU   rV   r}   s      r(   r   r   E  s	     r)   c                  d S rU   rV   r}   s      r(   r   r   K  rZ   r)   c                 |sN|                     d           |                     t          j        |d         t          j                             t	          | t
          t          f          r|                     |d                   S 	 |                     d          }t          j	        |d         ||           | S # t          $ r}t          d          |d}~ww xY w)	aO  Reverse bits in each byte of bytes or numpy array.

    Decode data where pixels with lower column values are stored in the
    lower-order bits of the bytes (TIFF FillOrder is LSB2MSB).

    Parameters:
        data:
            Data to bit-reversed. If bytes type, a new bit-reversed
            bytes is returned. NumPy arrays are bit-reversed in-place.

    Examples:
        >>> bitorder_decode(b'\x01\x64')
        b'\x80&'
        >>> data = numpy.array([1, 666], dtype='uint16')
        >>> _ = bitorder_decode(data)
        >>> data
        array([  128, 16473], dtype=uint16)

    s    @ `P0pH(hX8xD$dT4tL,l\<|B"bR2r
J*jZ:zF&fV6vN.n^>~A!aQ1q	I)iY9yE%eU5uM-m]=}C#cS3sK+k[;{G'gW7wO/o_?r   r^   re   rG   r   z<bitorder_decode of slices requires the 'imagecodecs' packageN)appendr"   rd   re   r!   r   rc   	translateri   take
ValueErrorrb   )r   r   rz   ri   excs        r(   r   r   Q  s    4  L!	
 	
 	
  	))A,ekJJJKKK$	*++ ,~~il+++yy!!
9Q<40000   !J
 
	s   	3B= =
CCCr_   r   bitspersamplerunlenc              l   |dk    rt          j        | d          }t          j        |          }|dz  r@|                    d|d|dz  z
  z             }|ddd|f                             d          }|                    |          S |dv rt          j        | |          S t          d| d          )	aA  Decompress bytes to array of integers.

    This implementation only handles itemsizes 1, 8, 16, 32, and 64 bits.
    Install the Imagecodecs package for decoding other integer sizes.

    Parameters:
        data:
            Data to decompress.
        dtype:
            Numpy boolean or integer type.
        bitspersample:
            Number of bits per integer.
        runlen:
            Number of consecutive integers after which to start at next byte.

    Examples:
        >>> packints_decode(b'a', 'B', 1)
        array([0, 1, 1, 0, 0, 0, 0, 1], dtype=uint8)

    rG   z|B   rO   N)r          @   zpackints_decode of z0-bit integers requires the 'imagecodecs' package)r"   rd   
unpackbitsreshapeastyperb   )r   r_   r   r   r   
data_arrays         r(   r   r     s    : %dD11
%j11
A: 	<#++B!fqj.0IJJJ#AAAwwJ/77;;J  '''''e,,,
	-m 	- 	- 	-  r)   )rP   r   r   c                   t          d          )zTightly pack integers.z2packints_encode requires the 'imagecodecs' packagerb   )r   r   rP   r   s       r(   r   r     s     <  r)   rj   Literal['>', '<']c                    t          d          )z"Return float32 array from float24.z1float24_decode requires the 'imagecodecs' packager   )r   rj   s     r(   r   r     s     ;  r)   rU   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   )rE   r   r   r   r   r   )rO   rG   )
rP   rQ   rR   rQ   r   rS   r   r   r   r   )
rP   rQ   rR   rQ   r   rX   r   r   r   rX   )
rP   rQ   rR   rQ   r   r[   r   r   r   r   )r   r   r   r   rz   r{   r   r   )r   rc   r   r   rz   r{   r   rc   )r   rX   r   r   rz   r{   r   rX   )r   r[   r   r   rz   r{   r   r[   )r   )r_   r   r   rQ   r   rQ   r   r   r   r   r   rX   )
r   r   r   rQ   rP   rQ   r   r   r   rS   )rj   r   r   r   r   rX   ) __doc__
__future__r   __all__typingr   r   r"   r   r   numpy.typingr   r   r   r%   r	   r   ImportErrorr7   r   r   rC   r=   r   r   r
   r   r   r   r   r   r   rV   r)   r(   <module>r      s  @  # " " " " "    + * * * * * * *  ;########::::::::::%KKK
 !
#
 
# 
# 
# 
# 
# 
# 37 % % % % % % %    
 !

 
 
 
 
 
 
 37        *&KKK
 !
B
 
B 
B 
B 
B 
B 
B 37 % % % % % % %     !

 
 
 
 
 
 
 37        ,%      
 !
0
 
0 
0 
0 
0 
0 
0 37 % % % % % % %    
 !

 
 
 
 
 
 
 37        * 6:      B 
 	      
 
78HL     
 	      B 
   

 
   
 	      D 
"&r     

 
&*2     

 
)-b     
 6 6 6 6 6 6| ) ) ) ) ) ) )b           s5   A AAA4 4BBB' 'B?>B?