Skip to main content

EISPAC - EIS Python Analysis Code

eispac CI status Documentation Status

This software provides a set of tools for analyzing Hinode/EIS data within a Python environment. The general approach is as follows:

  1. Sets of level 1 HDF5 files are processed from the latest EIS level-0 fits files and made available online by the NRL EIS team at https://eis.nrl.navy.mil/. The HDF5 files come in pairs of "data" and "header" files which contain corrected count rates, the calibration curve needed to convert counts into intensity, and all of the associated metadata and pointing information.

  2. This package provides Python classes and functions that can read these hdf5 files, perform all of the necessary calibration and pointing adjustments, and create user-friendly python objects that can be manipulated as needed. Also included are functions for fitting the intensity profiles using the same template files and underlying methodology that is used in the IDL SolarSoft environment.

Citing EISPAC

If you use EISPAC in your reaserch, please consider citing the JOSS paper.

Getting Started

  • Install using PIP (recommended) or by manually downloading this repo.

  • Read through the Online User's Guide (PDF download)

    • Quick Guide: A brief overview of the core EISPAC functions and objects.

    • Command Line Tools: Description of some command line tools available for searching, downloading, and fitting EIS observations.

  • Need help? If you have any questions, bug reports, or feature requests; please open an issue or email the development team.

  • Want to contribute code? Please see the Community Guidelines section of the online documentation.

Installation

Using PIP

EISPAC is now available on PyPI. To install, just use the following command,

	> python -m pip install eispac

To upgrade the package, please use:

	> python -m pip install --upgrade eispac

pip should automatically install all package dependencies. If it does not, please see the list of required packages below. Note: if you are using conda to manage your Python packages, you may wish to install or update the dependencies manually first, before installing eispac using pip (this is by no means required, but it can help simplify updating packages).

Manual Install

  1. Download or clone "eispac" to a convenient location on your computer (it does not matter where).
	> git clone https://github.com/USNavalResearchLaboratory/eispac.git
  1. Open a terminal and navigate to the directory
  2. To install:
	> python -m pip install .
  1. To upgrade:
	> python -m pip install --upgrade .

The package should then be installed to the correct location for your current Python environment. You can now import the package using import eispac.

Required Packages

  • python >= 3.9
  • numpy >= 1.18
  • scipy >= 1.4
  • matplotlib >= 3.1
  • h5py >= 2.9
  • astropy >= 4.2.11
  • sunpy >= 4.0
  • ndcube >= 2.0.0
  • parfive >= 1.5
  • python-dateutil>=2.8

Code Organization

There are currently three core directories:

  1. eispac: main python code directory containing all of the programs required to read level 1 HDF5 files and fit templates and fit spectra using mpfit.

    Notable subdirectories:

    • ../eispac/core/: Main code directory. All functions here are loaded into the top-level namespace (i.e. eispac.{function name})
    • ../eispac/data/: Contains fitting templates for specific spectral lines. These HDF5 files are direct conversions of the ".genx" files used by some IDL users. Also included is an example EIS raster from 2021-03-06 at 06:44:44.
  2. scripts: GUI and command line tools

  3. docs: Source reStructuredText files used to build the online documentation

It should also be noted that mpfit.py was written by Mark Rivers and Sergey Kopsov and is a direct Python port of the mpfit.pro IDL procedure written by Craig Markwardt. As such, much of the documentation online for the IDL version of the code is still applicable to the Python version (see also the mpfit section of our docs for more information).

TODO list

Here, in no particular order, is a list of some things that may be added in future releases.

  • Expanded documentation
  • More unit and integration tests
  • More detailed logging (with option to send all log information to a file)
  • Consider adding a subclass of NDCubeSequence which can hold multiple spectral windows
  • Consider storing the output fit parameters in another NDCube

Metadata

Release files for eispac 0.99.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for eispac 0.99.4
File Size Uploaded Provenance Actions
eispac-0.99.4.tar.gz 13.8 MB Without provenance Details for eispac-0.99.4.tar.gz

Release files / eispac-0.99.4.tar.gz

Download URL eispac-0.99.4.tar.gz
Size 13.8 MB
Tags Source
SHA-256 checksum
How to use checksums
f44c2aa9d9fe5a184997868deb21913bf7e5d051f5090f2b81d1208b7813ef9b
BLAKE2b-256 checksum
How to use checksums
335789a6e231279cf58b2a2fa545f88f9b2ebef99f9fe99db266bd3e933a86a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.4

Security for eispac 0.99.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page