cs[:, -1] = 1 - 0.9 * np.array(b2) / np.max(b2) for order, i in enumerate(np.argsort(np.sqrt(e2) * np.array(p.mean_flux))[::-1]): pl.clf() star = Star(_id=p.stars[i]) ra, dec = star.ra, star.dec tai, flux, ferr = p.get_lightcurve(p.stars[i]) # Convert to MJD. mjd = tai / 24 / 3600 T = lyrae.find_period({"g": mjd}, {"g": flux}, {"g": ferr}) lcmodel = lyrae.get_model(T, mjd, flux, ferr) print "Period: ", T, "chi2: ", lcmodel[-1] # Plot the light curve with errorbars and alpha weight # based on badness of the run. pl.errorbar(mjd % T, flux, yerr=ferr, ls="None", capsize=0, lw=2, marker="o", zorder=1, barsabove=False, color="k") pl.errorbar(mjd % T + T, flux, yerr=ferr, ls="None", capsize=0, lw=2, marker="o", zorder=1, barsabove=False, color="k") # Plot the fit. t = np.linspace(0, 2 * T, 5000) pl.plot(t, lcmodel[0](t), "--k") # Plot the fit stellar flux. pl.gca().axhline(p.mean_flux[i], color="k")
for ind in [144]: # range(len(sesar.table2)): for order in [12]: # [3, 6, 9, 12]: _id = str(sesar.table2[ind]["Num"]) print "%d:" % ind, _id, order d = sesar.table1[_id][...] bands = "gri" inds = dict([(b, (d[b] > 1) * (d[b] < 99)) for b in bands]) time = dict([(b, d[b + "mjd"][inds[b]]) for b in bands]) flux = dict([(b, 10 ** (9 - 0.4 * d[b][inds[b]])) for b in bands]) ferr = dict([(b, flux[b] * np.log(10) * 0.4 * d[b + "err"][inds[b]]) for b in bands]) p = [sesar.table2[ind]["Per"], lyrae.find_period(time, flux, ferr, order=order)] m = dict([(b, [lyrae.get_model(p0, time[b], flux[b], ferr[b], order=order) for p0 in p]) for b in time]) f = open(fn, "a") s = ["%4d" % ind, _id] s += ["%.8f" % p[1]] s += [str(order)] s += ["%.0f" % m[b][1][2] for b in time] for b in m: a = m[b][1][1] s += ["%e" % a0 for a0 in a] f.write(" ".join(s) + "\n") f.close() def plot_lc(b, i): N = 5413 t = np.linspace(min(time[b]), max(time[b]), N)