aspros

άσπρος: White dwarf planetesimal hunt with CHEOPS.

Getting Started

Let’s start by importing the necessary packages

from aspros import simulate_lc, inject_transits

import astropy.units as u
from astropy.time import Time

import numpy as np
import matplotlib.pyplot as plt

Simulate a light curve with CHEOPS-like noise and window function:

seed = 42  # Makes random number generator reproducible
duration = 24 * u.hour
efficiency = 0.6
clean_lc = simulate_lc(duration, efficiency=efficiency, seed=seed)

Inject a transiting object with specified orbital properties:

period = 3 * u.hour
epoch = Time('2020-04-01') + np.random.rand()*u.day
radius = 1500 * u.km
inc = 90 * u.deg

transit_lc = inject_transits(clean_lc, period, epoch, radius, inc)

Construct a Box Least Squares periodogram and inspect it for peaks:

periods = np.linspace(2, 12, 1500) * u.hour
results, bests, stats = transit_lc.bls(periods=periods, duration=2*u.min)

fig, ax = plt.subplots(1, 2, figsize=(8, 2))
transit_lc.plot(ax=ax[0])
ax[1].plot(results.period.to(u.hour), results.power)
ax[1].set_xlabel('Period [hour]')
ax[1].set_ylabel('BLS Power')
fig.tight_layout()
plt.show()

(Source code, png, hires.png, pdf)

_images/gettingstarted-1.png

aspros Documentation

This is the documentation for aspros.

Reference/API

aspros Package

Functions

bls_peakfinder(results)

Find peaks in a Box Least Squares spectrum.

concatenate_light_curves(light_curve_list[, …])

Combine multiple transit light curves into one TransitLightCurve object.

concatenate_transit_light_curves(…[, name])

Combine multiple transit light curves into one TransitLightCurve object.

inject_transits(lc, period, epoch, radius, inc)

Inject transits into a light curve.

period_to_a(period)

simulate_lc(duration[, efficiency, seed, …])

Simulate a white dwarf light curve observed with CHEOPS.

test(\*\*kwargs)

Run the tests for the package.

Classes

LightCurve([times, fluxes, errors, …])

Container object for light curves.

LooseVersion([vstring])

Version numbering for anarchists and software realists.

TransitLightCurve([times, fluxes, errors, …])

Container for a single transit light curve.

UnsupportedPythonError

Class Inheritance Diagram

Inheritance diagram of aspros.lightcurve.LightCurve, aspros.lightcurve.TransitLightCurve, aspros.UnsupportedPythonError