U
    ?h                     @  s   d Z ddlmZ ddgZddlmZ ddlmZ ddlm	Z	 dd	l
mZmZ dd
lmZmZ erddlmZmZ ddl
mZmZmZmZmZmZmZ G dd de	ZedfddddddZdS )z%TIFF codec for the Numcodecs package.    )annotationsregister_codecTiff)BytesIO)registry)Codec   )
TiffWriterTiffFile)TYPE_CHECKINGAny)IterableSequence)	ByteOrderTagTuplePHOTOMETRICPLANARCONFIGEXTRASAMPLECOMPRESSION	PREDICTORc                   @  s   e Zd ZdZdZdddddddddddddddddi dddfddddddd	d
ddddddddddddddddZdd ZdddZdS )r   zTIFF codec for Numcodecs.tifffileNFz"int | slice | Iterable[int] | Nonez
int | NoneboolzByteOrder | Nonezbool | NonezPHOTOMETRIC | int | str | NonezPLANARCONFIG | int | str | Nonez(Sequence[EXTRASAMPLE | int | str] | NonezSequence[int] | NonezCOMPRESSION | int | str | Nonezdict[str, Any] | Nonez#PREDICTOR | int | str | bool | Noneztuple[int, int] | NonezSequence[TagTuple] | Nonekeyserieslevelbigtiff	byteorderimagejomephotometricplanarconfigextrasamples
volumetrictilerowsperstripcompressioncompressionargs	predictorsubsamplingmetadata	extratagstruncate
maxworkersc                 C  s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _d S )Nr   )selfr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-    r/   D/var/www/html/venv/lib/python3.8/site-packages/tifffile/numcodecs.py__init__B   s*    zTiff.__init__c                 C  s   t  x}t|| j| j| j| jdJ}|j|| j| j| j	| j
| j| j| j| j| j| j| j| j| j| jd W 5 Q R X | }W 5 Q R X |S )zReturn TIFF file as bytes.)r   r   r   r   )r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   )r   r	   r   r   r   r   writer    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   getvalue)r.   buffhtifresultr/   r/   r0   encodes   s8    zTiff.encodec              
   C  sH   t |6}t|"}|j| j| j| j| j|d}W 5 Q R X W 5 Q R X |S )z$Return decoded image as NumPy array.)r   r   r   r-   out)r   r
   Zasarrayr   r   r   r-   )r.   r4   r9   r5   r6   r7   r/   r/   r0   decode   s    

zTiff.decode)N)__name__
__module____qualname____doc__codec_idr1   r8   r:   r/   r/   r/   r0   r   =   s4   81Nr   z
str | NoneNone)clsr?   returnc                 C  s   t j| |d dS )z/Register :py:class:`Tiff` codec with Numcodecs.)r?   N)r   r   )rA   r?   r/   r/   r0   r      s    )r>   
__future__r   __all__ior   Z	numcodecsr   Znumcodecs.abcr   r   r	   r
   typingr   r   collections.abcr   r   r   r   r   r   r   r   r   r   r   r/   r/   r/   r0   <module>    s   $b