
    _ h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	 d'dd	 	 	 	 	 	 	 d(d	Zddd)d
Z	 ddlZ	 d'dd	 	 	 	 	 	 	 d(dZddd)dZ	 ddlmZ 	 d'dd	 	 	 	 	 	 	 d(dZddd)dZddd*dZe	 	 d+dd	 	 	 	 	 	 	 	 	 d,d       Ze	 d+dd	 	 	 	 	 	 	 	 	 d-d       Z	 	 d+dd	 	 	 	 	 	 	 	 	 d.dZe	 	 	 	 	 	 	 	 	 	 d,d       Ze	 	 	 	 	 	 	 	 	 	 d-d       Z	 	 d+dd	 	 	 	 	 	 	 	 	 d.dZedg d	 	 	 	 	 	 	 d/d       Zedg d	 	 	 	 	 	 	 d0d        Zedg d	 	 	 	 	 	 	 d1d!       Zdg d	 	 	 	 	 	 	 d2d"Z	 d3dd	 	 	 	 	 	 	 	 	 	 	 d4d#Zddd$	 	 	 	 	 	 	 	 	 d5d%Z	 	 	 	 	 	 d6d&Zy# e$ r 	 d'dd	 	 	 	 	 	 	 d(dZddd)dZY Vw xY w# e$ r 	 d'dd	 	 	 	 	 	 	 d(dZddd)dZY ]w xY w# e$ r 	 d'dd	 	 	 	 	 	 	 d(dZddd)dZY bw xY w)7a   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outc                  t        | t        j                        r| j                         } t	        j
                  |       S )zCompress LZMA.)
isinstancenumpyndarraytobyteslzmacompressdatalevelr   s      q/home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/tifffile/_imagecodecs.pyr	   r	   H   s,     dEMM*<<>D}}T""    c              ,    t        j                  |       S )zDecompress LZMA.)r   
decompressr"   r   s     r$   r   r   T       t$$r%   c                  ddl }yRaise ImportError.r   Nr%   r   )r"   r#   r   r   s       r$   r	   r	   Z   
     	r%   c                  ddl }yr+   r-   )r"   r   r   s      r$   r   r   f       r%   c                  t        | t        j                        r| j                         } t	        j
                  | |d      S |      S )zCompress Zlib DEFLATE.   )r   r   r   r   zlibr    r!   s      r$   r   r   p   s:     dEMM*<<>D}}T1AA5AAr%   c              ,    t        j                  |       S )zDecompress Zlib DEFLATE.)r3   r'   r(   s     r$   r   r   |   r)   r%   c                  ddl }yr+   r3   )r"   r#   r   r3   s       r$   r   r      r.   r%   c                  ddl }yr+   r6   )r"   r   r3   s      r$   r   r      r0   r%   zstdc                  t        | t        j                        r| j                         } t	        j
                  | |      S )zCompress ZSTD.)r#   )r   r   r   r   r9   r    r!   s      r$   r   r      s.     dEMM*<<>D}}T//r%   c              ,    t        j                  |       S )zDecompress ZSTD.)r9   r'   r(   s     r$   r   r      r)   r%   c                  ddl m} yr,   r   r8   r%   compressionr9   )r"   r#   r   r9   s       r$   r   r      s
     	%r%   c                  ddl m} yr=   r>   )r"   r   r9   s      r$   r   r      s    $r%   c                  g }|j                   }d}	 	 t        | ||dz          dz   }|dz  }|dkD  r || ||dz    d|z
  z         |dz  }n|dk  r || |||z           ||z  }Q# t        $ r Y t        |      S w xY w)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         i  )extendord	TypeErrorbytes)encodedr   
out_extendins        r$   r
   r
      s     CJ	AGAA&'!+AFA3w71q1u-q9:QS71q1u-.Q   :s   AA$ $	A:9A:c                   y N r"   axisdistr   s       r$   r   r      s     r%   c                   y rN   rO   rP   s       r$   r   r           r%   c              @   |dk7  rt        d|d      t        | t        t        f      rdt	        j
                  | t        j                        } t	        j                  | d      }t	        j                  |d| d         j                         S | j                  }|j                  dk(  r*| j                  |j                   d|j                         } t	        j                  | |      }t        d	      g| j                   z  }d||<   t	        j                  |d| t#        |         |      }| j                  j$                  s:|j'                  d
      }|j                  |j                  j)                               }|j                  dk(  r|j                  |      S |S )zEncode Delta.rB   zdelta_encode with dist=# requires the 'imagecodecs' packagedtyper   )rQ   fuNT)NotImplementedErrorr   rG   	bytearrayr   
frombufferuint8diffinsertr   rX   kindview	byteorderitemsizeslicendimtupleisnativebyteswapnewbyteorder)r"   rQ   rR   r   r_   rX   keys          r$   r   r      sT    qy!&'JK
 	
 $	*+EKK8zz$Q'||D!T!W-5577JJEzzSyyEOO,Aenn-=>?::d&D#Dk]TYY6CCI<<aeCj!1=D::}}T"yy0023zzSyyKr%   c                   y rN   rO   rP   s       r$   r   r          r%   c                   y rN   rO   rP   s       r$   r   r     rT   r%   c              
   |dk7  rt        d|d      ||j                  j                  sd}t        | t        t
        f      rZt        j                  | t        j                        } t        j                  | dt        j                  |      j                         S | j                  j                  dk(  r| j                  j                  st        d	| j                  d      | j                  | j                  j                   d
| j                  j                          }t        j                  |||j                        }|j                  | j                        S t        j                  | || j                  |      S )zDecode Delta.rB   zdelta_decode with dist=rV   NrW   r   )rQ   rX   r   rY   zdelta_decode with rZ   )rQ   rX   )r[   flags	writeabler   rG   r\   r   r]   r^   cumsumr   rX   ra   rh   rb   rc   rd   )r"   rQ   rR   r   rb   s        r$   r   r     s@    qy!&'JK
 	
 syy22$	*+EKK8||q

')	 zz#zz""%$TZZN 35 5  yyDJJ0014::3F3F2GHI||Dt4::>yy$$<<4tzzs r%   )r   	_bitorderc                   y rN   rO   r"   r   rs   s      r$   r   r   ?  rm   r%   c                   y rN   rO   ru   s      r$   r   r   E  s     r%   c                   y rN   rO   ru   s      r$   r   r   K  rT   r%   c                 |sH|j                  d       |j                  t        j                  |d   t        j                               t	        | t
        t        f      r| j                  |d         S 	 | j                  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   rW   r^   rB   r   z<bitorder_decode of slices requires the 'imagecodecs' packageN)appendr   r]   r^   r   rG   r\   	translaterb   take
ValueErrorr[   )r"   r   rs   rb   excs        r$   r   r   Q  s    4 !	
  	)))A,ekkJK$	*+~~il++yy!

9Q<40 !J
	s   6-B$ $	B>-B99B>c              J   |dk(  rvt        j                  | d      }t        j                  |      }|dz  r5|j                  d|d|dz  z
  z         }|ddd|f   j                  d      }|j	                  |      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)

    rB   z|B   rL   N)r          @   zpackints_decode of z0-bit integers requires the 'imagecodecs' package)r   r]   
unpackbitsreshapeastyper[   )r"   rX   bitspersamplerunlenr   
data_arrays         r$   r   r     s    : %%dD1
%%j1
A:#++B!fqj.0IJJ#AwwJ/77;J  '''e,,

m_ -- 	- r%   )rQ   r   c                  t        d      )zTightly pack integers.z2packints_encode requires the 'imagecodecs' packager[   )r"   r   rQ   r   s       r$   r   r     s     < r%   c                   t        d      )z"Return float32 array from float24.z1float24_decode requires the 'imagecodecs' packager   )r"   rc   s     r$   r   r     s     ; r%   rN   )r#   z
int | Noner"   bytes | NDArray[Any]r   r   returnrG   )r"   rG   r   r   r   rG   )rH   rG   r   r   r   rG   )rL   rB   )
rQ   intrR   r   r"   bytes | bytearrayr   r   r   rG   )
rQ   r   rR   r   r"   NDArray[Any]r   r   r   r   )
rQ   r   rR   r   r"    bytes | bytearray | NDArray[Any]r   r   r   r   )r"   rG   r   r   rs   	list[Any]r   rG   )r"   r\   r   r   rs   r   r   r\   )r"   r   r   r   rs   r   r   r   )r"   r   r   r   rs   r   r   r   )r   )rX   r   r   r   r   r   r"   rG   r   r   r   r   )
r"   r   r   r   rQ   r   r   r   r   r   )rc   zLiteral['>', '<']r"   rG   r   r   ) __doc__
__future__r   __all__typingr   r   r   r   r   numpy.typingr   r   r   r   r	   r   ImportErrorr3   r   r   r?   r9   r   r   r
   r   r   r   r   r   r   rO   r%   r$   <module>r      sZ  @ #  + #::%
 !
#
 
# 
#"
#
 
# 

# 37 %2&
 !
B
 
B 
B"
B
 
B 

B 37 %4% 
 !
0
 
0 
0"
0
 
0 

0 37 %2 6: B 
 	   	
 
  
 
78HL!$14
BE 
 	   	
* 
 B 
&)14
>A
 

 
!$,/
9< 
 	   	
* 
 D 
"&r
3<
 

 
&*2
 #7@ 

 
)-b
#&:C 
 6
*6 
	6
 6 &6| ) ) ) 	)
 )
) 
) )b 

  
 0
Y  
 !

 
 
"

 
 

 37  P   !

 
 
"

 
 

 37  R  
 !

 
 
"

 
 

 37  s5   F  
F# &G  F F #GGG&%G&