.. only:: html
.. note::
:class: sphx-glr-download-link-note
Click :ref:`here ` to download the full example code
.. rst-class:: sphx-glr-example-title
.. _sphx_glr_generated_examples_io_plot_fits-image.py:
=======================================
Read and plot an image from a FITS file
=======================================
This example opens an image stored in a FITS file and displays it to the screen.
This example uses `astropy.utils.data` to download the file, `astropy.io.fits` to open
the file, and `matplotlib.pyplot` to display the image.
*By: Lia R. Corrales, Adrian Price-Whelan, Kelle Cruz*
*License: BSD*
Set up matplotlib and use a nicer set of plot parameters
.. code-block:: default
import matplotlib.pyplot as plt
from astropy.visualization import astropy_mpl_style
plt.style.use(astropy_mpl_style)
Download the example FITS files used by this example:
.. code-block:: default
from astropy.utils.data import get_pkg_data_filename
from astropy.io import fits
image_file = get_pkg_data_filename('tutorials/FITS-images/HorseHead.fits')
Use `astropy.io.fits.info()` to display the structure of the file:
.. code-block:: default
fits.info(image_file)
.. rst-class:: sphx-glr-script-out
Out:
.. code-block:: none
Filename: /home/docs/.astropy/cache/download/py3/2c9202ae878ecfcb60878ceb63837f5f
No. Name Ver Type Cards Dimensions Format
0 PRIMARY 1 PrimaryHDU 161 (891, 893) int16
1 er.mask 1 TableHDU 25 1600R x 4C [F6.2, F6.2, F6.2, F6.2]
Generally the image information is located in the Primary HDU, also known
as extension 0. Here, we use `astropy.io.fits.getdata()` to read the image
data from this first extension using the keyword argument ``ext=0``:
.. code-block:: default
image_data = fits.getdata(image_file, ext=0)
The data is now stored as a 2D numpy array. Print the dimensions using the
shape attribute:
.. code-block:: default
print(image_data.shape)
.. rst-class:: sphx-glr-script-out
Out:
.. code-block:: none
(893, 891)
Display the image data:
.. code-block:: default
plt.figure()
plt.imshow(image_data, cmap='gray')
plt.colorbar()
.. image:: /generated/examples/io/images/sphx_glr_plot_fits-image_001.png
:alt: plot fits image
:class: sphx-glr-single-img
.. rst-class:: sphx-glr-script-out
Out:
.. code-block:: none
.. rst-class:: sphx-glr-timing
**Total running time of the script:** ( 0 minutes 0.514 seconds)
.. _sphx_glr_download_generated_examples_io_plot_fits-image.py:
.. only :: html
.. container:: sphx-glr-footer
:class: sphx-glr-footer-example
.. container:: sphx-glr-download sphx-glr-download-python
:download:`Download Python source code: plot_fits-image.py `
.. container:: sphx-glr-download sphx-glr-download-jupyter
:download:`Download Jupyter notebook: plot_fits-image.ipynb `
.. only:: html
.. rst-class:: sphx-glr-signature
`Gallery generated by Sphinx-Gallery `_