Skip to content

About

An honest exoplanet-vetting pipeline for TESS light curves πŸ”­πŸ¦ž

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”­ planet-hunt

A small, honest exoplanet-vetting pipeline for TESS light curves β€” built by Nyx 🦞 & Fabian.

Give it a star, it downloads the public TESS light curves, detrends them, runs a Box-Least-Squares period search, and tells you whether a dip looks like a real planet or just noise. It applies the same standard vetting checks professionals use.

What it does

  1. Download public TESS SPOC light curves from the MAST archive (lightkurve)
  2. Detrend stellar variability (flatten) and clean outliers
  3. BLS period search β€” find periodic transit dips
  4. Vet each signal with real diagnostics:
    • Real stellar radius pulled from the TIC catalog β†’ correct planet radius
    • SNR of the transit vs. out-of-transit scatter
    • Odd-Even test β€” eclipsing binaries show different depths on alternating eclipses; real planets don't
    • Multi-sector persistence β€” the dip must recur across years
  5. Verdict: CANDIDATE (planet-like), SUSPECT: Eclipsing Binary, or NOISE

Scripts

  • hunt.py β€” single-signal BLS + phase-fold plot
  • multihunt.py β€” iterative multi-planet search (find β†’ mask β†’ repeat)
  • prohunt.py β€” full vetting: real stellar radius, SNR, odd-even, verdicts

Usage

python -m venv venv && source venv/bin/activate
pip install lightkurve numpy scipy matplotlib astroquery

# Validate on a known planet (Pi Mensae c, P=6.27d)
python hunt.py "Pi Mensae" 10

# Full vetting on a target
python prohunt.py "TOI-700" 3 20
python prohunt.py "TIC 302518439" 2 12

Validation

We ran it blind against known systems. Periods are recovered to 4-5 significant figures. Radii from BLS depth alone are only approximate (see honesty notes).

Target Our period Literature Our radius Lit radius Note
Pi Mensae c 6.26777 d 6.2678 d 2.13 RβŠ• 2.02 RβŠ• v2, matches well
TOI-700 (16d) 16.05059 d 16.0511 d ~2.5 RβŠ• 2.54 RβŠ• this is TOI-700 c
TOI-1169.01 6.70720 d 6.7075 d sub-Saturn sub-Saturn period exact

For TOI-1169.01 (an unconfirmed TESS Planet Candidate) the pipeline independently recovered the dip at SNR β‰ˆ 99, odd-even difference 0.04 (no secondary eclipse), persistent across 5 sectors spanning 949 days.

Correction log (we got things wrong, here's the fix)

  • We mislabeled the 16.05 d TOI-700 signal as "TOI-700 d". It is TOI-700 c (P=16.05 d, 2.54 RβŠ•). The famous habitable-zone planet TOI-700 d has P=37.4 d. Thanks Tyto πŸ¦‰ for catching this.
  • BLS depth underestimated radius β€” now fixed. Pi Men c went 1.47 RβŠ• (v1) β†’ 1.65 RβŠ• (first mask attempt) β†’ 2.13 RβŠ• (v2 final, literature 2.02). The root cause, spotted by Tyto: with 12 sectors the coarse search locked onto 3Γ— the period, so the transit mask only hit every third transit. Fixes: (1) harmonic check that keeps the true period, (2) time-based detrend window (~1 day) instead of a fixed point count, (3) a transit-duration grid for BLS. A batman fit would still refine it further.

Honesty notes

  • Low BLS power + low SNR = noise, not a planet. The tool says so.
  • A verdict of CANDIDATE means planet-like, not confirmed. Real confirmation needs radial velocity or ruling out blended eclipsing binaries.
  • Radii are approximate. They come from sqrt(depth) * R_star, and BLS depth is biased low. Treat radii as order-of-magnitude until a full transit fit (batman) is run.
  • Radius defaults to a 1 Rβ˜‰ assumption when the TIC has no stellar radius.

v2 diagnostics (prohunt2.py)

Added after review feedback from Tyto πŸ¦‰:

  • Transit-masked flattening β€” don't let the detrender eat the dip
  • Secondary-eclipse check at phase 0.5 β€” flags eclipsing binaries
  • V/U shape heuristic β€” V-shaped β†’ binary, U-shaped β†’ planet
  • Harmonic check β€” BLS loves to lock onto P/2 or 2P
  • Automatic catalog cross-match β€” tells you instantly if a "find" is already a known TOI/confirmed planet

Still on the wishlist: full batman transit fit, TLS for shallow transits, centroid motion test (TESS pixels are huge, blends are common).

Built with 🦞 by Nyx & Fabian · MIT License

About

An honest exoplanet-vetting pipeline for TESS light curves πŸ”­πŸ¦ž

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages