.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "generated/gallery/stix.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_generated_gallery_stix.py: ====================================== Solar Orbiter/STIX Visibility Imaging ====================================== Imports .. GENERATED FROM PYTHON SOURCE LINES 9-20 .. code-block:: Python import pickle import astropy.units as apu import matplotlib.pyplot as plt import numpy as np from xrayvision.clean import vis_clean from xrayvision.imaging import vis_psf_map, vis_to_map from xrayvision.mem import mem, resistant_mean .. GENERATED FROM PYTHON SOURCE LINES 21-25 Create images from STIX visibility data. The STIX data has already been prepared and stored in python pickle format the variables can be simply restored. .. GENERATED FROM PYTHON SOURCE LINES 25-33 .. code-block:: Python with open("./stix_vis.pkl", "rb") as file: stix_data = pickle.load(file) time_range = stix_data["time_range"] energy_range = stix_data["energy_range"] stix_vis = stix_data["stix_visibilities"] .. GENERATED FROM PYTHON SOURCE LINES 34-35 Lets have a look at the point spread function (PSF) or dirty beam .. GENERATED FROM PYTHON SOURCE LINES 35-39 .. code-block:: Python psf_map = vis_psf_map(stix_vis, shape=(129, 129) * apu.pixel, pixel_size=2 * apu.arcsec / apu.pix, scheme="uniform") psf_map.plot() .. image-sg:: /generated/gallery/images/sphx_glr_stix_001.png :alt: 2025-04-04 15:13:34 :srcset: /generated/gallery/images/sphx_glr_stix_001.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:892: SunpyMetadataWarning: Missing metadata for observation time, setting observation time to current time. Set the 'DATE-AVG' FITS keyword to prevent this warning. warn_metadata("Missing metadata for observation time, " INFO: Missing metadata for solar radius: assuming the standard radius of the photosphere. [sunpy.map.mapbase] /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:633: SunpyMetadataWarning: Missing metadata for observer: assuming Earth-based observer. For frame 'heliographic_stonyhurst' the following metadata is missing: dsun_obs,hgln_obs,hglt_obs For frame 'heliographic_carrington' the following metadata is missing: dsun_obs,crln_obs,crlt_obs obs_coord = self.observer_coordinate .. GENERATED FROM PYTHON SOURCE LINES 40-41 Back projection .. GENERATED FROM PYTHON SOURCE LINES 41-45 .. code-block:: Python backproj_map = vis_to_map(stix_vis, shape=(129, 129) * apu.pixel, pixel_size=2 * apu.arcsec / apu.pix, scheme="uniform") backproj_map.plot() .. image-sg:: /generated/gallery/images/sphx_glr_stix_002.png :alt: 2025-04-04 15:13:34 :srcset: /generated/gallery/images/sphx_glr_stix_002.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:892: SunpyMetadataWarning: Missing metadata for observation time, setting observation time to current time. Set the 'DATE-AVG' FITS keyword to prevent this warning. warn_metadata("Missing metadata for observation time, " INFO: Missing metadata for solar radius: assuming the standard radius of the photosphere. [sunpy.map.mapbase] /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:633: SunpyMetadataWarning: Missing metadata for observer: assuming Earth-based observer. For frame 'heliographic_stonyhurst' the following metadata is missing: dsun_obs,hgln_obs,hglt_obs For frame 'heliographic_carrington' the following metadata is missing: dsun_obs,crln_obs,crlt_obs obs_coord = self.observer_coordinate .. GENERATED FROM PYTHON SOURCE LINES 46-47 Clean .. GENERATED FROM PYTHON SOURCE LINES 47-57 .. code-block:: Python clean_map, model_map, resid_map = vis_clean( stix_vis, shape=[129, 129] * apu.pixel, pixel_size=[2, 2] * apu.arcsec / apu.pix, clean_beam_width=20 * apu.arcsec, niter=100, ) clean_map.plot() .. image-sg:: /generated/gallery/images/sphx_glr_stix_003.png :alt: 2025-04-04 15:13:39 :srcset: /generated/gallery/images/sphx_glr_stix_003.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:892: SunpyMetadataWarning: Missing metadata for observation time, setting observation time to current time. Set the 'DATE-AVG' FITS keyword to prevent this warning. warn_metadata("Missing metadata for observation time, " INFO: Missing metadata for solar radius: assuming the standard radius of the photosphere. [sunpy.map.mapbase] /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:633: SunpyMetadataWarning: Missing metadata for observer: assuming Earth-based observer. For frame 'heliographic_stonyhurst' the following metadata is missing: dsun_obs,hgln_obs,hglt_obs For frame 'heliographic_carrington' the following metadata is missing: dsun_obs,crln_obs,crlt_obs obs_coord = self.observer_coordinate .. GENERATED FROM PYTHON SOURCE LINES 58-59 MEM .. GENERATED FROM PYTHON SOURCE LINES 59-69 .. code-block:: Python # Compute percent_lambda snr_value, _ = resistant_mean((np.abs(stix_vis.visibilities) / stix_vis.amplitude_uncertainty).flatten(), 3) percent_lambda = 2 / (snr_value**2 + 90) mem_map = mem( stix_vis, shape=[129, 129] * apu.pixel, pixel_size=[2, 2] * apu.arcsec / apu.pix, percent_lambda=percent_lambda ) mem_map.plot() .. image-sg:: /generated/gallery/images/sphx_glr_stix_004.png :alt: 2025-04-04 15:13:53 :srcset: /generated/gallery/images/sphx_glr_stix_004.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-script-out .. code-block:: none /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:892: SunpyMetadataWarning: Missing metadata for observation time, setting observation time to current time. Set the 'DATE-AVG' FITS keyword to prevent this warning. warn_metadata("Missing metadata for observation time, " INFO: Missing metadata for solar radius: assuming the standard radius of the photosphere. [sunpy.map.mapbase] /home/docs/checkouts/readthedocs.org/user_builds/xrayvision/envs/stable/lib/python3.9/site-packages/sunpy/map/mapbase.py:633: SunpyMetadataWarning: Missing metadata for observer: assuming Earth-based observer. For frame 'heliographic_stonyhurst' the following metadata is missing: dsun_obs,hgln_obs,hglt_obs For frame 'heliographic_carrington' the following metadata is missing: dsun_obs,crln_obs,crlt_obs obs_coord = self.observer_coordinate .. GENERATED FROM PYTHON SOURCE LINES 70-71 Comparison .. GENERATED FROM PYTHON SOURCE LINES 71-86 .. code-block:: Python fig = plt.figure(figsize=(10, 10)) fig.add_subplot(221, projection=psf_map) fig.add_subplot(222, projection=backproj_map) fig.add_subplot(223, projection=clean_map) fig.add_subplot(224, projection=mem_map) axs = fig.get_axes() psf_map.plot(axes=axs[0]) axs[0].set_title("PSF") backproj_map.plot(axes=axs[1]) axs[1].set_title("Back Projection") clean_map.plot(axes=axs[2]) axs[2].set_title("Clean") mem_map.plot(axes=axs[3]) axs[3].set_title("MEM") plt.show() .. image-sg:: /generated/gallery/images/sphx_glr_stix_005.png :alt: PSF, Back Projection, Clean, MEM :srcset: /generated/gallery/images/sphx_glr_stix_005.png :class: sphx-glr-single-img .. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 19.425 seconds) .. _sphx_glr_download_generated_gallery_stix.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: stix.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: stix.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: stix.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_