o
    hf                     @  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 d	d
lmZmZ erNddlmZmZ ddl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)registry)Codec   )TiffFile
TiffWriter)IterableSequence)Any)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d4d*d+Zd5d/d0Zd6d7d2d3ZdS )8r   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
maxworkersreturnNonec                 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>   M/var/www/html/scripts/venv/lib/python3.10/site-packages/tifffile/numcodecs.py__init__B   s*   
zTiff.__init__bufr   bytesc                 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=   rA   fhtifresultr>   r>   r?   encodes   s@   

zTiff.encodeoutc              	   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   rI   N)r   r
   asarrayr   r   r   r9   )r=   rA   rI   rE   rF   rG   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:   r;   )rA   r   r:   rB   r<   )rA   r   rI   r   r:   r   )__name__
__module____qualname____doc__codec_idr@   rH   rK   r>   r>   r>   r?   r   =   s6    
1Nclsr   rP   
str | Noner:   r;   c                 C  s   t j| |d dS )z/Register :py:class:`Tiff` codec with Numcodecs.)rP   N)r   r   )rQ   rP   r>   r>   r?   r      s   )rQ   r   rP   rR   r:   r;   )rO   
__future__r   __all__ior   typingr   	numcodecsr   numcodecs.abcr   r   r
   r   collections.abcr   r   r   r   r   r   r   r   r   r   r   r   r>   r>   r>   r?   <module>   s   $b