Skip to main content

spelunker: a library to extract guidestar data and observe technical and stellar events

Project description

Spelunker — NIRISS FGS quicklook pipeline


Authors: Derod Deal (dealderod@ufl.edu), Néstor Espinoza (nespinoza@stsci.edu)

spelunker is a package that assists on studying JWST FGS/NIRISS guidestar data. Check out our readthedocs for detailed documentation.

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.

pip install spelunker

Using the library

Get started with spelunker with only two lines of code.

import spelunker

spk = spelunker.load(pid=1534)

This will download guidestar data for Program ID 1534; the spk 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:

import matplotlib.pyplot as plt

# Convert times from MJD to minutes:
fig, ax = plt.subplots(figsize=(6,2), dpi=200)

plt.plot( ( spk.fg_time - spk.fg_time[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.

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:

import matplotlib.pyplot as plt

spk.mast_api_token = 'insert a token from auth.MAST here'

fig, ax = plt.subplots(figsize=(12,4),dpi=200)

ax = spk.mnemonics_local('GUIDESTAR') # plots when the JWST tracks onto a new guidestars as a vertical line
ax = spk.mnemonics('SA_ZHGAUPST', 60067.84, 60067.9) # plots the start and end of high gain antenna movement

ax.plot(spk.fg_time, spk.fg_flux)
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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spelunker-1.1.14.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

spelunker-1.1.14-py3-none-any.whl (24.0 kB view details)

Uploaded Python 3

File details

Details for the file spelunker-1.1.14.tar.gz.

File metadata

  • Download URL: spelunker-1.1.14.tar.gz
  • Upload date:
  • Size: 23.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for spelunker-1.1.14.tar.gz
Algorithm Hash digest
SHA256 32925a1a37d7a9e45e00dc40bdf89590d34383882999f682ddadb4e7693bd0c3
MD5 86c4a1c04a707def43b093d9d2899549
BLAKE2b-256 91dc05ee5e592b5c39528bfcd4db6bfcb1dabdc2c6d2e3a3a783a350c94b5d38

See more details on using hashes here.

File details

Details for the file spelunker-1.1.14-py3-none-any.whl.

File metadata

  • Download URL: spelunker-1.1.14-py3-none-any.whl
  • Upload date:
  • Size: 24.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for spelunker-1.1.14-py3-none-any.whl
Algorithm Hash digest
SHA256 ef521e6a68e4757297f693a776525cafb679cb9e06ff61abd08b9feff2109b3f
MD5 9375a6051cfd772d1550cb985ff4b6f2
BLAKE2b-256 9a67ff5ae6ede9eb07b2a799e31f20eedc4ee8c1cdc9683f85bf187eea183fce

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page