LEO-Vetter: Automated Vetting for TESS Planet Candidates
Project description
🦁 LEO-Vetter: for Lazy Exoplanet Operations
LEO-Vetter (the Lazy-Exoplanet-Operations Vetter) is a tool for automated vetting of transit signals found in light curve data. Inspired by the Kepler Robovetter, LEO-Vetter computes vetting metrics and then checks those metrics against a series of pass-fail thresholds. If a signal passes all checks, it is considered a planet candidate (PC). If a signal fails at least one test, it may be either an astrophysical false positive (FP; e.g. eclipsing binary, nearby eclipsing signal) or false alarm (FA; e.g. systematic, stellar variability). LEO-Vetter also produces vetting reports for quick manual inspection of the signal.
Flux-level vetting can work on light curves from any source, including (but not limited to) Kepler, K2, and TESS. Pixel-level vetting has been implemented for TESS usage only.
Usage
Check out the tutorials for full usage, but at its simplest it will look something like the following:
from leo_vetter.main import TCELightCurve
from leo_vetter.pixel import pixel_vetting
from leo_vetter.thresholds import check_thresholds
tlc = TCELightCurve(ID, time, raw, flux, flux_err, period, epoch, duration)
# Run flux-level vetting
# "star" is a dict containing stellar properties like mass, radius, etc.
tlc.compute_flux_metrics(star)
# Run pixel-level vetting
# "sectors" is a list of desired sectors for making difference images
tdi, good_sectors, good_pixel_data, good_centroids = pixel_vetting(tlc, star, sectors)
# Check metrics against pass-fail thresholds
FA = check_thresholds(tlc.metrics, "FA")
FP = check_thresholds(tlc.metrics, "FP")
Important note: The thresholds that determine whether a signal passes or fails work pretty well for TESS-observed FGKM dwarf stars, but no single set of thresholds will work for all use-cases. You can try changing the thresholds (or even adding/removing tests) to optimize this tool for your own purposes (see Tutorial 4).
Installation
LEO-Vetter is pip-installable:
pip install leo-vetter
If you also want to run pixel-level vetting (recommended), you will need to install the transit-diffImage package available here:
git clone https://github.com/stevepur/transit-diffImage.git
cd transit-diffImage
pip install .
Citing LEO-Vetter
Please cite our paper if you find this package useful 😊
Kunimoto, M., Bryson, S., Jaffee, D., et al. (2025) The Astronomical Journal, 170, 280
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file leo_vetter-1.1.0.tar.gz.
File metadata
- Download URL: leo_vetter-1.1.0.tar.gz
- Upload date:
- Size: 170.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e723c33a30cdb53e310c4febc04068acea7a963aa4b0daaba577d4c58bb283b
|
|
| MD5 |
1951afc481ad9ed7ebb0fe5c51b7f3d9
|
|
| BLAKE2b-256 |
4a31897d0a2faad378e394250d4028c533ac52984751999b2bd2ad825c52a550
|
File details
Details for the file leo_vetter-1.1.0-py3-none-any.whl.
File metadata
- Download URL: leo_vetter-1.1.0-py3-none-any.whl
- Upload date:
- Size: 170.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a06eb8f6424262fbae991e4211d6c4059222613785d5d5afba3512988a2fcc52
|
|
| MD5 |
8005b8b10169b12efce29279987b5a1f
|
|
| BLAKE2b-256 |
6b77d67031fe9c2c9a959c5da7004d92a94d18ac8dc7e32aea512cecabc1c059
|