B
    xb{                 @   sV   d Z dZddlmZ ddlmZ ddlmZ ddlZG dd deZ	e	dfd	d
Z
dS )z+TIFF codec for numcodecs based on tifffile.)register_codecTiff    )BytesIO)registry)CodecNc               @   sV   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fddZdd	 Zdd
dZdS )r   zTIFF codec for numcodecs.tifffileNF c             C   sv   || _ || _|| _|| _|| _|| _|| _|| _|	| _|
| _	|| _
|| _|| _|| _|| _|| _|| _|| _|| _d S )N)keyserieslevel
maxworkersbigtiff	byteorderimagejomephotometricplanarconfig
volumetrictiletruncaterowsperstripcompression	predictorsubsamplingmetadata	extratags)selfr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   U/home/ankuromar296_gmail_com/.local/lib/python3.7/site-packages/tifffile/numcodecs.py__init__1   s&    zTiff.__init__c             C   s~   t  n}tj|| j| j| j| jd>}|j|| j| j	| j
| j| j| j| j| j| j| j| jd W dQ R X | }W d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   N)r   r   Z
TiffWriterr   r   r   r   writer   r   r   r   r   r   r   r   r   r   r   getvalue)r   buffhtifresultr   r   r   encode`   s.    
zTiff.encodec          
   C   sJ   t |8}t|"}|j| j| j| j| j|d}W dQ R X W dQ R X |S )z$Return decoded image as numpy array.)r	   r
   r   r   outN)r   r   ZTiffFileZasarrayr	   r
   r   r   )r   r!   r&   r"   r#   r$   r   r   r   decode{   s    
zTiff.decode)N)__name__
__module____qualname____doc__codec_idr   r%   r'   r   r   r   r   r   ,   s.   r   c             C   s   t j| |d dS )z#Register Tiff codec with numcodecs.)r,   N)r   r   )clsr,   r   r   r   r      s    r   )r+   __all__ior   Z	numcodecsr   Znumcodecs.abcr   r   r   r   r   r   r   r   <module>    s   ]