a
    ֶa	                     @   sr   d dl mZmZ dadd Zdd ZG dd dejZd	d
 Ze	ej
ee eej
e eej
ddg dS )   )Image	ImageFileNc                 C   s   | a dS )z_
    Install application-specific FITS image handler.

    :param handler: Handler object.
    N_handler)handler r   g/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/PIL/FitsStubImagePlugin.pyregister_handler   s    r	   c                 C   s   | d d dkS )N   s   SIMPLEr   )prefixr   r   r   _accept   s    r   c                   @   s$   e Zd ZdZdZdd Zdd ZdS )FITSStubImageFileZFITSc           	      C   s^  | j  }i }| j d}|s&td|d d  }|dkr@q|dd   }|drj|dd   }|st|r~|dkrtd|||< qt|d	 }|d
krt	dn6|dkrdt|d f| _
nt|d t|d f| _
t|d }|dkrd| _n4|dkrd| _n"|dkr&d| _n|dv r6d| _| j | |  }|rZ||  d S )NP   zTruncated FITS file   s   END   =r      TzNot a FITS files   NAXIS    zNo image datas   NAXIS1s   NAXIS2s   BITPIXL   I    )iiF)fptellreadOSErrorstrip
startswithr   SyntaxErrorint
ValueError_sizemodeseek_loadopen)	selfoffsetheadersheaderkeywordvalueZnaxisZnumber_of_bitsloaderr   r   r   _open(   sB    







zFITSStubImageFile._openc                 C   s   t S )Nr   )r&   r   r   r   r$   T   s    zFITSStubImageFile._loadN)__name__
__module____qualname__formatformat_descriptionr-   r$   r   r   r   r   r   #   s   ,r   c                 C   s,   t d u stddstdt | || d S )Nr   savezFITS save handler not installed)r   hasattrr   r3   )Zimr   filenamer   r   r   _saveX   s    r6   z.fitz.fits) r   r   r   r	   r   ZStubImageFiler   r6   Zregister_openr1   Zregister_saveZregister_extensionsr   r   r   r   <module>   s   5	