Skip to content

jpdeleon/quicklook

Repository files navigation

QuickLook

Documentation CI PyPI Python

quicklook is a Python pipeline that searches for transit signals in TESS light curves. Given a target name, it downloads the light curve, estimates the stellar rotation period, searches for transiting companions using the Transit Least Squares (TLS) algorithm, and produces a publication-ready 9-panel diagnostic figure.

Although quicklook is optimized to find transiting exoplanets, it can also detect eclipsing binaries, variable stars, and other periodic signals.

Features

  • Multi-pipeline support -- SPOC, TESS-SPOC, QLP, CDIPS, PATHOS, TGLC, TASOC
  • Automated detrending -- biweight, cosine, median, GP, and other wotan methods
  • Stellar rotation -- Generalized Lomb-Scargle (GLS) periodogram
  • Transit detection -- Transit Least Squares (TLS) periodogram
  • Neighbor check -- Gaia source overlay on archival sky images
  • Batch processing -- --each-sector mode, GNU parallel support, and candidate ranking tools
  • Web GUI -- Flask-based interface with live progress, job queue, and gallery
  • HDF5 output -- full TLS results saved for downstream filtering

Installation

Create a conda environment and install from PyPI:

conda create -n quicklook python=3.12
conda activate quicklook
pip install -U quicklook-package

Optional extras

# Web GUI
pip install -U "quicklook-package[gui]"

# Jupyter notebooks
pip install -U "quicklook-package[notebooks]"

# Development (testing, linting, formatting)
pip install -U "quicklook-package[dev]"

Try it on Google Colab

Open In Colab

Usage

Command line

# Basic run on the latest TESS sector
ql --name WASP-21 -save -verbose

# Specific sector and pipeline
ql --name TOI-125.01 --sector 2 --pipeline qlp

# Custom detrending
ql --name TOI-125.01 --flatten_method cosine --window_length 0.3

# Restrict TLS period search range
ql --name TOI-125.01 --period_limits 1 5

# Run on every available sector
ql --name TOI-125.01 --each-sector -save

# Run all sectors with 4 parallel workers
ql --name TOI-125.01 --each-sector -j 4 -save

Python API

from quicklook import TessQuickLook

ql = TessQuickLook(
    target_name="WASP-21",
    sector=56,
    pipeline="SPOC",
    flux_type="pdcsap",
    verbose=True,
)

fig = ql.plot_tql()

# Access results
print(f"Rotation period: {ql.Prot_ls:.2f} days")
print(f"TLS period: {ql.tls_results.period:.4f} days")
print(f"TLS SDE: {ql.tls_results.SDE:.1f}")

Web GUI

ql-gui

Open http://127.0.0.1:5000 in your browser. Enter a target, adjust parameters, and click Run QuickLook. Progress is streamed live via WebSocket. Supports single targets, batch submission, and each-sector mode.

QuickLook Web GUI

Output figure

ql --name WASP-21 -save -verbose

Example output

The 9-panel figure shows:

Panel Content
1 Raw light curve + trend line
2 GLS periodogram (stellar rotation period)
3 Phase-folded light curve at rotation period
4 Flattened light curve + detected transits
5 TLS periodogram (orbital period)
6 TESS aperture + Gaia sources on archival image
7 Phase-folded transit (odd/even comparison)
8 Secondary eclipse check at phase 0.5
9 Summary of stellar and companion parameters

CLI tools

Command Description
ql Run the full QuickLook pipeline on a target
read_tls Extract TLS results from a directory of .h5 files into a CSV
rank_tls Filter and rank candidates by SDE from the CSV output
ql-gui Launch the web GUI (requires [gui] extra)

Batch processing

Process a list of TIC IDs:

# Generate batch script
cat tic_ids.txt | while read tic; do
  echo "ql --name TIC$tic -save --outdir results | tee TIC$tic.log"
done > run_batch.sh

# Run in parallel with GNU parallel
cat run_batch.sh | parallel -j 4

# Extract and rank results
read_tls results/
rank_tls results/ --output_dir ranked

# Combine ranked plots into a PDF
pip install img2pdf
img2pdf ranked/*.png --output ranked.pdf

Documentation

Full documentation is available at quicklook.readthedocs.io.

License

See LICENSE for details.

About

Quick look lightcurve generator

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors