saadtaleb/tess-lightcurves-planets
TESS Light Curves for Planet Detection A curated set of TESS light curves with labels for training transit detection models. Each star in this dataset either has a reported planet candidate, a confirmed planet, a false positive, or a pipeline detection from the public NASA/TESS catalogs. What's inside 7 607 stars (TIC targets) 13 254 catalog signals (TOI / CTOI / TCE) 31 345 light curve FITS files This dataset mixes three different things. Keep them separate… See the full description on the dataset page: https://huggingface.co/datasets/saadtaleb/tess-lightcurves-planets.
TESS Light Curves for Planet Detection
A curated set of TESS light curves with labels for training transit detection models. Each star in this dataset either has a reported planet candidate, a confirmed planet, a false positive, or a pipeline detection from the public NASA/TESS catalogs.
What's inside
7 607 stars (TIC targets)
13 254 catalog signals (TOI / CTOI / TCE)
31 345 light curve FITS filesThis dataset mixes three different things. Keep them separate in your head:
- Star (TIC) — a physical star in the sky, identified by its TESS Input Catalog ID.
- Light curve (FITS file) — one observation of that star by TESS: a time series of brightness vs. time. One star is usually observed several times (in different TESS "sectors" of ~27 days each), so one star can have many FITS files.
- Signal — an announcement from a public catalog that says "there's a transit around this star, here are its period / depth / duration". Signals come from three catalogs:
TOI— TESS Objects of Interest (official TESS team)CTOI— Community TOI (community contributions)TCE— Threshold Crossing Events (NASA automatic pipeline)
A star can have several signals (several planets, or the same planet listed in several catalogs), and each signal can be labeled as candidate, confirmed, false_positive, or unknown.
Concrete example
TIC 279741379 ← one star
├── 2 signals from the TOI catalog:
│ ├── TOI 186.01 (period 35.6 d, confirmed planet)
│ └── TOI 186.02 (period 7.8 d, confirmed planet)
└── 5 light curve FITS files (observations by TESS):
├── sector 1 — standard cadence (lc)
├── sector 2 — standard cadence (lc)
├── sector 3 — standard cadence (lc)
├── sector 4 — standard cadence (lc)
└── sector 28 — fast cadence (fast-lc)One star. Two known planets. Five observations.
File layout
Light curves are stored by TIC ID:
TIC_<tic_id>/<filename>.fitsThree FITS product types are present:
*_lc.fits standard TESS/SPOC 2-minute cadence
*_llc.fits QLP pipeline (FFI-based)
*_fast-lc.fits fast-cadence (20-second)The 3 metadata CSVs
1. targets.csv — 1 row per star (7 607 rows)
One line per TIC. Use this when you want "what stars are in the dataset".
Columns: tic_id, system_class, stellar properties (ra_deg, dec_deg, tess_mag, stellar_eff_temp_k, stellar_radius_r_sun, …), and counts (n_signals_total, n_fits_total, etc.).
system_class tells you at a glance what's around the star:
confirmed_only star has at least one confirmed planet
candidate_only star has only candidate-like signals
mixed both confirmed and candidate-like signals
unknown star is in the dataset but no clear label was matched2. signals.csv — 1 row per catalog signal (13 254 rows)
One line per announced transit. Use this when you want ground-truth labels.
Columns include: signal_uid, tic_id, signal_source (TOI/CTOI/TCE), signal_id, signal_label, tfopwg_disposition, period_days, epoch_bjd, duration_hours, depth_ppm, planet_radius_r_earth, training_ready_minimum.
signal_label values:
candidate a candidate transit
confirmed a confirmed planet
false_positive rejected / not a real planet
unknown no clear disposition3. lightcurves.csv — 1 row per FITS file (31 345 rows)
One line per observation file. Use this when you want "for this file on disk, what's the star, what's known about it, and where is the file".
Columns: hf_path (path inside this HF repo), file_name, tic_id, sector, file_type, pipeline_guess, system_class, n_signals, signal_uids, signal_labels, signal_sources.
signal_uids / signal_labels are semicolon-separated lists because a star can have several signals — every signal from the same star applies to every FITS file of that star.
Label distribution
Stars:
Stars with at least one confirmed planet 1 181 (753 confirmed_only + 428 mixed)
Stars with only candidate-like signals 5 808 (candidate_only)
Stars with mixed labels 428 (mixed — also counted above)
Stars with no clear label 618 (unknown)Signals (a single star can have several):
candidate 9 895
unknown 1 381
confirmed 1 312
false_positive 666The mix is intentional: to train a transit detector, you need confirmed positives, clear negatives, and unlabeled / ambiguous cases.
Data sources
- MAST / TESS — light curve FITS files.
- ExoFOP-TESS — TOI and CTOI catalogs.
- MAST / STScI — TCE catalog.
- NASA Exoplanet Archive — confirmed TESS planets.
All upstream data are public archives. NASA's open-data policy defaults to Creative Commons Zero (CC0) for unrestricted NASA mission data. Please cite the upstream archives (TESS mission, MAST/STScI, ExoFOP-TESS, NASA Exoplanet Archive) when using this dataset in scientific work.
Citation
If you use this dataset, please cite the upstream providers:
- TESS mission (Ricker et al. 2015)
- MAST / STScI
- ExoFOP-TESS
- NASA Exoplanet Archive
lightkurve(Lightkurve Collaboration 2018)
