Spelunker
Spelunker: A quick-look Python pipeline for JWST NIRISS FGS Guide Star Data - Published in JOSS (2024)
Science Score: 95.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 5 DOI reference(s) in README and JOSS metadata -
✓Academic publication links
Links to: joss.theoj.org -
✓Committers with academic emails
1 of 4 committers (25.0%) from academic institutions -
○Institutional organization owner
-
✓JOSS paper metadata
Published in Journal of Open Source Software
Keywords
Keywords from Contributors
Repository
JWST FGS Spelunker is a package that assists and finds technical anomalies from the JWST and stellar properties from guidestars.
Basic Info
- Host: GitHub
- Owner: GalagaBits
- License: mit
- Language: Python
- Default Branch: main
- Homepage: https://jwst-fgs-spelunker.readthedocs.io
- Size: 137 MB
Statistics
- Stars: 8
- Watchers: 1
- Forks: 4
- Open Issues: 3
- Releases: 16
Topics
Metadata Files
README.md
Spelunker NIRISS FGS quicklook pipeline

Authors: Derod Deal (dealderod@ufl.edu), Nstor Espinoza (nespinoza@stsci.edu)
spelunker is a package that assists on studying JWST FGS/NIRISS guidestar data. Check out our readthedocs for detailed documentation.
If you make use of spelunker, please cite our paper (Deal & Espinoza, 2024, JOSS, 9(97), 6202):
@article{Deal2024,
doi = {10.21105/joss.06202},
url = {https://doi.org/10.21105/joss.06202},
year = {2024}, publisher = {The Open Journal},
volume = {9},
number = {97},
pages = {6202},
author = {Derod Deal and Nstor Espinoza},
title = {Spelunker: A quick-look Python pipeline for JWST NIRISS FGS Guide Star Data},
journal = {Journal of Open Source Software}
}
Statement of need
Every time JWST observes an object, it simultaneously observes a nearby star --- a so-called "guide star" --- with the NIRISS Fine Guidance Sensor (FGS) that is used to keep the telescope locked on the target of interest. While researchers typically focus on their science targets, the guide star data can be extremely interesting on its own right both to detect anomalies on science data, as well as to explore time-series data of guidestars themselves. spelunker provides an easy-to-access ("plug-and-play") library to access this guide star data. The library is able to generate time-series for several metrics of the FGS data in an automated fashion, including fluxes and PSF variations, along with derived products from those such as periodograms that can aid on their analysis given only a JWST program ID number.
Installation
To install spelunker, use pip install.
bash
pip install spelunker
Using the library
Get started with spelunker with only two lines of code.
```python import spelunker
spk = spelunker.load(pid=1534)
``
This will download guidestar data for Program ID 1534; thespk` object itself can then be used to explore this guidestar data! For example, let's make a plot of the guidestar time-series for the first minutes of this PID:
```python import matplotlib.pyplot as plt
Convert times from MJD to minutes:
fig, ax = plt.subplots(figsize=(6,2), dpi=200)
plt.plot( ( spk.fgtime - spk.fgtime[0] ) * 24 * 60, spk.fg_flux, color='black', linewidth=0.2 )
plt.xlim(0,10) plt.ylim(830000,950000) plt.xlabel('Time from start (minutes)') plt.ylabel('Counts')
```
(See below on more information that can be extracted, including fitting 2D gaussians to each FGS integration!).
We can even make a plot of the tracked guidestars within this Program ID. Within a selected Program ID, multiple guidestars could be used for each observation. Each star or object comes from the Guide Star Catalog (GSC) and is pre-selected depending on telescope pointing and suitability of the star. In the generated figure from spk.guidestar_plot, the guidestar positions (marked with an X) in the given Program ID are plotted from the START to the end of the program. A line (gs track) is traced between each guidestar to order each used target overtime.
python
spk.guidestar_plot()
Mnemonics from JWST technical events can be overplotted on any timeseries, such as high-gain antenna (HGA) movement or to identify if the FGS tracks a new guidestar if the jwstuser package is also installed. Here, use spk.mnemonics to access engineering telemetry for SA_ZHAGUPST as a matplotlib axes object:
```python import matplotlib.pyplot as plt
spk.mastapitoken = 'insert a token from auth.MAST here'
fig, ax = plt.subplots(figsize=(12,4),dpi=200)
ax = spk.mnemonicslocal('GUIDESTAR') # plots when the JWST tracks onto a new guidestars as a vertical line ax = spk.mnemonics('SAZHGAUPST', 60067.84, 60067.9) # plots the start and end of high gain antenna movement
ax.plot(spk.fgtime, spk.fgflux) plt.legend(loc=3) plt.xlim(60067.84, 60067.9) plt.show() ```

For more information on the tools under spelunker and how to get started, visit the quickstart guide or checkout our readthedocs. Get acquainted with spelunker with the following example notebooks:
This software is currently under development on GitHub. To report bugs or to send feature requests, send us an email or open an issue on GitHub.
Licence and attribution
This project is under the MIT License, which can be viewed here.
Acknowledgments
DD and NE would like to thank the STScI's Space Astronomy Summer Program (SASP) as well as the National Astronomy Consortium (NAC) program which made it possible for them to work together on this fantastic project!
Owner
- Name: Derod Deal
- Login: GalagaBits
- Kind: user
- Company: University of Florida
- Website: www.dlderod.weebly.com
- Repositories: 2
- Profile: https://github.com/GalagaBits
Astrophysics major at the University of Florida; amateur programmer
JOSS Publication
Spelunker: A quick-look Python pipeline for JWST NIRISS FGS Guide Star Data
Authors
Tags
JWST time domian astronomy NIRISS/FGSGitHub Events
Total
- Issues event: 2
- Watch event: 1
- Issue comment event: 3
Last Year
- Issues event: 2
- Watch event: 1
- Issue comment event: 3
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Derod Deal | d****d@g****m | 227 |
| Nestor Espinoza | n****a@s****u | 40 |
| Taylor Bell | b****l@b****g | 1 |
| Dan F-M | f****y@g****m | 1 |
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 33
- Total pull requests: 16
- Average time to close issues: about 1 month
- Average time to close pull requests: 2 days
- Total issue authors: 9
- Total pull request authors: 4
- Average comments per issue: 3.12
- Average comments per pull request: 0.38
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 2
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- taylorbell57 (20)
- GalagaBits (3)
- keflavich (2)
- evamariaa (2)
- nespinoza (2)
- hdiamondlowe (1)
- JoeMichail (1)
- katiebennett820 (1)
- mhooton (1)
Pull Request Authors
- nespinoza (11)
- GalagaBits (3)
- taylorbell57 (2)
- dfm (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 44 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 26
- Total maintainers: 2
pypi.org: spelunker
spelunker: a library to extract guidestar data and observe technical and stellar events
- Homepage: https://github.com/GalagaBits/JWST-FGS-Spelunker
- Documentation: https://spelunker.readthedocs.io/
- License: MIT
-
Latest release: 1.1.18
published almost 2 years ago
