
    9i                     4    S r SSKJr  SqS r " S S\5      rg)a  Read FITS files.

Backend Library: `Astropy <https://www.astropy.org/>`_

.. note::
    To use this plugin you have to install its backend::

        pip install imageio[fits]

Flexible Image Transport System (FITS) is an open standard defining a
digital file format useful for storage, transmission and processing of
scientific and other images. FITS is the most commonly used digital
file format in astronomy.


Parameters
----------
cache : bool
    If the file name is a URL, `~astropy.utils.data.download_file` is used
    to open the file.  This specifies whether or not to save the file
    locally in Astropy's download cache (default: `True`).
uint : bool
    Interpret signed integer data where ``BZERO`` is the
    central value and ``BSCALE == 1`` as unsigned integer
    data.  For example, ``int16`` data with ``BZERO = 32768``
    and ``BSCALE = 1`` would be treated as ``uint16`` data.

    Note, for backward compatibility, the kwarg **uint16** may
    be used instead.  The kwarg was renamed when support was
    added for integers of any size.
ignore_missing_end : bool
    Do not issue an exception when opening a file that is
    missing an ``END`` card in the last header.
checksum : bool or str
    If `True`, verifies that both ``DATASUM`` and
    ``CHECKSUM`` card values (when present in the HDU header)
    match the header and data of all HDU's in the file.  Updates to a
    file that already has a checksum will preserve and update the
    existing checksums unless this argument is given a value of
    'remove', in which case the CHECKSUM and DATASUM values are not
    checked, and are removed when saving changes to the file.
disable_image_compression : bool, optional
    If `True`, treats compressed image HDU's like normal
    binary table HDU's.
do_not_scale_image_data : bool
    If `True`, image data is not scaled using BSCALE/BZERO values
    when read.
ignore_blank : bool
    If `True`, the BLANK keyword is ignored if present.
scale_back : bool
    If `True`, when saving changes to a file that contained scaled
    image data, restore the data to the original type and reapply the
    original BSCALE/BZERO values.  This could lead to loss of accuracy
    if scaling back to integer values after performing floating point
    operations on the data.

   )FormatNc                  N     SSK Jq  [        $ ! [         a    [        S5      ef = f)N    )fitszoThe FITS format relies on the astropy package.Please refer to http://www.astropy.org/ for further instructions.)
astropy.ior   _fitsImportError     T/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/imageio/plugins/fits.pyload_libr   C   s4    
, L  
(
 	

s    $c                   N    \ rS rSrSrS rS r " S S\R                  5      rSr	g)	
FitsFormatP   zSee :mod:`imageio.plugins.fits`c                 4    UR                   U R                  ;   $ N)	extension
extensionsselfrequests     r   	_can_readFitsFormat._can_readS   s       DOO33r   c                     g)NFr
   r   s     r   
_can_writeFitsFormat._can_writeX   s    r   c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
FitsFormat.Reader^   c                    [         (       d
  [        5         [         R                  " U R                  R	                  5       4SU0UD6n/ U l        [         R                  [         R                  [         R                  4n[        [        [        U5      5      U5       HD  u  pV[        Xd5      (       d  M  UR                  S:  d  M)  U R
                  R                  U5        MF     X0l        g )Ncacher   )r   r   openr   get_file_indexImageHDU
PrimaryHDUCompImageHDUziprangelen
isinstancesizeappend_hdulist)r   r!   kwargshdulistallowed_hdu_typesnhdus          r   _openFitsFormat.Reader._open_   s    5
jj!6!6!8PPPGDK!&1A1A5CUCU VeCL17;c55 xx!|**1- < $Mr   c                 8    U R                   R                  5         g r   )r.   closer   s    r   _closeFitsFormat.Reader._closen   s    MM!r   c                 ,    [        U R                  5      $ r   )r*   r$   r8   s    r   _get_lengthFitsFormat.Reader._get_lengthq   s    t{{##r   c                     US:  d  U[        U R                  5      :  a  [        S5      eU R                  U R                  U      R                  nU0 4$ )Nr   z*Index out of range while reading from fits)r*   r$   
IndexErrorr.   data)r   indexims      r   	_get_dataFitsFormat.Reader._get_datat   sK    qyES%55 !MNNt{{51277Br6Mr   c                     [        S5      e)Nz+The fits format does not support meta data.)RuntimeError)r   rA   s     r   _get_meta_data FitsFormat.Reader._get_meta_data|   s    LMMr   )r.   r$   N)F)
__name__
__module____qualname____firstlineno__r4   r9   r<   rC   rG   __static_attributes__r
   r   r   Readerr   ^   s    	$	"	$		Nr   rN   r
   N)
rI   rJ   rK   rL   __doc__r   r   r   rN   rM   r
   r   r   r   r   P   s!    )4
 N  Nr   r   )rO   corer   r   r   r   r
   r   r   <module>rQ      s(   8t 
.N .Nr   