The Kepler pipeline’s own handbook estimates that its four-year search performed about statistical tests across all target stars: every star, every trial period, every trial phase, every trial duration. To keep the expected number of pure-noise detections near one, the threshold was set at 7.1 standard deviations, a single-test false-alarm probability of order under whitened Gaussian noise (Kepler Data Processing Handbook 2020, §11.3.5). In the twelve-quarter run, 115,645 of 192,313 stars still crossed that threshold before additional tests were applied (Tenenbaum et al. 2013). The final Kepler catalogue lists 4,034 planet candidates. For the faintest, longest-period signals around Sun-like stars, the catalogue’s own measurement says only about half of them are real (Thompson et al. 2018).
Those numbers capture the transit method. A planet the size of the Earth crossing a Sun-like star blocks about 84 parts per million of its light for about 13 hours, once a year, and only if the orbit happens to be aligned within about a quarter of a degree of our line of sight. The geometry and physics are simple. The difficulty is that the search tests enormous numbers of hypotheses against light curves whose noise is neither white nor Gaussian, after a detrending step that can remove the signal along with the noise, and then has to decide which surviving dips are planets. This chapter follows that chain: detrending, search, and vetting and validation.
It also makes an algorithmic point that runs through the whole book. A periodic transit search filters each stretch of the light curve locally, then sums signed evidence and its information along a hypothesised trajectory in time. That is the same computation as shift-and-stack for a moving asteroid (Chapter 17), with a comb of transit times in place of a line across the sky.
From HD 209458 to TESS
The first transit was not a search
In September 1999 David Charbonneau, Timothy Brown, David Latham and Michel Mayor pointed STARE, a small Schmidt camera built for wide-field transit searches, at HD 209458. The star was already known from radial velocities to have a close-in giant planet, so its orbital phase was known and the expected transit times could be predicted. Transits arrived on 9 and 16 September, consistent with the radial-velocity ephemeris, and the light curves resolved the ingress, egress and limb-darkened shape. The inferred planetary radius was Jupiter radii (Charbonneau et al. 2000). This was an ephemeris-guided detection with a search bank of essentially one template. It demonstrated the physics. The algorithmic problem of finding transits blind came next.
Small telescopes, large ensembles, red noise
The first wide-field surveys traded angular resolution for many bright stars at once, and their difficulty was keeping photometry repeatable through changing seeing, pointing, extinction and blending. In 2003 Gáspár Bakos, Robert Noyes, Géza Kovács and colleagues deliberately moved the HAT telescopes during each exposure to broaden the point-spread function, which improved the sampling of an undersampled detector and gave about 2 millimagnitudes for bright stars (Bakos et al. 2004). Two ensemble algorithms then appeared within months. Kovács, Bakos and Noyes’s Trend Filtering Algorithm (TFA) regressed each target on a set of other stars’ light curves (Kovács et al. 2005). Omer Tamuz, Tsevi Mazeh and Shay Zucker’s SysRem framed the same problem as weighted low-rank factorisation of the star-by-time matrix (Tamuz et al. 2005).
Between 13 October 2003 and 30 January 2004, the HAT-5 telescope in Arizona took 2,059 observations of a field, and HAT-8 in Hawaii took 901. One target was an unresolved pair of stars, and as the seeing changed, the varying blend produced strong spurious variations in its light curve. TFA removed much of this, and a box-fitting search then found five transits. Resolved photometry and spectroscopy showed that the fainter star of the pair, ADS 16402B, hosted the planet: period 4.46529 days, depth 0.015 magnitudes (Bakos et al. 2007). Here detrending did not polish a known signal. It uncovered one.
Don Pollacco and colleagues’ SuperWASP made wide-field photometry industrial. Its first northern season produced about 12.9 billion measurements of 6.7 million objects, and one camera’s night took about eleven hours to reduce on a 3-GHz Pentium 4 (Pollacco et al. 2006). Its pipeline used SysRem, removing four trends. The same year Frédéric Pont, Shay Zucker and Didier Queloz explained why many optimistic yield forecasts had failed: noise correlated on the timescale of a transit meant that taking more points within one night did not give the square-root improvement the forecasts assumed (Pont, Zucker & Queloz 2006). KELT used a 42-mm lens with a 26° field for very bright stars; its first transiting companion, KELT-1b in 2012, had Jupiter masses, near the brown-dwarf boundary (Pepper et al. 2007; Siverd et al. 2012). NGTS, twelve 20-cm telescopes at Paranal, began survey operation in 2016, and its first planet, NGTS-1b, came from 118,498 ten-second exposures between August and December 2016, a 2.674-day, 2.5%-deep transit of an M dwarf (Wheatley et al. 2018; Bayliss et al. 2018).
The search statistic and the space era
In 2002 Kovács, Zucker and Mazeh introduced box-fitting least squares (BLS). Rather than look for sinusoidal power, it fitted two flux levels, in and out of transit, to phase-folded data. They supplied a Fortran implementation and found that an effective transit signal-to-noise ratio of about six was a useful detectability scale in their simulations (Kovács, Zucker & Mazeh 2002).
Kepler, launched in 2009, shifted the problem from millimagnitudes to tens of parts per million. Jon Jenkins and colleagues built the Transiting Planet Search (TPS), a wavelet-based adaptive matched filter with a 7.1σ threshold (Jenkins et al. 2010). When the loss of two reaction wheels ended Kepler’s original pointing, Andrew Vanderburg and John Johnson showed in 2014 that flux could be calibrated against the measured image motion, improving raw K2 precision by factors of 2–5 and bringing it within 35% of Kepler’s for the best magnitudes (Vanderburg & Johnson 2014). TESS launched on 18 April 2018 and began science operations on 25 July. The MIT Quick-Look Pipeline (QLP) extracted about 24.37 million light-curve segments from the primary mission’s full-frame images (Huang et al. 2020). ESA’s PLATO is planned for launch in March 2027, and its noise figures are still forecasts (ESA 2026).
The signal and the noise
Depth, duration and probability
For a small dark planet crossing a uniform stellar disc the fractional depth is , with . Real stars are limb-darkened. A quadratic law , with the cosine of the angle from disc centre, gives the curved bottom of a real transit, and Kaisey Mandel and Eric Agol supplied analytic light curves for it (Mandel & Agol 2002). What a detector records is the model averaged over each exposure, which matters for short or grazing transits and for long cadences.
For a circular orbit with semi-major axis , inclination and impact parameter , the total duration is
In the small-planet, central, small-angle limit the duty cycle is
so and (Ofir 2014). For the Earth and Sun these give a depth of ppm, a central duration of about 13.0 hours and a duty cycle of 0.15%. The probability that a randomly oriented orbit transits is about , 0.47% for the Earth (derived numbers). A survey must watch about 200 Sun-like stars to expect one transiting Earth analogue among them, even if every star had one. Eccentricity changes the duration by roughly .
White noise, red noise, and why events matter
With equally precise in-transit points and a well-determined baseline,
where is the baseline and the cadence. This holds only for white noise. In general the variance of a transit mean is over the in-transit covariance. Pont, Zucker and Queloz split the noise into a white part and a “red” part correlated within a transit but independent between transits, which gives
for transits with points each. For equal events this is . Faster cadence reduces only the first term. More independent transits reduce both. Their OGLE fields had red noise of 3.6 and 3.1 millimagnitudes in two seasons (Pont, Zucker & Queloz 2006).
Kepler’s Combined Differential Photometric Precision (CDPP) builds this into its definition. It is the effective noise seen by a transit pulse of a given duration after whitening both data and template, so a 3-hour CDPP of 20 ppm means that a 20-ppm, 3-hour pulse has expected SNR one. The pipeline computed it for fourteen durations from 1.5 to 15 hours, with a representative median 6.5-hour value of 34 ppm for twelfth-magnitude dwarfs (Christiansen et al. 2012). An earlier analysis found 32.0 ± 0.3 ppm for a selected sample and identified stellar variability as the largest contributor above the design expectation (Gilliland et al. 2011). The rule of thumb holds when events have comparable noise and coverage, and scaling CDPP as only for white noise.
The photon budget
For aperture counts , background per pixel, read noise and pixels, the fractional variance is approximately
The first term is photon and detector noise. On the ground, atmospheric scintillation dominates for bright stars and scales with aperture roughly as ; stellar photon noise dominates at intermediate brightness, and sky background for faint stars (Wheatley et al. 2018). NGTS reached about 0.1% in one hour for stars brighter than about . The independent-term budget is an approximation: stellar and instrumental terms need covariances, not scalars. PLATO’s reference requirement is 50 ppm in one hour for an eleventh-magnitude G0 star, and its noise model includes a brightness-independent jitter of about 9 ppm that does not average down across its 24 cameras like photon noise does. These are model components, not measured limits (Cabrera et al. 2026).
Detrending is part of the detector
The nuisance projection
A transit survey measures a moving instrument and a variable star while looking for a small, intermittent loss of light. Write a normalised light curve as
where is a unit-depth transit, holds nuisance regressors (other stars’ light curves, basis vectors, pixel fractions, centroids, splines) and covers stellar variability and white noise. Profiling the nuisance coefficients exactly gives
This is the simultaneous-fit principle of Foreman-Mackey and colleagues’ joint K2 search (Foreman-Mackey et al. 2015). It exposes the most common mistake in the field. If one first fits to the light curve without a transit and then fits an unfiltered transit to the residuals, the signal has been projected but the template has not, and the depth is attenuated by the factor , with . Foreman-Mackey’s example shows the scale: one injected transit came back at 3.2 ppt after a ten-component sequential fit, 2.7 ppt after a 150-component fit, and 3.7 ppt from the simultaneous fit. And if lies in the span of , : the transit is unidentifiable. That is a limit of the information, not of the software.
Detrending alters the signal amplitude, the noise covariance, the number of usable points and the distribution of false alarms. An algorithm that minimises the scatter of a light curve can make planet detection worse by removing transits along with the noise. A light curve cleaned for stellar rotation studies is the wrong product for transit search, and the reverse. The correct question is never “how flat is it?” but “how many injected planets survive at a fixed false-alarm rate?”
Ensemble methods: SysRem, TFA and cotrending basis vectors
SysRem approximates the mean-subtracted magnitudes of star at epoch , with errors , by a rank-one term that minimises . The minimum satisfies
which are iterated alternately. Subtract the converged component and find the next. With equal weights this is principal component analysis, which the authors credit to earlier work; their contribution was the proper treatment of unequal errors and missing data (Tamuz et al. 2005). Each iteration is a pair of weighted reductions over the star–time matrix, for stars and epochs, ideal for a GPU. Too many components remove real signals or inject comparison-star noise. The same algorithm reappears in high-resolution exoplanet spectroscopy, where it removes stationary telluric and stellar features from a time series of spectra (Chapter 34).
TFA fits each target with a weighted sum of template stars, . In discovery mode the target signal is assumed constant. In reconstruction mode a detected period supplies a folded signal estimate that alternates with the trend fit. In 4,293 HAT light curves with injected transits, recovery of one test signal rose from 0.45 to 0.87 at , and from 0.08 to 0.27 at , with 595 templates. The same paper lists detections present in the raw data but lost after TFA (Kovács et al. 2005).
Kepler’s Presearch Data Conditioning, in the PDC-MAP form developed by Martin Stumpe, Jeffrey Smith and colleagues to replace an early version that sometimes removed real variability, builds cotrending basis vectors (CBVs) by singular-value decomposition of the most correlated quiet stars on each detector channel, eight by default, and fits each target with a prior on the coefficients learned from stars at similar positions and magnitudes (Stumpe et al. 2012; Smith et al. 2012). The prior stops a variable star from borrowing an instrumental basis vector that happens to correlate with its own variation. A later multiscale version splits the light curve into wavelet bands and corrects each band with its own basis vectors, so that short thermal recoveries and slow drifts get different coefficients. Its band boundary near 1,024 long cadences, about 21 days, is a variability timescale, not a cutoff in detectable orbital period.
Pointing: self-flat-fielding, pixel-level decorrelation and Gaussian processes
K2’s drifting pointing made the flux of each star depend on where its image fell on the detector. Vanderburg–Johnson self-flat-fielding measures the centroid, describes the roll motion by arclength along its dominant path, and fits flux against arclength after suppressing slow stellar variability, iterating and excluding thruster-firing cadences (Vanderburg & Johnson 2014). It is calibration by repeated visits to the same detector coordinates and costs close to .
Drake Deming’s pixel-level decorrelation (PLD), developed for Spitzer, uses fractional pixel fluxes . An astrophysical change multiplies all pixels equally and cancels in these fractions, while pointing moves flux between pixels (Deming et al. 2015). Rodrigo Luger and colleagues’ EVEREST extended PLD to K2 with higher-order pixel products, regularised coefficients and neighbouring stars’ pixels, and accelerated the many regularised fits by precomputing and reusing each order’s Gram matrix (Luger et al. 2016; Luger et al. 2018). In a 2,700-star injection test, unmasked low-SNR transits came back about 10% too shallow, and masking the transit restored the depth. That circularity is fundamental: a blind search cannot mask transits it has not yet found, so completeness must include the first-pass losses.
Suzanne Aigrain, Hannu Parviainen and Benjamin Pope’s K2SC models the covariance as a sum of a position kernel for systematics and a time kernel for stellar variability, so the two can be removed separately (Aigrain, Parviainen & Pope 2016). A dense GP costs ; K2SC reports about two minutes per light curve. Celerite’s structured kernels reduce one-dimensional temporal GPs to for terms but do not cover K2SC’s two-dimensional position kernel, which its authors identify as a limitation (Foreman-Mackey et al. 2017).
Temporal filters
After instrumental correction, stellar variability is usually removed with a sliding filter. Running means absorb dips; medians tolerate outliers; splines and robust local estimators trade flexibility against distortion. Michael Hippke and colleagues’ Wōtan compared many of them on hard Kepler and K2 samples and favoured a time-windowed Tukey biweight, which down-weights points far from a robust local location (Hippke et al. 2019). Their duration experiment is revealing. A window about three transit durations wide recovered all 100 low-SNR Kepler planets in their test when each duration was known, while a single 1.65-day window recovered 87: short transits on rapidly varying stars needed narrower filters. The original QLP fitted an orbit-by-orbit spline with knots at least 0.3 days apart, a choice its authors note favours short periods and distorts long transits (Huang et al. 2020).
GPU detrending has arrived. Omar Khan’s April 2026 UMI estimator modifies the biweight to use an above-median scale and to weight negative residuals more heavily, so dips are less likely to be fitted. A single fused kernel assigns one thread to each star–window pair and never materialises the windows. On an AMD Radeon RX 9060 XT it took 3.4 ms per star against 234 ms for Wōtan’s CPU biweight, and preprocessing throughput rose from 4.2 to 154 stars per second (Khan 2026).
The depth-fidelity results are promising at planet-scale depths and vanish at the shallowest ones. The paper also reports a bias of −451 ppm on quiet stars, underestimates transits longer than about five hours with default windows, and leaves false-positive analysis for future work. Speed is established. Equal sensitivity at equal false-alarm rate is not. And because Wōtan found that the search, not the detrending, consumed most of the computing in its comparison, the end-to-end gain is bounded by Amdahl’s law: if detrending is a fraction of runtime and becomes times faster, the total gain is , only 1.25× at even with infinite (a derived estimate).
A warning about objectives comes from an October 2026 comparison of TESS correction methods. Optimising background, quaternion, PLD and CBV regressions against a CDPP-like noise proxy produced some light curves with better noise numbers that still retained scattered-light contamination, and the mission’s PDC was more robust in aggregate (Rapetti et al. 2026). A scalar noise metric is not a scientific objective. The same caution applies to anyone using TESS pixels to find moving Solar-System bodies (Chapter 23): a correction tuned for stationary stars can absorb or distort a source that crosses the aperture.
The search: a template bank over combs
Sufficient statistics
Let be the flux deficit relative to a known baseline , with covariance , and let be a unit-depth transit train with parameters . Two numbers determine the likelihood:
A transit is a dip, so a planet search constrains and uses . A fitted baseline is handled by replacing with above. For white noise with weights , and , and for non-overlapping events the statistics simply add:
This retains a common signed depth. The alternative fits a separate depth to each event and rewards collections of unrelated noise excursions (Smith et al. 2025; Seader et al. 2013). With correlated noise the cross-event terms need not vanish, so a table of single-event likelihoods is an approximation to a GP likelihood, a point the nuance authors make explicitly (Garcia et al. 2024).
Filter locally, then accumulate a signed numerator and an information along a hypothesised trajectory, and score . For a periodic transit the trajectory is a comb of times . For a slow-moving asteroid in KBMOD it is a straight line across a stack of images: each image is reduced to a PSF-weighted flux array and an information array , and the score of a trajectory is along it (Whidden et al. 2019; Chapter 17). The algebra is identical, and so are the traps: the noise normalisation must travel with the signal sum, and summing separately optimised powers asks a different question.
The analogy can be drawn literally. In a “river plot”, each row is one transit epoch and the horizontal axis is time relative to the predicted transit. A correct ephemeris makes the dips line up vertically. A wrong period tilts the line. Gravitational perturbations from another planet bend it.
BLS
BLS folds the light curve at each trial period and fits an in-transit level and an out-of-transit level. Normalise the weights to and subtract the weighted mean flux. For a trial in-transit interval let and . The fitted levels are and , and the improvement in is
(Kovács, Zucker & Mazeh 2002). For a dip , and a planet search should enforce the sign. The efficient implementation never sorts: it bins phase, keeps prefix sums, and evaluates every box in constant time.
for P in period_grid:
S[bin], W[bin] = weighted phase histograms of flux and weight at period P
form prefix sums of S and W over two copies of the phase cycle
for duration in allowed_durations(P):
for start_bin in one phase cycle:
s, r = interval sums from the prefix arrays
if coverage is valid and s < 0:
score = s*s / (r*(1-r)); keep the best
keep several distinct peaks; refine each on the original timestamps
For samples, periods, phase bins and durations this costs about in time and in memory. Enumerating all bin pairs instead costs , and sorting at every period adds , so “the complexity of BLS” depends on the implementation and the bank. Binning is a controlled approximation: too few bins dilute narrow events and too many leave sparse bins. Several peaks must be kept, because harmonics, artefacts and stronger planets can mask a weaker one.
Designing the grid
A period error makes the comb drift by about over the baseline. To keep the drift below a fraction of a duration,
The familiar Fourier spacing is far too coarse for a narrow transit: the relevant scale is smaller by the duty cycle. Because for a given star, the correct frequency step grows with frequency. Aviv Ofir derived with
where is an oversampling factor of order 2–5 (Ofir 2014). The natural uniform coordinate is , not or .
Take , , years, , and periods from 0.5 to 400 days. Then , and Ofir’s grid needs about trial frequencies. A uniform grid with the step required at the longest period, , needs about , roughly 32 times more (my calculation from the formulas above). Ofir’s own three-year example, which also optimised phase and duration sampling against a specified uniform procedure, gained a factor of about 330. Neither factor applies against an implementation that already uses a physical grid.
This is the same reasoning that sets the velocity grid in shift-and-stack, where the step is chosen so that a trajectory error drifts by less than a PSF width over the baseline, and the distance coordinate in orbit-space stacking (Chapter 20). In each case the right coordinates are those in which the template mismatch is uniform, the subject of Chapter 38. Not every code uses them. Astropy’s documented automatic period grid for BoxLeastSquares is uniform in frequency, with spacing tied to the minimum duration and the baseline, so a fair comparison must supply an explicit star-dependent grid (Astropy documentation).
The epoch grid must resolve the shortest duration, or more carefully the ingress and egress where the template changes fastest. A logarithmic duration bank controls relative shape mismatch. Boxes have an awkward property: two equal boxes shifted by overlap as , a cusp rather than the smooth quadratic that template-metric theory assumes. Exposure integration and physical ingress smooth it.
TLS: a better template
Hippke and René Heller’s Transit Least Squares (TLS) replaced the box with a limb-darkened transit profile, by default built from the median parameters of 2,346 small Kepler planets, and evaluated unbinned folded data rather than phase bins (Hippke & Heller 2019). Its strongest result is a controlled comparison. In 10,000 simulated three-year, 30-minute-cadence light curves with Earth-like signals and 110 ppm white noise per point, and an equal-sized noise-only set, at a 1% false-alarm rate BLS recovered 75.7% and TLS 93.1%, both on the same improved period grid. The empirical threshold was a signal detection efficiency (SDE) of 7, where
standardises a periodogram against itself. SDE is not a standard-normal statistic. Changing the frequency range, duration bank or normalisation changes it.
The 2019 implementation took about 10 seconds for an 80-day, 4,000-point K2 light curve on an Intel Core i7-7700K, similar to BLS, with runtime growing roughly as the square of the baseline. The TLS changelog dates version 2.0 to 5 October 2026 and reports 30–60 times faster warm searches using algebraic correlations, prefix sums, persistent workers, screening and piecewise-linear templates, with an approximate default backend reported to change SDE by at most 0.04 on hundreds of injections (TLS changelog). These are maintainer-reported results, not a peer-reviewed survey benchmark, but they mean that CPU-versus-GPU comparisons against the old TLS are now out of date.
TPS: whitening and the multiple-event statistic
Kepler’s TPS first estimates a time-dependent noise spectrum with an overcomplete wavelet decomposition (Daubechies 12-tap wavelets, with a moving robust noise estimate over about 30 times the trial duration) and whitens both data and template (Seader et al. 2013). Whitening only the data would apply the wrong matched filter. For wavelet channel with data , template , inverse noise variance and weight , the single-event numerator and information are correlations,
the single-event statistic is , and at the transit centres of a period-epoch hypothesis
The multiple-event statistic (MES) is exactly . The twelve-quarter search used 14 durations from about 1.5 to 15 hours. Each MES crossing then faced a robust depth fit and two chi-square consistency tests, which ask whether the individual events and wavelet channels agree with one common transit. These vetoes are related to the consistency tests of gravitational-wave searches (Seader et al. 2013). A crossing that survives is a threshold-crossing event (TCE), a pipeline output, not a planet. The run produced 18,406 TCEs on 11,087 stars (Tenenbaum et al. 2013).
A vetoed peak must be followed by a new search, or an artefact can hide a weaker real planet. TPS allowed up to 1,000 such iterations per star and duration. About three quarters of TCEs appeared on the first, but the longest case needed 404. For a GPU programmer this is a warning: survey wall time is set by the tail, not the mean kernel time.
What “7.1σ” means
For one fixed, correctly normalised template under Gaussian noise, , and the one-sided tail at 7.1 is (a calculation). For independent templates . Real banks are strongly correlated, so their raw template count is not , and maximisation, adaptive noise estimation, vetoes and non-Gaussian artefacts all change the calibration. Kepler chose MES > 7.1 from prelaunch studies targeting about one statistical false alarm in 600,000 target-years, roughly the nominal mission, with an expected 80% detection probability for an Earth-size planet with four transits around a twelfth-magnitude Sun-like star (Tenenbaum et al. 2013).
Even the ideal detector finds only half the signals whose expected SNR sits at threshold: gives 50% at . The real pipeline did worse. Jessie Christiansen and colleagues injected 10,341 transits into Kepler pixels and measured 25.8% recovery at an expected MES of 7.1 for FGK dwarfs (Christiansen et al. 2015). Injection at the pixel level, before every processing step, is the only way to measure that loss.
QATS: dynamic programming over timing paths
Planets in a multi-planet system tug on each other, so their transits arrive early or late: transit timing variations (TTVs), the subject of Chapter 31. A strictly periodic comb smears such a train. Joshua Carter and Eric Agol’s quasiperiodic automated transit search (QATS) allows each interval between successive transit starts to vary within bounds, , for a box of samples on uniformly indexed data (Carter & Agol 2013). With single-event deficits , maximising the likelihood for transits means maximising , and instead of enumerating exponentially many paths it keeps
then traces back from the best final value. The cost for fixed and is . A sliding-window maximum can reduce the predecessor search where the intervals stay contiguous.
This is the dynamic-programming track-before-detect used for dim moving targets in radar and infrared surveillance (Chapter 37), with transit times in place of positions and bounded period changes in place of bounded accelerations. For Kepler-36c, the SNR rose from 82 for an exactly repeating integer-cadence interval to 127 and 133 when the interval was allowed to vary by one and two cadences, and for the weaker Kepler-36b from 10 to 13 to 17. The flexibility has a price that radar engineers also know: more allowed paths raise the noise maximum, so QATS’s SNR cannot inherit Kepler’s 7.1 threshold and must be calibrated by simulation.
Fast folding
The fast-folding algorithm, long used in pulsar searches (Chapter 36), shares partial sums across nearby trial periods. Arrange regularly sampled data in short rows. A constant-period pulse becomes a tilted track across the rows. Combine adjacent rows with alternative integer shifts, then combine pairs of those, doubling the baseline and refining the period resolution at each level. Unlike a Fourier search, it keeps a narrow pulse intact rather than spreading it across many harmonics. Shahaf, Zackay, Mazeh, Faigler and Ivashtenko’s fBLS applies BLS to the folded profiles, folding weighted flux and weight separately, and handles irregular timestamps by folding short sections on the original times first (Shahaf et al. 2022). For periods, phase bins and widths the cost is
so the often-quoted hides the bin and width factors. Against Astropy BLS on identical grids it was 10–20 times faster for – points and about 100 times faster at . A search of 74,510 Kepler stars over periods of 0.2–1.0 days, with about 250,000 trial frequencies and 80 phase bins, produced three new candidates. The recursion is the same idea as the tree dedispersion of radio astronomy and the grid trees of moving-object stacking (Chapter 21): reuse partial sums over a structured family of trajectories, and carry the information along with the signal.
GPUs: CETRA, nuance and umbra
John Hoffman’s cuvarbase was an early CUDA BLS with physically restricted durations, frequency steps proportional to and a fast shared-memory mode (cuvarbase). Kaitlyn Wang and colleagues’ GPFC folds at 100,000 periods and classifies the folded profiles with a CNN, at about 6 seconds per 65,536-point curve, against 1.05 seconds for cuvarbase’s fast mode on a similar curve. Atomic memory operations took 3.66 of its roughly 5 folding seconds (Wang et al. 2024).
Leigh Smith and colleagues’ CETRA (2025) implements the sufficient-statistics architecture directly. It resamples onto a regular time grid with empty cells given zero weight, computes for every epoch and duration a fitted depth, its variance and a likelihood improvement using a cached physical template, and then combines these along periodic combs with a common depth, reducing to the best candidate per period on the device:
prepare weighted observations and an exposure-integrated transit template
for each duration D and epoch t (GPU):
A[t, D], B[t, D] = event numerator and information
for each period P (GPU):
for each admissible epoch and duration:
A_tot, B_tot = sums of A and B at t + k*P
score = A_tot^2 / (2 B_tot), with the transit sign enforced
reduce to the best candidate for P
copy the periodogram; refine peaks on the original data
(This is the sufficient-statistics form for known baseline and diagonal noise, not a verbatim listing.) On one A100 the event stage is cheap. The periodic stage is not:
On TESS 20-second data for HD 101581, CETRA took 2.6 seconds on an RTX A5000 against roughly four minutes for TLS on six CPU cores. In a synthetic test with 20,000 curves it recovered more periods than TLS at the highest noise level (3,290 against 2,713), but recovery allowed harmonics and false alarms were not matched (Smith et al. 2025).
Two codes attack model mismatch rather than speed. Lionel Garcia and colleagues’ nuance fits transit and systematics with a GP covariance in JAX, solving for depth analytically, and is aimed at active stars. On TOI-540 it took 5 minutes 35 seconds on twelve Apple M2 Max cores against 1 minute 49 seconds for a BLS search over fifteen filter windows, and the authors recommend using it selectively (Garcia et al. 2024). Geert Jan Talens’s umbra addresses a subtler problem: detrending changes the transit itself. For a fixed linear filter the correct residual template is , not . umbra approximates robust filters by weighted means and searches with warped least-squares templates that include the raised wings and reduced depth the filter creates (Talens et al. 2026).
The September 2026 PLATO study compared these on 2,000 simulated stars with two injected planets each:
| Search (PLATO simulations) | Combined recovery | Time per light curve | Resources |
|---|---|---|---|
| nuance | 61.2% | ~280 min | 4 CPU cores, coarser cadence and duration grid |
| CETRA, four filter windows | 61.3% | ~60 s | one H100 GPU |
| umbra, two filter windows | 61.7% | ~30 min | one CPU core |
| TLS (pre-2.0) | not quoted | ~100 min | one CPU core |
Source: Talens et al. 2026. The study did not impose a common significance threshold, so the recoveries are not at matched false-alarm rates, and the timings are on different resources. Two conclusions are robust. Several cheap filter windows competed with an expensive joint GP search. And search banks built on assumed stellar parameters can exclude real planets: extending CETRA’s duration limits raised its outer-planet recovery from 44.5% to 47.4% for one filter window. CETRA is now the default transit search in PLATO’s exoplanet analysis system.
Single transits
A planet whose period exceeds the observing window shows one transit. A single-event search scans only epoch and duration, which is cheap, but one dip has little protection against artefacts. Foreman-Mackey and colleagues filtered Kepler light curves with a running median, searched with a 0.6-day box, kept events above 25 times the local noise, and used model comparison and pixel checks to reject outliers and instrumental shapes. From about 40,000 bright Sun-like stars they found 16 long-period candidates, six of them new (Foreman-Mackey et al. 2016). For , the chance of catching a transit scales as and the geometric probability as , so the yield falls as . No algorithm can recover a transit that happened while nobody was looking. A duration gives a crossing speed, and with a stellar density and an eccentricity prior a rough period, but a second transit years later turns inference into a discrete alias problem.
The search methods compared
| Method | Template | Statistic | Main cost driver | Evidence (conditions differ) |
|---|---|---|---|---|
| BLS (2002) | box | reference baseline | ||
| TLS (2019) | limb-darkened | min , SDE | grows ~ baseline² (v1) | 93.1% vs 75.7% at 1% FAP |
| TPS (Kepler) | whitened pulse | MES | bank + veto iterations | 18,406 TCEs, 12 quarters |
| QATS (2013) | box, bounded path | per bank cell | Kepler-36b SNR 10 → 17 | |
| fBLS (2022) | box on folded profiles | BLS | 10–100× vs Astropy | |
| CETRA (2025) | physical, GPU | periodic gather | 2.6 s vs ~4 min (TLS) | |
| nuance (2024) | GP-covariance linear fit | profile likelihood | GP solves × bank | targeted at active stars |
| umbra (2026) | filter-warped | WLS | windows × bank | 61.7% (PLATO sims) |
Is it a planet? Vetting and validation
Four different products
A search produces threshold-crossing events. Vetting asks whether a TCE looks like a planet transiting the intended star, producing a planet candidate (PC). Validation asks whether the remaining alternatives are improbable enough to call the candidate a planet without measuring its mass. Confirmation adds dynamical evidence: a radial-velocity mass (Chapter 29) or interacting TTVs. These are different things, and catalogue counts must say which they count.
The main impostors are eclipsing binaries diluted by a brighter star in the same aperture, grazing binaries, and instrumental or stellar artefacts. In the ground-based era OGLE-TR-33 had a planet-like transit, apparently matching velocity variations and nearly colour-independent depth, yet Guillermo Torres and colleagues showed that a hierarchical triple star reproduced everything: the blend distorted the spectral lines and faked a velocity shift (Morton 2012 recounts the case). Absence of a failed diagnostic is not evidence that every alternative is excluded.
Diagnostics
Dilution. If the host contributes a fraction of the aperture flux, the observed depth is , so . A shallow dip on a bright target can be a deep eclipse on a faint neighbour. TRICERATOPS computes for every nearby star and rejects hosts that would need an intrinsic depth above one (Giacalone et al. 2021).
Odd/even and secondary eclipses. A binary folded at half its true period shows alternating depths:
A secondary eclipse is a binary signature, but a hot giant planet can also show one, so good vetters keep that exception (Thompson et al. 2018).
Where did the light go? In a fixed scene the in-transit photocentre moves by
where is the out-of-transit photocentre and the position of the dimming source (a direct derivation). The shift is tiny for small depths and vanishes when the source sits at the photocentre, so a missing centroid shift does not prove the target is the host. A difference image, out-of-transit minus in-transit, instead shows the point-spread function of the light that was lost, and fitting it locates the source (Kostov et al. 2019). This is difference imaging (Chapter 10) applied to a dimming rather than a brightening. For Kepler-90 i, a 90-ppm transit, photocentre uncertainties were about 0.1 milliarcseconds (Shallue & Vanderburg 2018).
Robovetter and measured reliability
Kepler’s DR25 Robovetter, built by Susan Thompson, Jeffrey Coughlin and colleagues, is a documented expert system (Thompson et al. 2018). It evaluates two detrendings. It tests transit shape with a low-dimensional projection of the folded light curve. It checks uniqueness, comparing the primary dip with the next strongest dips and brightenings at the same period. It runs individual-event checks for coverage, artefact shape, isolation of the single-event peak and clustering of events across stars on the same detector region. It applies binary tests (secondary eclipses, odd/even, V shapes) and localisation and ephemeris-matching tests. A disposition score, the fraction of 10,000 metric perturbations under which the rules still say PC, measures robustness of the rules, not a planet probability.
DR25’s decisive step was to run the same code on simulated false alarms made by inverting light curves and by scrambling the order of observing quarters, which destroys real transit trains while keeping much of the noise. If a fraction of simulated false alarms is correctly rejected, observed TCEs are rejected and survive in a comparable region, the false-alarm reliability is
When false alarms vastly outnumber planets, a tiny leakage fraction dominates. Below 100 days DR25 reported vetting completeness above 85% and reliability above 98%. For FGK dwarfs at 200–500 days and MES below 10, completeness was 76.7%, rejection effectiveness 98.9%, and reliability only 50.3% (the abstract gives 50.5%). From 32,534 observed TCEs the catalogue produced 8,054 objects of interest and 4,034 PCs (Thompson et al. 2018). Reliability changes science, not just target lists. In one narrowly defined box near the Earth’s period and radius around GK dwarfs, Steve Bryson and colleagues found an occurrence of planets per star with reliability correction and without, more than a factor of two (Bryson et al. 2020).
Learned vetters
Christopher Shallue, a Google software engineer, and the astronomer Andrew Vanderburg trained a convolutional network, AstroNet, on 15,737 labelled Kepler TCEs (3,600 PCs, 9,596 astrophysical false positives and 2,541 non-transiting phenomena) using two folded views of each light curve: a global view of 2,001 bins and a local view of 201 bins around the transit. They then searched 670 known multi-planet stars after removing the known transits, with a deliberately low BLS threshold of 5. The search gave 513 new TCEs. The network scored 30 above 0.5 and nine above 0.8. After astrophysical checks and validation, two became planets: Kepler-80 g, about 250 ppm deep, and Kepler-90 i, about 90 ppm deep, the eighth planet of Kepler-90 (Shallue & Vanderburg 2018). The discovery was a cascade, permissive search, learned ranking, human examination and explicit validation, not a network announcing planets.
AstroNet’s often quoted 0.988 is an area under the ROC curve: the probability that a random labelled PC outranks a random false positive. It is not the probability that a newly flagged signal is a planet. That depends on prevalence. For a classifier with true-positive rate and false-positive rate , applied where a fraction of signals are planets,
With , and , typical of a permissive search flooded with noise, precision is (an illustrative calculation): half the “planets” are false. The TESS adaptation of AstroNet shows the effect directly: a triage mode that accepts any eclipse-like signal had average precision 0.970, while a planet-vetting mode had 0.693 despite higher accuracy, because true planets are scarce (Yu et al. 2019).
Hamed Valizadegan and the NASA Ames team’s ExoMiner feeds a network the diagnostics an expert would use: full-orbit and transit views, centroid motion, odd/even and secondary-eclipse views and scalar statistics. Splitting cross-validation by star, it reached recall 0.936 at precision 0.99 on out-of-fold predictions. Applied to 1,922 unlabelled KOIs it scored 368 above 0.99, 47 of them already validated; after excluding 20 with MES below 10.5 it validated 301 new planets (Valizadegan et al. 2022). The MES cut is the honest part: a 0.99 score near threshold does not validate a planet. ExoMiner++ adds TESS difference images, unfolded individual events, periodograms and spacecraft momentum-dump flags, and was trained on four V100 GPUs at about 80 seconds per epoch (Valizadegan et al. 2025). Its catalogue illustrates how numbers shrink along a selection chain, and how units change:
The 2026 RAVEN survey by Marina Lafarga, David Armstrong and colleagues searched more than 2.2 million Gaia-characterised stars in TESS full-frame photometry over periods of 0.5–16 days and reported 118 newly validated planets, 31 of them newly detected. Its classifiers are trained on physical simulations injected into real light curves and passed through search recovery, and its final score is the minimum of prior-weighted planet-versus-scenario probabilities. Refitting each candidate removed 77 of 220 that would have qualified on initial scores alone (Lafarga et al. 2026): small changes in ephemeris moved validation scores materially.
Statistical validation
Validation compares explicit hypotheses (planet on the target, eclipsing binary on the target, planet or binary on a bound companion, on a background star, on a resolved neighbour) by their evidences and priors,
and reports a false-positive probability over an accepted planetary set . The definition of differs between packages. In TRICERATOPS a planet around an unresolved different star counts as a false positive, while Morton’s 2016 VESPA catalogue did not count blended planets as false positives (Giacalone et al. 2021; Morton et al. 2016). An astrophysical FPP is also conditional on the signal being astrophysical: it says nothing about instrumental false alarms, which the reliability measurement above addresses.
The method grew from forensic case studies. Torres, François Fressin, Natalie Batalha and colleagues’ BLENDER fitted physical blend light curves for Kepler-9 and validated Kepler-9 d, on a 1.59-day orbit, without a mass (Torres et al. 2011). Timothy Morton’s VESPA compressed each transit into a trapezoid (depth, duration, and ratio of duration to ingress) and compared it with simulated populations of binaries, triples and background stars. In 2016 it validated 1,284 Kepler planets at FPP below 1% and identified 428 likely false positives, at about 30 minutes per object on one core (Morton et al. 2016). Its README now recommends retiring it in favour of TRICERATOPS (Morton, Giacalone & Bryson 2023). Rodrigo Díaz and colleagues’ PASTIS compared full physical models with posterior sampling and found that the light curve alone strongly favoured the right hypothesis only above transit SNR of about 50 in their tests (Díaz et al. 2014). Jack Lissauer and colleagues added a population argument: false positives scattered among stars cannot explain how often Kepler stars host several candidates, so multi-candidate systems are mostly real (Lissauer et al. 2014).
Steven Giacalone and Courtney Dressing’s TRICERATOPS handles a TESS target’s neighbourhood explicitly. It computes each nearby star’s flux in the actual aperture, then evaluates 15 target scenarios plus three per viable neighbour by averaging likelihoods over prior draws per scenario (Monte Carlo integration, not a Markov chain), with contrast curves from high-resolution imaging as constraints on unresolved companions. It runs in about five minutes on a two-core laptop. Tests on 68 known TOIs set validation at FPP < 0.015 and NFPP (nearby false-positive probability) < , and of 384 unclassified TOIs it validated 12 (Giacalone et al. 2021). TRICERATOPS+ adds multi-colour light curves: TOI-6000 b moved from FPP 0.071 to 0.0078 with a -band transit, while TOI-4094.01 went from 0.005 to 0.031 and lost validation because of possible chromaticity (Gomez Barrientos et al. 2025). New data can lower confidence.
The marginal value of follow-up imaging has now been measured:
Of 68 validated planets with contrast curves, 49 lose validation without them, and every planet below 1.7 Earth radii does (Collier et al. 2026). The probability that returns is mostly from unresolved bound companions. Small-planet validation is limited by telescope time for high-resolution imaging, not by computation.
Many eyes
Planet Hunters began on 16 December 2010, and Planet Hunters TESS on 6 December 2018. Volunteers mark transits by eye, their markings are weighted by performance on injected signals and clustered in time, and the top 500 candidates per sector go to the science team. The first two years produced 12,617,038 classifications and 90 promising new candidates, 73 of them single transits (Eisner et al. 2021). Human inspection is a complementary selection function that is strong exactly where periodic searches are weak, but it is hard to calibrate. Chapter 28 tells that story.
From catalogue to population
A catalogue’s selection probability factorises as
for planet parameters and star . Each factor must be measured by injection through the real pipeline: search completeness by pixel-level injections, vetting completeness by the injections that became TCEs, and reliability by simulated false alarms whose types and frequencies match the real ones (Bryson et al. 2020). This is the survey forward-modelling that Solar-System population studies use (Chapter 16). A list of validated planets adds selection on brightness, imaging and follow-up, and is a poor substitute.
Landmark results
| Year | Work | Achievement | Key number |
|---|---|---|---|
| 1999 | Charbonneau et al. | First transit (HD 209458), ephemeris-guided | Two events; |
| 2002 | Kovács, Zucker & Mazeh | BLS | Effective SNR ~6 useful in simulations |
| 2005 | TFA; SysRem | Ensemble detrending | TFA recovery 0.45 → 0.87 at |
| 2006 | Pont, Zucker & Queloz | Red-noise penalty | OGLE red noise 3.6 / 3.1 mmag |
| 2007 | Bakos et al. | HAT-P-1b revealed by TFA | d |
| 2011 | Torres et al. | BLENDER validates Kepler-9 d | without a mass |
| 2013 | Tenenbaum et al. | Kepler 12-quarter TPS | 192,313 stars, 18,406 TCEs |
| 2013 | Carter & Agol | QATS | Kepler-36b SNR 10 → 17 |
| 2014 | Ofir | Physical period grid | spacing, ~330× in one example |
| 2014 | Vanderburg & Johnson | K2 self-flat-fielding | 2–5× precision recovery |
| 2015 | Christiansen et al. | Pixel-injection efficiency | 25.8% at expected MES 7.1 |
| 2016 | Morton et al. | VESPA catalogue | 1,284 new validations |
| 2018 | Thompson et al. | DR25 with measured reliability | 4,034 PCs; 50.3% reliability, long-period low MES |
| 2018 | Shallue & Vanderburg | AstroNet | Kepler-90 i, Kepler-80 g |
| 2019 | Hippke & Heller | TLS | 93.1% vs 75.7% at 1% FAP |
| 2021 | Giacalone et al. | TRICERATOPS | 12 of 384 TOIs validated |
| 2022 | Valizadegan et al. | ExoMiner | 301 new validations |
| 2022 | Shahaf et al. | fBLS | 10–100× vs Astropy BLS |
| 2025 | Smith et al. | CETRA on GPU | 2.6 s vs ~4 min (TLS, 6 cores) |
| 2026 | Lafarga et al. | RAVEN | 118 newly validated planets |
| 2026 | Talens et al. | PLATO search comparison | 61.2–61.7% recovery, false alarms unmatched |
| 2026 | Collier et al. | Imaging dependence of validation | 49 of 68 lose validation without imaging |
Transits are by far the most productive discovery method: 4,785 of the 6,451 confirmed planets in the NASA Exoplanet Archive as of October 2026, with peaks in 2014 and 2016, the years of the large Kepler statistical validations (Lissauer et al. 2014; Morton et al. 2016). Chapter 35 gives the census.
Limits and open problems
The null hypothesis is the hard part. Data gaps, focus changes, thermal recoveries, pointing jitter, spots and flares produce structured features. A filter optimised against Gaussian noise can be very powerful against the wrong null. Inverted and scrambled light curves are the best available controls, but inversion changes asymmetric artefacts and scrambling changes time correlations, and a vetter trained on them can learn the simulator.
Every choice is a trial. Several detrending windows, several apertures, several pipelines: each increases the effective number of tests. The PLATO comparison showed that more windows recover more planets. Whether they also admit more false alarms at a matched rate has not been measured.
Physical priors can exclude real planets. A wrong stellar density, an evolved host, a high impact parameter or an eccentric orbit can push a real duration outside the bank. The PLATO study’s duration fix is a concrete example.
Strict periodicity fails. TTVs smear trains, and QATS pays for its flexibility with a higher noise maximum. Circumbinary planets need still more specialised geometry (Chapter 31).
Aliases and gaps. Half and double periods can be strong maxima, and a transit in a gap changes the relative likelihood of aliases. Benchmarks that accept harmonics, or a percentage period tolerance over a long baseline, are weaker than they look; drift relative to duration is the meaningful measure.
Counts conflate stages. TCEs, KOIs, TOIs, candidates, validated and confirmed planets are different. ExoMiner++‘s 7,330 candidate TCEs are not 7,330 planets, and the same planet can appear in many sectors.
There is no common benchmark. No published comparison runs current BLS, TLS 2.0, fBLS, cuvarbase, CETRA, nuance and umbra on one realistic dataset with common coverage, matched false alarms and fully accounted hardware. Published timings are workload-specific and cannot be multiplied into a combined speedup.
Where the room is
The first lesson of recent work is that the easy acceleration has been taken. GPU search exists (CETRA, cuvarbase), fast folding exists (fBLS), fused GPU detrending exists (UMI), physical grids exist (Ofir), and TLS 2.0 has rewritten the CPU baseline. A new method must beat those, on the same hardware, at the same completeness and false-alarm rate. Within that constraint there is still real room.
CETRA’s own benchmark shows the next bottleneck: on a two-year baseline the periodic stage took about 178 seconds while the event stage took 0.17. The periodic stage is a sum of and arrays along combs, for every duration channel. fBLS shows that such sums can be shared across nearby periods by a recursive fold. Combining the two, fast-folding the signed numerator and information arrays from a shaped event filter across duration channels and refining survivors on the original timestamps, is a natural next algorithm. Its interpolation and staircase error must be bounded against ingress and the true timestamps, and masks, heteroscedastic noise and any covariance approximation must enter the denominator. The target is fewer bytes moved per tested template, since the gather is memory-bound. No order-of-magnitude gain over CETRA on the same GPU has yet been demonstrated. This is the same tree idea that dedispersion and moving-object stacking use (Chapter 21, Chapter 39).
Hierarchical banks with honest bounds. A coarse bank can nominate candidates for exact refinement, but marginal planets do not always make prominent coarse peaks. Coarse spacing should come from normalised template overlap, with the worst-case SNR loss quantified and recovery calibrated for signals between nodes. Safe pruning could use bounds on the best fine-bank correlation inside each coarse cell. Stopping after a fixed fraction of transits is dangerous for long-period planets with few events. A hierarchy that accelerates the common short-period case and keeps an exhaustive protected path for sparse-event candidates is plausible, and its total cost must include that path (Chapter 38).
GPU organisation and precision. The useful operations are histograms, prefix sums, short template correlations, regular comb gathers, reductions and recursive shifted additions. Neighbouring hypotheses share data that can live in on-chip memory, and stars with common timestamps can be batched with separate masks. GPFC’s profile, dominated by atomic operations, shows that memory organisation is a concrete target. Tensor cores fit dense batches of template products or low-rank shape bases (limb darkening and impact parameter), but folding is an indexed reduction, and forcing it into a dense matrix product can increase work. Centre timestamps and subtract the flux baseline before reducing precision. CETRA stores flux deficits for exactly this reason (Chapter 40).
Spend saved compute on sensitivity. The PLATO result points to the best use of a faster detector: more filter windows, warped templates (umbra’s WLS inside CETRA is an obvious combination), broader duration banks, proper exposure integration, and many more injection trials, with the null experiment expanded to match.
Cache nuisance-projected event statistics. For diagonal noise and box events, cumulative sums of the target and of each regressor over event intervals, plus one small factorisation, give every event’s nuisance-adjusted numerator and information. Ketu’s event tables and EVEREST’s cached Gram matrices are precedents. Low-rank trends plus a celerite covariance, handled with Woodbury identities, may gain more than moving a dense Cholesky to a GPU.
Batch the validation integrals. TRICERATOPS evaluates prior draws per candidate, an embarrassingly parallel workload of geometry, dilution and likelihood reductions. Fused GPU batches with log-sum-exp accumulation are straightforward. Adaptive importance sampling that spends draws where the decision is uncertain is more valuable, provided it preserves the original prior measure and tracks the evidence error: missing a rare high-likelihood blend lowers the FPP falsely. Stellar populations, PRF throughputs and contrast-curve lookups can be cached per star across sectors and candidates.
Choose follow-up by information. The imaging-removal and multi-colour results give an empirical basis for deciding whether a bluer filter, a sharper image or a spectrum will best separate the remaining hypotheses per hour of telescope time. For small planets this, not computation, is the binding constraint.
What a real gain would look like. Freeze original observations, an injected population, the period and duration domain, the template family and the event-count rules. Report completeness against depth, period and stellar variability at matched false alarms per star; include detrending, transfers, compilation, refinement and vetoes in wall time; report GPU-hours and CPU core-hours separately with device models and software versions. A tenfold claim means tenfold lower cost on that curve.
The physical limits are photon statistics, transit probability, the observing window, exposure smearing, and the degeneracy between a single transit’s duration, geometry and eccentricity. Stochastic stellar variability on transit timescales carries genuine competing information. The engineering limits are duplicate folds, oversampled grids, unnecessary sorting, host–device traffic, poorly batched reductions and serial human triage. Algorithms can remove the second set. They cannot observe a transit that fell in a gap, and they cannot separate two hypotheses that the data do not distinguish. Chapter 42 collects these limits across the book.
References
- Charbonneau, D., Brown, T. M., Latham, D. W. & Mayor, M. (2000). Detection of planetary transits across a Sun-like star. ApJL. arXiv:astro-ph/9911436
- Kovács, G., Zucker, S. & Mazeh, T. (2002). A box-fitting algorithm in the search for periodic transits. A&A 391, 369. arXiv:astro-ph/0206099
- Mandel, K. & Agol, E. (2002). Analytic light curves for planetary transit searches. ApJL. arXiv:astro-ph/0210099
- Bakos, G., Noyes, R. W., Kovács, G., Stanek, K. Z., Sasselov, D. D. et al. (2004). Wide-field millimagnitude photometry with the HAT: a tool for extrasolar planet detection. PASP. arXiv:astro-ph/0401219
- Kovács, G., Bakos, G. & Noyes, R. W. (2005). A trend filtering algorithm for wide-field variability surveys. MNRAS. arXiv:astro-ph/0411724
- Tamuz, O., Mazeh, T. & Zucker, S. (2005). Correcting systematic effects in a large set of photometric light curves. MNRAS. arXiv:astro-ph/0502056
- Pollacco, D. L., Skillen, I., Collier Cameron, A. et al. (2006). The WASP project and the SuperWASP cameras. PASP. arXiv:astro-ph/0608454
- Pont, F., Zucker, S. & Queloz, D. (2006). The effect of red noise on planetary transit detection. MNRAS 373, 231. arXiv:astro-ph/0608597
- Bakos, G. Á., Noyes, R. W., Kovács, G. et al. (2007). HAT-P-1b: a large-radius, low-density exoplanet transiting one member of a stellar binary. ApJ. arXiv:astro-ph/0609369
- Pepper, J., Pogge, R. W., DePoy, D. L. et al. (2007). The Kilodegree Extremely Little Telescope (KELT). PASP. arXiv:0704.0460
- Jenkins, J. M. et al. (2010). Overview of the Kepler science processing pipeline. ApJL 713, L87. arXiv:1001.0258
- Torres, G., Fressin, F., Batalha, N. M. et al. (2011). Modeling Kepler transit light curves as false positives: rejection of blend scenarios for Kepler-9, and validation of Kepler-9 d. ApJ 727, 24. arXiv:1008.4393
- Gilliland, R. L., Chaplin, W. J., Dunham, E. W. et al. (2011). Kepler mission stellar and instrument noise properties. ApJS. arXiv:1107.5207
- Morton, T. D. (2012). An efficient automated validation procedure for exoplanet transit candidates. ApJ 761, 6. arXiv:1206.1568
- Stumpe, M. C., Smith, J. C., Van Cleve, J. E. et al. (2012). Kepler presearch data conditioning I: architecture and algorithms for error correction in Kepler light curves. PASP. arXiv:1203.1382
- Smith, J. C., Stumpe, M. C., Van Cleve, J. E. et al. (2012). Kepler presearch data conditioning II: a Bayesian approach to systematic error correction. PASP. arXiv:1203.1383
- Christiansen, J. L., Jenkins, J. M., Barclay, T. S. et al. (2012). The derivation, properties and value of Kepler's combined differential photometric precision. PASP. arXiv:1208.0595
- Siverd, R. J., Beatty, T. G., Pepper, J. et al. (2012). KELT-1b: a strongly irradiated, highly inflated, short period, 27 Jupiter-mass companion transiting a mid-F star. ApJ. arXiv:1206.1635
- Tenenbaum, P. et al. (2013). Detection of potential transit signals in the first twelve quarters of Kepler mission data. ApJS. arXiv:1212.2915
- Seader, S., Tenenbaum, P., Jenkins, J. M. & Burke, C. J. (2013). Chi-square discriminators for transiting planet detection in Kepler data. ApJS. arXiv:1302.7029
- Carter, J. A. & Agol, E. (2013). The quasiperiodic automated transit search algorithm. ApJ 765, 132. arXiv:1210.5136
- Ofir, A. (2014). Optimizing the search for transiting planets in long time series. A&A 561, A138. arXiv:1307.7330
- Díaz, R. F., Almenara, J. M., Santerne, A. et al. (2014). PASTIS: Bayesian extrasolar planet validation I. MNRAS 441, 983. arXiv:1403.6725
- Lissauer, J. J., Marcy, G. W., Bryson, S. T. et al. (2014). Validation of Kepler's multiple planet candidates II: refined statistical framework. ApJ 784, 44. arXiv:1402.6352
- Vanderburg, A. & Johnson, J. A. (2014). A technique for extracting highly precise photometry for the two-wheeled Kepler mission. PASP. arXiv:1408.3853
- Deming, D., Knutson, H., Kammer, J. et al. (2015). Spitzer secondary eclipses of the dense, modestly-irradiated, giant exoplanet HAT-P-20b using pixel-level decorrelation. ApJ. arXiv:1411.7404
- Foreman-Mackey, D., Montet, B. T., Hogg, D. W., Morton, T. D., Wang, D. & Schölkopf, B. (2015). A systematic search for transiting planets in the K2 data. ApJ. arXiv:1502.04715
- Christiansen, J. L. et al. (2015). Measuring transit signal recovery in the Kepler pipeline II: detection efficiency as calculated in one year of data. ApJ. arXiv:1507.05097
- Aigrain, S., Parviainen, H. & Pope, B. (2016). K2SC: flexible systematics correction and detrending of K2 light curves using Gaussian process regression. MNRAS. arXiv:1603.09167
- Luger, R., Agol, E., Kruse, E. et al. (2016). EVEREST: pixel level decorrelation of K2 light curves. AJ. arXiv:1607.00524
- Morton, T. D., Bryson, S. T., Coughlin, J. L. et al. (2016). False positive probabilities for all Kepler objects of interest: 1284 newly validated planets and 428 likely false positives. ApJ 822, 86. arXiv:1605.02825
- Foreman-Mackey, D., Morton, T. D., Hogg, D. W., Agol, E. & Schölkopf, B. (2016). The population of long-period transiting exoplanets. AJ 152, 206. arXiv:1607.08237
- Foreman-Mackey, D., Agol, E., Ambikasaran, S. & Angus, R. (2017). Fast and scalable Gaussian process modeling with applications to astronomical time series. AJ. arXiv:1703.09710
- Luger, R., Kruse, E., Foreman-Mackey, D., Agol, E. & Saunders, N. (2018). An update to the EVEREST K2 pipeline. AJ. arXiv:1702.05488
- Thompson, S. E., Coughlin, J. L., Hoffman, K. et al. (2018). Planetary candidates observed by Kepler VIII: a fully automated catalog with measured completeness and reliability based on Data Release 25. ApJS 235, 38. arXiv:1710.06758
- Shallue, C. J. & Vanderburg, A. (2018). Identifying exoplanets with deep learning: a five-planet resonant chain around Kepler-80 and an eighth planet around Kepler-90. AJ 155, 94. arXiv:1712.05044
- Wheatley, P. J., West, R. G., Goad, M. R. et al. (2018). The Next Generation Transit Survey (NGTS). MNRAS. arXiv:1710.11100
- Bayliss, D., Gillen, E., Eigmüller, P. et al. (2018). NGTS-1b: a hot Jupiter transiting an M-dwarf. MNRAS. arXiv:1710.11099
- Hippke, M. & Heller, R. (2019). Optimized transit detection algorithm to search for periodic transits of small planets. A&A 623, A39. arXiv:1901.02015
- Hippke, M., David, T. J., Mulders, G. D. & Heller, R. (2019). Wōtan: comprehensive time-series detrending in Python. AJ. arXiv:1906.00966
- Whidden, P. J., Kalmbach, J. B., Connolly, A. J. et al. (2019). Fast algorithms for slow moving asteroids: constraints on the distribution of Kuiper Belt objects. AJ. arXiv:1901.02492
- Kostov, V. B., Mullally, S. E., Quintana, E. V. et al. (2019). Discovery and vetting of exoplanets I: benchmarking K2 vetting tools. AJ 157, 124. arXiv:1901.07459
- Yu, L., Vanderburg, A., Huang, C. et al. (2019). Identifying exoplanets with deep learning III: automated triage and vetting of TESS candidates. AJ 158, 25. arXiv:1904.02726
- Bryson, S., Coughlin, J., Batalha, N. M. et al. (2020). A probabilistic approach to Kepler completeness and reliability for exoplanet occurrence rates. AJ 159, 279. arXiv:1906.03575
- Huang, C. X., Vanderburg, A., Pál, A. et al. (2020). Photometry of 10 million stars from the first two years of TESS full frame images. RNAAS 4, 204. arXiv:2011.06459
- Jenkins, J. M. (ed.) and Kepler Science Operations Center (2020). Kepler Data Processing Handbook, KSCI-19081-003. NASA Ames. archive.stsci.edu
- Eisner, N. L., Barragán, O., Lintott, C. et al. (2021). Planet Hunters TESS II: findings from the first two years of TESS. MNRAS 501, 4669. arXiv:2011.13944
- Giacalone, S., Dressing, C. D., Jensen, E. L. N. et al. (2021). Vetting of 384 TESS objects of interest with TRICERATOPS and statistical validation of 12 planet candidates. AJ 161, 24. arXiv:2002.00691
- Valizadegan, H., Martinho, M. J. S., Wilkens, L. S. et al. (2022). ExoMiner: a highly accurate and explainable deep learning classifier that validates 301 new exoplanets. ApJ 926. arXiv:2111.10009
- Shahaf, S., Zackay, B., Mazeh, T., Faigler, S. & Ivashtenko, O. (2022). fBLS: a fast-folding BLS algorithm. MNRAS 513, 2732. arXiv:2204.02398
- Morton, T. D., Giacalone, S. & Bryson, S. (2023). A recommendation to retire VESPA for exoplanet validation. RNAAS 7, 107. doi:10.3847/2515-5172/acd9a6
- Wang, K. et al. (2024). The GPU phase folding and deep learning method for detecting exoplanet transits. MNRAS. arXiv:2312.02063
- Garcia, L. J., Foreman-Mackey, D., Murray, C. A., Aigrain, S., Feliz, D. L. & Pozuelos, F. J. (2024). nuance: efficient detection of planets transiting active stars. AJ 167, 284. arXiv:2402.06835
- Smith, L. C. et al. (2025). CETRA: a fast, sensitive exoplanet transit detection algorithm implemented for GPUs. MNRAS. arXiv:2503.20875
- Valizadegan, H., Martinho, M. J. S., Jenkins, J. M. et al. (2025). ExoMiner++: enhanced transit classification and a new vetting catalog for 2-minute TESS data. AJ 170, 287. arXiv:2502.09790
- Gomez Barrientos, J., Greklek-McKeon, M., Knutson, H. A. et al. (2025). Validation of TESS planet candidates with multi-color transit photometry and TRICERATOPS+. AJ 170, 148. arXiv:2508.02782
- Lafarga, M., Armstrong, D. J., Cui, K. et al. (2026). Automatic search for transiting planets in TESS-SPOC FFIs with RAVEN: over 100 newly validated planets and over 2000 vetted candidates. MNRAS 548. arXiv:2603.22597
- Cabrera, J., Rauer, H., Samadi, R. et al. (2026). Assessment of PLATO science performance. arXiv:2604.04818
- Khan, O. (2026). UMI: GPU-accelerated asymmetric robust estimator for photometric detrending in exoplanet transit searches. arXiv:2604.06602
- Collier, M., Giacalone, S., Derfer, B. et al. (2026). Assessing the impact of high-resolution imaging on statistical validation of TESS planet candidates. Accepted, AAS journals. arXiv:2608.21560
- Talens, G. J., Smith, L. C., Malavolta, L., Garcia, L. J., Hodgkin, S. & Aigrain, S. (2026). Detecting transiting exoplanets in simulated PLATO data: a comparison of light curve filter and transit search algorithms. A&A, accepted. arXiv:2609.15493
- Rapetti, D., Jenkins, J., Twicken, J., Caldwell, D. & Smith, J. (2026). Comparing optimized systematic error correction methods on selected TESS light curves. arXiv:2610.01040
- Hoffman, J. cuvarbase: GPU-accelerated time-series tools, repository and BLS documentation. github.com/johnh2o2/cuvarbase
- Astropy Collaboration. BoxLeastSquares API documentation, accessed 2026-10-16. docs.astropy.org
- Hippke, M. et al. Transit Least Squares changelog, version 2.0 (5 October 2026). transitleastsquares.readthedocs.io
- European Space Agency (2026). Plato mission overview, accessed 2026-10-16. esa.int