Astronomical échelle spectroscopy data analysis with `muler`

Astronomical échelle spectroscopy data analysis with `muler` - Published in JOSS (2022)

https://github.com/ottostruve/muler

Science Score: 98.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org, zenodo.org
  • Committers with academic emails
    6 of 11 committers (54.5%) from academic institutions
  • Institutional organization owner
    Organization ottostruve has institutional domain (astronomy.utexas.edu)
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

astronomical-algorithms astronomy data-analysis data-science echelle exoplanets infrared python spectroscopy stars stellar-atmospheres

Keywords from Contributors

astrophysics physics

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

A Python package for working with pipeline-produced spectra from IGRINS, HPF, and Keck NIRSPEC

Basic Info
Statistics
  • Stars: 16
  • Watchers: 17
  • Forks: 9
  • Open Issues: 33
  • Releases: 14
Topics
astronomical-algorithms astronomy data-analysis data-science echelle exoplanets infrared python spectroscopy stars stellar-atmospheres
Created about 5 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct

README.md

muler (μler)

version 0.5.2

DOI DOI

example workflow

A Python package for analyzing pipeline-processed data from high resolution near-infrared echelle spectrographs.

The echelle spectrum problem

Imagine you have just received data from the an echelle spectrograph like IGRINS or HPF and you want to start science. Oftentimes you will get handed pipeline-reduced data from the observatory facility. When you examine the data you may notice some remaining instrumental signals: telluric contamination artifact and instrument-induced slopes stand out. Or maybe you want to apply a barycentric correction based on telescope pointing information, but you're not sure which FITS header columns to use when multiple are available. You may want to normalize, deblaze (a.k.a. flatten), and plot the spectrum, or populate the spectrum into a pandas dataframe, or estimate a coarse radial velocity based on a noise-free stellar model atmosphere or a standard star template. Or maybe you want to measure an equivalent width, with or without an error bar. All of these operations are relatively routine, but their application, order, and algorithm choice may depend on the science case, and therefore they cannot be built into a default pipeline: it is up to you---the scientist---to conduct these activities.

Muler is intended to reduce the friction of getting started with near-IR echelle spectroscopy. Typical spectral analyses become only 2 or 3 lines of compact muler code, rather than hundreds of cells of Jupyter notebooks just to load and post-process a spectrum.

Plotting a sky-subtracted, flattened spectrum:

Python spectrum = HPFSpectrum(file=file, order=15) spectrum.remove_nans().sky_subtract().deblaze().normalize().plot()

Measuring an equivalent width:

Python spectrum = HPFSpectrum(file=file, order=15) clean_spectrum = spectrum.remove_nans().sky_subtract().deblaze().normalize() ew = clean_spectrum.measure_ew()

Installation: pip and development version

We currently offer seamless installation with pip and conda! You can install muler in one line with:

bash pip install muler or bash conda install -c conda-forge muler

muler constantly changes and benefits from new community contributions like yours. We therefore recommend the slightly more tedious installation from the raw source code described on our Installation webpage. Installing from source code empowers you to modify the code for your purposes.

Our mission and your help

muler is aimed at collecting common spectral analysis methods into one place, simplifying the interactive process of astronomical discovery. We want to reduce the perceived complexity of working with echelle spectra, so that scientists have more time to focus on frontier science problems. We aspire to become a tool that new and experienced astronomers alike come to use and rely upon. In order to achieve these goals we need community contributions from practitioners like you.

That help can take many forms, even more creative outlets than most would guess. A great and easy first step is to :star: our repo or subscribe to notifications so that you can stay up to date as our project evolves. Glance around our tutorials, overall documentation, and Issues pages. Join our welcoming community and help us build some cool tools to make astronomy slightly easier, more reproducible, and more fun.

Spectrographs we currently support

We currently support the IGRINS, IGRINS-2, HPF, and NIRSPEC spectrographs. These three near-IR echelle spectrographs are attached to some of the greatest telescopes in the world: The Harlan J. Smith 2.7m Telescope, Gemini, HET, and Keck respectively. HPF differs from IGRINS, IGRINS-2, and NIRSPEC in its precision radial velocity (PRV) design. It uses fibers instead of slits. We do not purport to address the extreme precision demands of the PRV community, but we anticipate our package is still useful to a wide range of HPF science use cases. We are open to supporting new spectrographs in the future, but at the present time we are focused on building, testing, and maintaining the core features for these three spectrographs before we add new ones. One way to get a new instrument supported is to make a new GitHub Issue to describe the instrument and rationale for adding it to muler, so other community members can join the conversation.

Owner

  • Name: OttoStruve
  • Login: OttoStruve
  • Kind: organization
  • Email: datascience@astro.as.utexas.edu
  • Location: Austin, TX

The University of Texas at Austin Department of Astronomy Organization

JOSS Publication

Astronomical échelle spectroscopy data analysis with `muler`
Published
May 12, 2022
Volume 7, Issue 73, Page 4302
Authors
Michael A. Gully-Santiago ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Jessica L. Luna ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Caroline V. Morley ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Kyle Kaplan ORCID
SOFIA Science Center, Universities Space Research Association, NASA Ames Research Center, Moffett Field, CA, USA
Aishwarya Ganesh ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Erica A. Sawczynec ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Joel Burke
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Daniel M. Krolikowski ORCID
The University of Texas at Austin Department of Astronomy, Austin, TX, USA
Editor
Juanjo Bazán ORCID
Tags
astronomy spectroscopy stars echelle

GitHub Events

Total
  • Create event: 5
  • Issues event: 3
  • Release event: 3
  • Watch event: 2
  • Issue comment event: 8
  • Push event: 66
  • Pull request event: 2
Last Year
  • Create event: 5
  • Issues event: 3
  • Release event: 3
  • Watch event: 2
  • Issue comment event: 8
  • Push event: 66
  • Pull request event: 2

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 436
  • Total Committers: 11
  • Avg Commits per committer: 39.636
  • Development Distribution Score (DDS): 0.245
Past Year
  • Commits: 6
  • Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
gully i****y@g****m 329
Kyle Kaplan k****n@a****u 49
kkaplan k****n@u****u 37
JessicaLuna j****a@a****u 5
Aishwarya Ganesh a****9@u****u 5
Caroline Morley c****y@u****u 4
Erica Sawczynec 5****w 3
joelburke02 8****2 1
Juanjo Bazán j****n@g****m 1
Joshua Adelman s****s 1
Danny Krolikowski k****i@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 83
  • Total pull requests: 42
  • Average time to close issues: 3 months
  • Average time to close pull requests: about 2 months
  • Total issue authors: 14
  • Total pull request authors: 8
  • Average comments per issue: 1.9
  • Average comments per pull request: 1.67
  • Merged pull requests: 35
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 3
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 1
  • Average comments per issue: 0
  • Average comments per pull request: 0.0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • gully (49)
  • ericasaw (12)
  • wtgee (6)
  • kfkaplan (5)
  • gmace (2)
  • nagarajanneel (1)
  • astrocaroline (1)
  • grzeimann (1)
  • nedahejazi (1)
  • caponepascal (1)
  • jessicaluna (1)
  • SujayShankarUT (1)
  • joelburke02 (1)
  • zjzhang42 (1)
Pull Request Authors
  • gully (19)
  • kfkaplan (15)
  • ericasaw (2)
  • joelburke02 (2)
  • synapticarbors (1)
  • dkrolikowski (1)
  • grzeimann (1)
  • xuanxu (1)
Top Labels
Issue Labels
bug (3) documentation (1)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 320 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 2
    (may contain duplicates)
  • Total versions: 19
  • Total maintainers: 3
pypi.org: muler

A Python package for working with data from various echelle spectrographs

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 2
  • Downloads: 320 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 11.4%
Dependent repos count: 11.5%
Average: 15.5%
Stargazers count: 16.6%
Downloads: 28.1%
Maintainers (3)
Last synced: 4 months ago
conda-forge.org: muler

muler is an easy to use Python package for post-processing echelle spectroscopy from near-infrared astronomical spectrographs. We currently support IGRINS, HPF, and Keck NIRSPEC.

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Forks count: 42.2%
Average: 44.2%
Stargazers count: 49.6%
Dependent packages count: 51.2%
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • astropy *
  • bokeh *
  • celerite2 *
  • gollum ==0.2.1
  • gwcs *
  • h5py *
  • importlib_resources *
  • ipykernel *
  • matplotlib *
  • muler *
  • nbsphinx *
  • numpy *
  • numpydoc *
  • pandas *
  • requests *
  • scipy *
  • specutils *
  • sphinx >=3.2.1
  • sphinx-gallery *
  • sphinx-material *
  • tqdm *
setup.py pypi
  • astropy >=4.1
  • importlib_resources *
  • matplotlib *
  • numpy *
  • pandas *
  • scipy *
  • specutils >=1.5
.github/workflows/muler-pip.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/muler-tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
environment.yml conda
  • astropy 5.2.*
  • astroquery
  • black
  • bokeh
  • coverage
  • coveralls
  • gwcs
  • h5py
  • importlib_resources
  • ipython
  • isort
  • jupyter
  • matplotlib
  • nbsphinx
  • ndcube
  • numpy
  • numpydoc
  • pandas
  • pip
  • pytest
  • python 3.9.*
  • scipy
  • seaborn
  • sphinx
  • sphinx-automodapi
  • tox
  • tqdm
  • twine
docs/requirements_actions.txt pypi
  • bokeh *
  • celerite2 *
  • gollum ==0.2.1
  • gwcs *
  • h5py *
  • importlib_resources *
  • ipykernel *
  • matplotlib *
  • nbsphinx *
  • numpydoc *
  • pandas *
  • requests *
  • scipy *
  • sphinx >=3.2.1
  • sphinx-gallery *
  • sphinx-material *
  • tqdm *