Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-35.pyc



�ʴW?%�@sgddlmZddlmZmZddlZddlZddlZdd�Zddd'd(d)d*gZ	dd
�Z
dd�ZGdd�dej�Zddd�Z
dd�Zdd�Zdd�Zejeje�ejeje�edkrcejdd�s+ed�ej�ejdZee�sXed�ej�dZeejdd��dkr�ejdZeje�Zedee��ed eej��ed!eej��ed"eej��ed#d$d%�eej ��edkrcej!ej"�Zed&ej#j$e�ef�ej%eej�dS)+�)�print_function)�Image�	ImageFileNcCsZy(t|�}||dkr#dSdSWn+tk
r@dSYntk
rUdSYnXdS)Nr�)�int�
ValueError�
OverflowError)�f�i�r�H/opt/alt/python35/lib64/python3.5/site-packages/PIL/SpiderImagePlugin.py�isInt,s

r
r�����cCs�d
|}x7dddddddgD]}t||�s&d	Sq&Wt|d�}|tkrdd	St|d�}t|d�}t|d�}|||kr�d	S|S)N�cr��r�
r�r)r)r
r�iforms)�t�hr
�iform�labrec�labbyt�lenbytrrr�isSpiderHeader@s
"rcCstt|d�}|jd�}|j�tjd|�}t|�}|dkrptjd|�}t|�}|S)N�rb�\z>23frz<23f)�open�read�close�struct�unpackr)�filename�fpr	r�hdrlenrrr�
isSpiderImageUs
r*c@seZdZdZdZdd�Zedd��Zedd��Zd	d
�Z	dd�Z
d
dd�Zdd�ZdS)�SpiderImageFileZSPIDERzSpider 2D imagecCswd}|jj|�}yvd|_tjd|�}t|�}|dkrud|_tjd|�}t|�}|dkr�td��Wn!tjk
r�td��YnXd|}t|d	�}|dkr�td
��t|d�t|d�f|_	t|d
�|_
t|d�|_|j
dkr]|jdkr]|}d|_n�|j
dkr�|jdkr�t|d�t|d�d|_
||_t|d�|_|d}d|_nC|j
dkr	|jdkr	||j}d|_
ntd��|jr*d|_n	d|_d|_dd|j	||jddffg|_|j|_dS)N��rz>27frz<27fznot a valid Spider filerrznot a Spider 2D imagerr��z inconsistent stack header valueszF;32BFzF;32F�F�raw�l)r)rr)r(r#Z	bigendianr%r&r�SyntaxError�errorr�size�istack�	imgnumber�_nimages�imgbytesr)�	stkoffset�rawmode�modeZtile�_SpiderImageFile__fp)�self�nr	rr)rr�offsetrrr�_openfsR		
#%	

			zSpiderImageFile._opencCs|jS)N)r8)r>rrr�n_frames�szSpiderImageFile.n_framescCs
|jdkS)Nr)r8)r>rrr�is_animated�szSpiderImageFile.is_animatedcCs"|jdkrdS|jdSdS)Nrr)r7)r>rrr�tell�szSpiderImageFile.tellcCs�|jdkrtd��||jkr6td��|j||j|j|_|j|_|jj|j�|j	�dS)Nrz#attempt to seek in a non-stack filez attempt to seek past end of file)
r6�EOFErrorr8r)r9r:r=r(�seekrA)r>�framerrrrF�szSpiderImageFile.seek�cCs_|j�\}}d}||kr2|||}||}|j||dd��jd�S)NrcSs|||S)Nr)r
�m�brrr�<lambda>�sz.SpiderImageFile.convert2byte.<locals>.<lambda>�L)�
getextremaZpoint�convert)r>�depthZminimumZmaximumrIrJrrr�convert2byte�szSpiderImageFile.convert2bytecCs)ddlm}|j|j�dd�S)Nr)�ImageTkZpalette�)�PILrQZ
PhotoImagerP)r>rQrrr�tkPhotoImage�szSpiderImageFile.tkPhotoImageN)
�__name__�
__module__�__qualname__�formatZformat_descriptionrA�propertyrBrCrDrFrPrTrrrrr+as9	r+c
Cs�|dkst|�dkr"dSg}x�|D]�}tjj|�sXtd|�q/ytj|�j�}Wn%t|�s�t|d�w/YnX||j	d<|j
|�q/W|S)z2 create a list of Image.images for use in montage Nrzunable to find %sz is not a Spider image filer')�len�os�path�exists�printrr"rPr*�info�append)�filelistZimglistZimg�imrrr�loadImageSeries�s 

rccCsL|j\}}|d}d|}d|dkr=|d7}||}g}t|d�}x!t|�D]}|jd�qjWt|�dkr�gSd|d<t|�|d<d|d	<t|�|d
<t|�|d<t|�|d<t|�|d<|dd�}|jd�g}	x'|D]}
|	jtjd
|
��q%W|	S)Nr-irrgrg�?rrrrrr	)r5r�ranger`rZ�floatr%�pack)rbZnsamZnrowrrr�hdrZnvaluesr
Zhdrstr�vrrr�makeSpiderHeader�s2







ricCs�|jddkr"|jd�}t|�}t|�dkrLtd��yt|d�}Wntd|��YnX|j|�d}tj||dd
|j	d|dd	ffg�|j
�dS)Nrr0rRzError creating Spider header�wbzUnable to open %s for writingzF;32NFr1r)rr)r<rNrirZ�IOErrorr"�
writelinesr�_saver5r$)rbr(r'rgr;rrrrms
2rmcCs=tjj|�d}tjtj|�t|||�dS)Nr)r[r\�splitextrZregister_extensionr+rXrm)rbr(r'�extrrr�_save_spidersrp�__main__z6Syntax: python SpiderImagePlugin.py [infile] [outfile]z$input image must be in Spider format�rzimage: zformat: zsize: zmode: z
max, min: �end� z%saving a flipped version of %s as %s i����i�i��i��)&�
__future__rrSrrr[r%�sysr
rrr*r+rcrirmrpZ
register_openrXZ
register_saverU�argvr^�exitr'�outfilerZr"rb�strr5r<rMZ	transposeZFLIP_LEFT_RIGHTr\�basename�saverrrr�<module>$sNj"