Introduction
============
`Hinode `_ is a JAXA solar observatory,
built with NASA, the UK Space Agency, and ESA,
which has been observing the Sun since 2006 :cite:p:`Kosugi2007`.
This Python package downloads Hinode observations and represents them
using :mod:`named_arrays`,
a named tensor implementation with :class:`astropy.units.Quantity` support.
So far it supports the Level 1 images of the
X-Ray Telescope (XRT) :cite:p:`Golub2007`, in :mod:`hinode.xrt`,
along with what a differential emission measure needs:
the temperature response of each filter,
:func:`hinode.xrt.temperature_response`,
the visible light leaking into each pixel,
:attr:`hinode.xrt.Filtergram.leak`,
and the uncertainty of each pixel,
:meth:`hinode.xrt.Filtergram.uncertainty`.
The pointing of each image is corrected with the co-alignment databases of
SolarSoft, so that it lines up with AIA,
:attr:`hinode.xrt.Filtergram.coalignment`.
Installation
============
This package is published to PyPI and can be installed using pip.
.. code-block::
pip install hinode
API Reference
=============
.. autosummary::
:toctree: _autosummary
:template: module_custom.rst
:recursive:
hinode
Examples
========
Load the XRT images taken through the Al_poly filter while the
EUV Snapshot Imaging Spectrograph (ESIS) was observing the Sun on
2019 September 30, and display the last one.
.. jupyter-execute::
import matplotlib.pyplot as plt
import astropy.units as u
import astropy.visualization
import named_arrays as na
import hinode
# Download the images and load them into memory
images = hinode.xrt.open(
time_start="2019-09-30T18:06:11",
time_stop="2019-09-30T18:11:01",
filter="Al_poly",
)
# Select the last image
image = images[{images.axis_time: ~0}]
# Display the image
unit = image.inputs.position.x.unit
with astropy.visualization.quantity_support():
fig, ax = plt.subplots(figsize=(6, 6), constrained_layout=True)
na.plt.pcolormesh(
image.inputs.position.x,
image.inputs.position.y,
C=image.outputs,
ax=ax,
cmap="gray",
norm="asinh",
vmin=0 * u.DN / u.s,
vmax=100 * u.DN / u.s,
)
ax.set_aspect("equal")
ax.set_title(image.inputs.time.ndarray)
ax.set_xlabel(f"helioprojective $x$ ({unit:latex_inline})")
ax.set_ylabel(f"helioprojective $y$ ({unit:latex_inline})")
Citation
========
If you use :mod:`hinode` in your research, please cite it.
The citation metadata is kept in
`CITATION.cff `_,
which the "Cite this repository" button on the
`GitHub page `_
can export as BibTeX or APA.
Every release of :mod:`hinode` is archived on Zenodo with its own DOI.
The concept DOI,
`10.5281/zenodo.23249959 `_,
always resolves to the latest version,
and the Zenodo page lists the DOI of every version.
Please include the version of :mod:`hinode` that you used,
which is given by ``importlib.metadata.version("hinode")``.
The BibTeX entry below uses the concept DOI.
To cite a specific version instead,
replace ``doi`` with the DOI of that version.
.. code-block:: bibtex
@software{hinode,
author = {Smart, Roy T.},
title = {hinode},
version = {X.Y.Z},
doi = {10.5281/zenodo.23249959},
url = {https://github.com/sun-data/hinode},
}
References
==========
.. bibliography::
|
Indices and tables
==================
* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`