What a Transit Light Curve Measures
A transit happens when a planet passes in front of its star as seen from our line of sight. During the transit, the star’s observed brightness drops by a small fraction because the planet blocks part of the stellar disk. A transit light curve is a time series of relative flux (or relative brightness) that shows this dip. The key point for radius estimation is that the depth of the dip is primarily a geometric area ratio: the planet’s silhouette compared to the star’s visible disk.
In the simplest case (small planet, uniform stellar surface brightness, no contaminating light), the transit depth is approximately:
δ ≈ (Rp / R★)^2where δ is the fractional drop in flux, Rp is the planet radius, and R★ is the stellar radius. This is why transits are a radius method: they directly constrain Rp relative to the star. To turn that into an absolute radius in kilometers or Earth radii, you need an estimate of the star’s radius from stellar characterization (e.g., spectroscopy + stellar models, or asteroseismology, or well-calibrated photometry). This chapter focuses on extracting Rp/R★ from real light curves and then converting it to Rp with careful attention to what “real” data does to the ideal formula.
Transit Shape: Depth, Duration, and Geometry
Real transits are not perfect box shapes. Several physical and geometric effects shape the light curve:
- Ingress and egress: the brightness does not drop instantly. The planet gradually covers the stellar disk (ingress) and later uncovers it (egress). The timescale of these slopes depends on the planet’s speed across the star and the chord length across the stellar disk.
- Impact parameter: if the planet crosses near the stellar center, the transit is deeper and longer than if it grazes near the limb (edge). The impact parameter b is the sky-projected distance between the transit chord and the stellar center in units of R★. b=0 is central; b close to 1 is grazing.
- Limb darkening: stars are dimmer near the edge than at the center. Because the planet blocks different brightness levels during the transit, the bottom of the transit can be rounded, and the depth depends slightly on where the chord lies.
- Finite exposure time: instruments average flux over each cadence. Long cadence smears sharp features and can make ingress/egress appear longer and the transit shallower if not modeled correctly.
- Extra light in the aperture (dilution): light from nearby stars (or a bound companion) reduces the apparent depth, biasing Rp/R★ low if uncorrected.
Even with these complications, the depth still carries the core radius information. The practical workflow is: (1) prepare the light curve so the transit signal is isolated, (2) measure or fit the depth in a way that accounts for limb darkening and cadence, (3) convert depth to Rp/R★, and (4) propagate uncertainties and correct common biases.
Continue in our app.
You can listen to the audiobook with the screen off, receive a free certificate for this course, and also have access to 5,000 other free online courses.
Or continue reading below...Download the app
Preparing a Real Light Curve for Transit Modeling
Transit modeling assumes the out-of-transit baseline is normalized to 1. Real data often has slow trends from instrument systematics or stellar variability. You want to remove trends without distorting the transit shape.
Step 1: Identify transit windows and baseline windows
If you already know the period and approximate transit time (from a detection step done earlier), define windows around each expected transit. For each transit, choose:
- Transit window: centered on mid-transit, wide enough to include full ingress and egress plus some margin.
- Baseline windows: out-of-transit data before and after the transit window, used to estimate the local baseline.
A practical choice is to take a window of, say, ±2–3 transit durations around mid-transit, and define baseline as the outer parts excluding the central transit region. If the duration is not known, start with a conservative window (e.g., a few hours for short-period planets, longer for longer periods) and refine after a first fit.
Step 2: Detrend locally (avoid overfitting)
For radius estimation, you must preserve the transit depth. A common approach is local detrending: fit a low-order polynomial or a spline to the baseline windows only (excluding in-transit points), then divide the entire window by that baseline model.
Guidelines:
- Use the simplest baseline model that removes slow drift (often linear or quadratic over a single transit window).
- Do not fit high-frequency wiggles that could “fill in” the transit and reduce depth.
- If stellar variability is strong, consider a wider baseline window but keep the model smooth.
After detrending, the out-of-transit flux should scatter around 1 with no obvious slope.
Step 3: Handle outliers and data gaps
Cosmic rays, flares, or instrumental glitches can create outliers. Remove or downweight them, but be careful near ingress/egress where the flux legitimately changes. A robust method is sigma-clipping on the baseline only, then apply the same mask to the full window.
Step 4: Phase-fold (optional but powerful)
If multiple transits are available, you can phase-fold the light curve on the period and stack the transits to improve signal-to-noise. Phase-folding averages down random noise and reveals the transit shape more clearly. When stacking, ensure the ephemeris (period and mid-transit time) is accurate; otherwise, the transit will blur and the depth can be biased.
Estimating Radius Ratio From Transit Depth
There are two levels of sophistication: a quick depth-based estimate and a full transit model fit. The quick estimate is useful for intuition and initial guesses; the full fit is what you want for reliable Rp/R★ and uncertainties.
Quick estimate (box approximation)
If the transit is not grazing and limb darkening is modest, you can approximate the depth by comparing the average in-transit flux to the average out-of-transit flux.
Procedure:
- Normalize the local baseline so out-of-transit is ~1.
- Select a “flat bottom” region near mid-transit (avoid ingress/egress).
- Compute δ = 1 − median(flux_in_transit).
- Estimate Rp/R★ ≈ sqrt(δ).
Example: if the normalized flux at mid-transit is 0.9990, then δ = 0.0010 and Rp/R★ ≈ sqrt(0.0010) ≈ 0.0316. If the star has R★ = 1.0 R☉, then Rp ≈ 0.0316 R☉ ≈ 3.45 R⊕ (since 1 R☉ ≈ 109 R⊕).
This quick method can be biased by limb darkening, dilution, and cadence smearing, but it provides a starting point for a full fit.
Full transit model fit (recommended)
A standard transit model predicts flux as a function of time given parameters such as:
- Rp/R★ (radius ratio)
- a/R★ (scaled semi-major axis)
- inclination i or impact parameter b
- mid-transit time T0
- period P (if fitting multiple transits)
- limb darkening coefficients (often parameterized as quadratic: u1, u2)
- baseline parameters (local trend terms)
For radius estimation, Rp/R★ is the primary target, but it is correlated with other parameters, especially b and limb darkening. A fit that accounts for these correlations yields more trustworthy uncertainties.
Step-by-Step: Fitting a Transit to Get Rp/R★
Step 1: Choose your fitting strategy
Two common strategies are:
- Single-transit fit: fit one transit window with local baseline parameters. Useful when only one transit is observed or when transit timing variations exist.
- Global fit: fit all transits simultaneously with shared shape parameters (Rp/R★, a/R★, b, limb darkening) and per-transit baseline terms. This improves precision.
If you phase-folded the light curve, you can fit the folded transit, but remember that folding assumes a constant period and can hide timing variations. For radius ratio, folding is often acceptable if the ephemeris is stable.
Step 2: Set initial guesses
Good initial guesses help optimization converge:
- Rp/R★: from sqrt(depth) using the quick estimate.
- T0: time of minimum flux in the window.
- Duration: estimate from the width of the dip at half depth.
- b: start with 0.5 if unknown (not too central, not too grazing).
- a/R★: can be loosely guessed from duration and period, but it’s fine to start with a moderate value and let the fit adjust.
Limb darkening: you can either (a) fix coefficients to plausible values from stellar parameters and bandpass, or (b) fit them with informative priors. Fixing them can underestimate uncertainty in Rp/R★; fitting them freely can overfit noisy data. A practical compromise is to use priors centered on expected values with moderate width.
Step 3: Account for finite cadence (exposure integration)
If your data cadence is long compared to ingress/egress, integrate the model over each exposure time. Many transit modeling tools support “supersampling”: evaluate the model at several sub-times within each cadence and average. If you ignore integration, the model may compensate by changing Rp/R★ and b, biasing the radius ratio.
Step 4: Fit the model and inspect residuals
Use least squares for a quick fit, then (ideally) sample the posterior with an uncertainty-aware method (e.g., MCMC or nested sampling) to capture parameter correlations. Regardless of method, always inspect:
- Residuals vs time: should look like noise, not structured trends.
- Residuals around ingress/egress: systematic patterns can indicate wrong limb darkening or cadence integration issues.
- Out-of-transit baseline: should be flat after detrending or baseline modeling.
If residuals show curvature across the window, add a baseline term (linear/quadratic). If residuals show repeating patterns across many transits, consider that the star has spot modulation or the instrument has systematics not captured by your baseline model.
Step 5: Extract Rp/R★ and uncertainty
From the fitted parameters, record Rp/R★ and its credible interval (or standard error). Because Rp/R★ is often correlated with b and limb darkening, the uncertainty from a full posterior is more reliable than a simple depth error estimate.
From Rp/R★ to Planet Radius Rp
Once you have Rp/R★, convert to absolute radius using the star’s radius:
Rp = (Rp/R★) × R★Uncertainty propagation (assuming independent errors as a first approximation):
(σRp / Rp)^2 ≈ (σ(Rp/R★) / (Rp/R★))^2 + (σR★ / R★)^2In many real cases, the stellar radius uncertainty dominates. For example, if Rp/R★ is measured to 2% but R★ is known to only 5%, then Rp is limited to about √(0.02^2 + 0.05^2) ≈ 5.4% precision.
Common Real-World Biases That Affect Radius Estimates
Dilution (third light contamination)
If extra light enters the photometric aperture, the observed transit depth is smaller than the true depth. Let F★ be the target star flux and Fcontam be contaminating flux. The observed fractional depth is:
δobs = δtrue × (F★ / (F★ + Fcontam))So:
δtrue = δobs × (1 + Fcontam/F★)and Rp/R★ increases by sqrt(1 + Fcontam/F★). Even 10% contamination (Fcontam/F★ = 0.1) increases Rp/R★ by about sqrt(1.1) ≈ 1.048, a ~4.8% radius-ratio correction. If you have a catalog contamination estimate or high-resolution imaging constraints, incorporate it as a correction or as a fitted dilution parameter with a prior.
Grazing transits and impact parameter degeneracy
When b is high (near-limb transits), the transit can be V-shaped and the depth and duration become more degenerate with Rp/R★. In grazing cases, small changes in b can mimic changes in Rp/R★. A full model fit is essential, and the resulting radius ratio uncertainty may be large. If the transit is clearly grazing, treat the radius estimate as less secure unless you have strong constraints on limb darkening and stellar density (via a/R★).
Starspots and faculae
Stellar surface features change the effective brightness being blocked. Two important effects:
- Unocculted spots: if the star is dimmer overall due to spots, the transit appears deeper relative to the lowered baseline, causing Rp/R★ to be overestimated.
- Occulted spots: if the planet crosses a dark spot, you see a temporary brightening “bump” inside the transit, which can bias fits if not modeled or masked.
Practical handling: inspect individual transits for anomalies; mask spot-crossing features or include a spot model if needed. When variability is strong, consider that Rp/R★ may vary slightly between epochs due to changing spot coverage; treat this as an additional systematic uncertainty.
Limb darkening mismatch
Incorrect limb darkening can bias Rp/R★, especially for high-b transits. If the data quality supports it, fit limb darkening with priors rather than fixing it. If you must fix it, test sensitivity by repeating the fit with slightly different coefficients and seeing how Rp/R★ shifts.
Instrumental systematics and baseline choices
Over-aggressive detrending can reduce transit depth. Under-detrending can tilt the baseline and distort depth. A practical check is to repeat the analysis with different baseline window sizes and polynomial orders and verify Rp/R★ is stable within uncertainties.
Worked Practical Example (Conceptual Numbers)
Suppose you have a normalized, detrended light curve around a transit. You measure:
- Out-of-transit median flux: 1.00000
- Mid-transit median flux (excluding ingress/egress): 0.99875
Then δobs = 1 − 0.99875 = 0.00125. Quick radius ratio estimate:
Rp/R★ ≈ sqrt(0.00125) ≈ 0.03536Now assume you know there is 5% dilution (Fcontam/F★ = 0.05). Correct depth:
δtrue = 0.00125 × (1 + 0.05) = 0.0013125Corrected radius ratio:
Rp/R★ ≈ sqrt(0.0013125) ≈ 0.03623If the star radius is R★ = 0.90 R☉, then:
Rp = 0.03623 × 0.90 R☉ = 0.03261 R☉Convert to Earth radii using 1 R☉ ≈ 109 R⊕:
Rp ≈ 0.03261 × 109 R⊕ ≈ 3.55 R⊕In a full fit, you would not rely on the “flat bottom” selection; instead you would fit the entire transit shape with limb darkening and cadence integration, and optionally include dilution as a parameter. But the arithmetic above shows how the radius information flows from depth to Rp/R★ to Rp.
Quality Checks Specific to Radius Estimation
Check 1: Depth consistency across transits
Fit Rp/R★ for individual transits (or measure depth per transit) and compare. Large scatter can indicate spot effects, residual systematics, or incorrect detrending. If the scatter exceeds what you expect from noise, inflate uncertainties or model additional systematics.
Check 2: Odd-even depth test
If you have a periodic signal, compare depths of odd and even transits. Significant differences can indicate an eclipsing binary scenario (primary vs secondary eclipse) rather than a planet. While this is more about validation than radius measurement, it directly affects whether the radius estimate is meaningful.
Check 3: Physical plausibility with stellar density
Transit shape constrains a/R★, which relates to the star’s mean density for circular orbits. If your fitted a/R★ implies an implausible stellar density compared to what you know about the star, it can signal problems (eccentricity, dilution, wrong limb darkening, or baseline issues). Even if you do not fully model eccentricity, use this as a diagnostic: a wildly inconsistent density often correlates with biased Rp/R★.
Implementation Outline (Algorithmic Checklist)
Below is a practical checklist you can translate into code with your preferred tools:
- Load time and flux for the target; select a bandpass-corrected flux product if available.
- For each predicted transit time: extract a window around the transit.
- Mask in-transit region using an initial duration guess; fit baseline to out-of-transit points (linear/quadratic).
- Normalize flux by baseline model.
- Optionally phase-fold all normalized windows and bin lightly (binning should be small compared to ingress/egress).
- Define a transit model with parameters (Rp/R★, b, a/R★, T0, limb darkening, baseline terms, dilution if known/needed).
- Integrate the model over cadence (supersample) if required.
- Fit the model; then sample uncertainties to obtain credible intervals for Rp/R★.
- Apply dilution correction if not included in the fit.
- Compute Rp using stellar radius; propagate uncertainties including σR★.
- Run sensitivity tests: vary detrending choices and limb darkening priors; verify Rp/R★ stability.