o
    e                     @  s   d Z ddlmZ ddgZddlmZ ddlmZmZ ddl	m
Z
 ddlmZ d	d
lmZmZ erJd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ZdS )z%TIFF codec for the Numcodecs package.    )annotationsregister_codecTiff)BytesIO)TYPE_CHECKINGAny)registry)Codec   )TiffFile
TiffWriter)IterableSequence)COMPRESSIONEXTRASAMPLEPHOTOMETRICPLANARCONFIG	PREDICTOR	ByteOrderTagTuplec                   @  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)Zd*d+ Zd/d,d-ZdS )0r   zTIFF codec for Numcodecs.tifffileNFkey"int | slice | Iterable[int] | Noneseries
int | Nonelevelbigtiffbool	byteorderByteOrder | Noneimagejomebool | NonephotometricPHOTOMETRIC | int | str | NoneplanarconfigPLANARCONFIG | int | str | Noneextrasamples(Sequence[EXTRASAMPLE | int | str] | None
volumetrictileSequence[int] | NonerowsperstripcompressionCOMPRESSION | int | str | Nonecompressionargsdict[str, Any] | None	predictor#PREDICTOR | int | str | bool | Nonesubsamplingtuple[int, int] | Nonemetadata	extratagsSequence[TagTuple] | Nonetruncate
maxworkersc                 C  s   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _|| _|| _|| _|| _|| _|| _d S N)r   r   r   r   r   r    r!   r#   r%   r'   r)   r*   r,   r-   r/   r1   r3   r5   r6   r8   r9   )selfr   r   r   r   r   r    r!   r#   r%   r'   r)   r*   r,   r-   r/   r1   r3   r5   r6   r8   r9    r<   BD:\Projects\ConvertPro\env\Lib\site-packages\tifffile/numcodecs.py__init__A   s*   
zTiff.__init__c                 C  s   t  L}t|| j| j| j| jd*}|j|| j| j| j	| j
| j| j| j| j| j| j| j| j| j| jd W d   n1 s>w   Y  | }W d   |S 1 sRw   Y  |S )zReturn TIFF file as bytes.)r   r   r    r!   )r#   r%   r'   r)   r*   r,   r-   r/   r1   r3   r5   r6   r8   r9   N)r   r   r   r   r    r!   writer#   r%   r'   r)   r*   r,   r-   r/   r1   r3   r5   r6   r8   r9   getvalue)r;   buffhtifresultr<   r<   r=   encoder   s@   

zTiff.encodec              	   C  s   t |3}t|}|j| j| j| j| j|d}W d   n1 s"w   Y  W d   |S W d   |S 1 s:w   Y  |S )z$Return decoded image as NumPy array.)r   r   r   r9   outN)r   r   Zasarrayr   r   r   r9   )r;   rA   rF   rB   rC   rD   r<   r<   r=   decode   s"   


	
		zTiff.decode)*r   r   r   r   r   r   r   r   r   r   r    r   r!   r"   r#   r$   r%   r&   r'   r(   r)   r   r*   r+   r,   r   r-   r.   r/   r0   r1   r2   r3   r4   r5   r0   r6   r7   r8   r   r9   r   r:   )__name__
__module____qualname____doc__codec_idr>   rE   rG   r<   r<   r<   r=   r   <   s6    1Nclsr	   rL   
str | NonereturnNonec                 C  s   t j| |d dS )z/Register :py:class:`Tiff` codec with Numcodecs.)rL   N)r   r   )rM   rL   r<   r<   r=   r      s   )rM   r	   rL   rN   rO   rP   )rK   
__future__r   __all__ior   typingr   r   Z	numcodecsr   Znumcodecs.abcr	   r   r   r   collections.abcr   r   r   r   r   r   r   r   r   r   r   r<   r<   r<   r=   <module>   s   $b