Kepler photometry pipeline that detects, characterizes, and stress-tests a real exoplanet transit signal — built with a 7-person team for Astron 9 (Introduction to Python for Astrophysics).
Pulled Kepler photometry with lightkurve, stripped NaNs and 5σ outliers, normalized flux, then flattened the curve to remove stellar rotation and starspot drift while preserving the short transit dips.
lightkurve · remove_outliers · flatten()
B.02
Transit Detection (BLS)
A Box Least Squares periodogram returned a dominant peak at 3.52 days, power ≈570 against a ≈10–50 noise floor. Phase-folding at that period produced a clean, repeating box-shaped dip — not a one-off event.
BLS periodogram · phase fold
B.03
Radius & Companion Check
Transit depth gives planet radius via Rp = R*√δ: 0.115 solar radii against Kepler-8b’s published 0.146 (21% error, mostly limb darkening). A scipy N-body simulator then tested transit-timing variations for signs of a hidden second planet.
scipy.curve_fit · solve_ivp N-body
B.04
Habitability
Kepler’s third law places the planet 0.0483 AU out — 8× closer than Mercury — with an equilibrium temperature of 1661.7 K. The computed habitable zone spans 1.642–2.365 AU, well outside the planet’s orbit.
Kepler's 3rd law · equilibrium temp
Process
6 phases
P1Method SelectionCompared transit, radial velocity, direct imaging, and microlensing; chose transit for reliability and open data.
P2Data AcquisitionPulled Kepler photometry for KIC 6922244 (Kepler-8) with lightkurve.