Skip to content

A set of tools for photometric analysis. Determines the period of short-period variable stars.

License

Notifications You must be signed in to change notification settings

SterlingYM/astroPIPS

Repository files navigation

Period-determination and Identification Pipeline Suite (PIPS)

GitHub tag (latest SemVer pre-release) GitHub Run tests codecov Documentation Status

PIPS is a Python pipeline designed to analyze the lightcurves of astronomical objects whose brightness changes periodically. Our pipeline can be imported quickly and is designed to be user friendly. PIPS was originally developed to determine the periods of RR Lyrae variable stars and offers many features designed for variable star analysis. We have expanded PIPS into a suite that can obtain period values for almost any type of lightcurve with both speed and accuracy. PIPS can determine periods through several different methods, analyze the morphology of lightcurves via fourier analysis, estimate the statistical significance of the detected signal, and determine stellar properties based on preexisting stellar models. Currently our team is also exploring the possibility of using this pipeline to detect periods of exoplanets as well.

A detailed description of PIPS and its algorithms is provided in our paper.

NOTE: We are currently updating the documentation to match the content with the paper

(last edit: February 24th, 2022)


Developers


Publications

Please cite the following if PIPS is utilized for a scientific project:


Dependencies

  • python (>=3.7)
  • numpy
  • scipy
  • matplotlib
  • time
  • astropy
  • seaborn

Usage (ver 0.3.0)

  1. $ git clone https://github.com/SterlingYM/PIPS
  2. $ cd PIPS
  3. $ jupyter notebook
  4. Start a new Python notebook. In a jupyter cell, run the following:
import PIPS

# data preparation -- create [time,mag,mag_err] list
data = PIPS.data_readin_LPP('sample_data/005.dat',filter='V')
phot_obj = PIPS.photdata(data)

# period detection
star.get_period(multiprocessing=False)

# generate best-fit light curve
x_th,y_th = star.get_bestfit_curve()

# plot light curve
star.plot_lc()
plt.plot(x_th/star.period,y_th,c='yellowgreen',lw=3,alpha=0.7) # x-axis normalized to unitless phase
plt.plot(x_th/star.period+1,y_th,c='yellowgreen',lw=3,alpha=0.7)

Sample data credit: UCB SNe Search Team (Filippenko Group)

About

A set of tools for photometric analysis. Determines the period of short-period variable stars.

Topics

Resources

License

Stars

Watchers

Forks

Languages