Transit Least Squares: An optimized transit-fitting algorithm to search for periodic transits of small planets
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github/ISSUE_TEMPLATE Create Jan 11, 2019
docs/source update Jan 15, 2019
transitleastsquares update Jan 15, 2019
tutorials update Jan 7, 2019
.directory update Jan 7, 2019
.gitignore update Jan 7, 2019 Create Jan 11, 2019 Update Jan 15, 2019
LICENSE Initial commit Sep 11, 2018 Add files via upload Jan 4, 2019 update Jan 9, 2019 update Jan 9, 2019
tls.tar.gz update Jan 12, 2019


An optimized transit-fitting algorithm to search for periodic transits of small planets

Image Image Image Image Image


We present a new method to detect planetary transits from time-series photometry, the Transit Least Squares (TLS) algorithm. While the commonly used Box Least Squares (BLS, Kovács et al. 2002) algorithm searches for rectangular signals in stellar light curves, TLS searches for transit-like features with stellar limb-darkening and including the effects of planetary ingress and egress. Moreover, TLS analyses the entire, unbinned data of the phase-folded light curve. These improvements yield a ~10 % higher detection efficiency (and similar false alarm rates) compared to BLS. The higher detection efficiency of our freely available Python implementation comes at the cost of higher computational load, which we partly compensate by applying an optimized period sampling and transit duration sampling, constrained to the physically plausible range. A typical Kepler K2 light curve, worth of 90 d of observations at a cadence of 30 min, can be searched with TLS in 10 seconds real time on a standard laptop computer, just as with BLS.



The stable version can be installed via pip: pip install tls-package

Dependencies: Python 3, SciPy, NumPy, numba, batman, tqdm, optional: argparse (for the command line version), kplr (for LD and stellar density priors from Kepler K1), astroquery (for LD and stellar density priors from Kepler K2).

Getting started

Here is a short animation of a real search for planets in Kepler K2 data. For more examples, have a look at the tutorials and the documentation.



Please cite Hippke & Heller (2019, A&A in revision) if you find this code useful in your research. The BibTeX entry for the paper is:

       author = {{Hippke}, Michael and {Heller}, Ren{\'e}},
        title = "{Transit Least Squares: An optimized transit detection algorithm to search for periodic transits of small planets}",
      journal = {arXiv e-prints},
     keywords = {Astrophysics - Earth and Planetary Astrophysics, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2019,
        month = Jan,
          eid = {arXiv:1901.02015},
        pages = {arXiv:1901.02015},
archivePrefix = {arXiv},
       eprint = {1901.02015},
 primaryClass = {astro-ph.EP},
       adsurl = {\#abs/2019arXiv190102015H},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}

Contributing Code, Bugfixes, or Feedback

We welcome and encourage contributions. If you have any trouble, open an issue.

Copyright 2019 Michael Hippke & René Heller.