Flux Calibration Mathematics¶
Status: Foundational reference Relates to: Heterogeneous stacking pipeline, photometric calibration module, Gaia cross-calibration Last derived: 2026-03-20
1. The Problem: Heterogeneous Telescopes, Common Photometry¶
OpenAstro's network consists of telescopes with different: - Apertures $D_1, D_2, \ldots$ - Pixel scales $p_1, p_2, \ldots$ (arcsec/pixel) - Filter bandpasses (or unfiltered, or clear glass) - Sensor QEs $\eta_1(\lambda), \eta_2(\lambda), \ldots$ - Atmospheric extinction conditions at different sites
Despite all this heterogeneity, the goal is to produce photometric measurements on a common standard system (e.g., SDSS griz, Johnson-Cousins VRI, or AB magnitudes) for each source, from each telescope, combinable across nights and sites.
This section derives the calibration from first principles.
2. The Instrument Equation¶
2.1 Instrumental Magnitudes¶
The raw measurement from a telescope is an ADU count in an aperture: $$C_\text{raw} = \frac{1}{G} \int_0^\infty F_\nu(\lambda) \cdot S(\lambda) \cdot \frac{\pi D^2}{4} \cdot T_\text{atm}(\lambda, X) \cdot \eta(\lambda) \cdot A(\lambda) \, d\lambda \cdot t_\text{exp}$$
where: - $F_\nu(\lambda)$ is the source spectral flux density (erg sโปยน cmโปยฒ Hzโปยน) - $S(\lambda)$ is the normalized filter bandpass transmission - $T_\text{atm}(\lambda, X) = e^{-\tau(\lambda) X}$ is atmospheric transmission at airmass $X$ - $\eta(\lambda)$ is the combined detector QE + optical throughput - $A(\lambda)$ is the aperture correction (accounts for PSF flux outside the aperture) - $G$ is the detector gain (electrons/ADU) - $t_\text{exp}$ is the exposure time
The instrumental magnitude is defined as: $$m_\text{inst} = -2.5 \log_{10}(C_\text{raw} / t_\text{exp}) + C_\text{const}$$
where $C_\text{const}$ is an arbitrary constant of the instrument (chosen so that $m_\text{inst} \approx 25$ for a typical faint star, avoiding confusion with standard magnitudes).
2.2 The Zero-Point¶
The standard magnitude of the source is related to the instrumental magnitude by:
$$m_\text{std} = m_\text{inst} + Z$$
where $Z$ is the photometric zero-point, absorbing all the telescope/atmosphere/detector properties. $Z$ has the form:
$$Z = -2.5 \log_{10}\left[\frac{\int F_{\nu,\text{ref}}(\lambda) S(\lambda) \eta(\lambda) d\lambda}{\int F_{\nu,\text{std}}(\lambda) S_\text{std}(\lambda) d\lambda}\right] + 2.5 \log_{10}\left(\frac{\pi D^2}{4} \cdot G^{-1}\right) + k X + \text{aperture correction}$$
In practice, $Z$ is empirically determined by observing photometric standard stars with known $m_\text{std}$.
2.3 Atmosphere and Extinction¶
The atmospheric extinction term: $$m_\text{above-atm} = m_\text{observed} - k \cdot X$$
where $k$ is the extinction coefficient (magnitudes per airmass) and $X = \sec z$ is the airmass. [Source: Henden & Kaitchuck (1990), Astronomical Photometry] Typical values:
| Waveband | $k$ (mag/airmass) |
|---|---|
| $U$ | 0.4โ0.6 |
| $B$ | 0.2โ0.3 |
| $V$ | 0.1โ0.2 |
| $R$ | 0.08โ0.15 |
| $I$ | 0.05โ0.10 |
Differential photometry removes this to first order: if the comparison star is at the same airmass as the target (within $\Delta X < 0.05$ for most fields), the extinction cancels. For objects separated by more than ~3ยฐ on the sky, differential extinction can introduce a color-dependent systematic: $$\Delta m_\text{ext} = k \cdot \Delta X \cdot (C_\text{target} - C_\text{comp})$$
where $C$ is the color index. For $\Delta X = 0.02$, $k = 0.15$, $C_\text{target} - C_\text{comp} = 0.5$ mag: $$\Delta m_\text{ext} = 0.15 \times 0.02 \times 0.5 = 0.0015\,\text{mag} = 1.5\,\text{mmag}$$
Small but not negligible for high-precision work.
3. The Zero-Point Offset Between Two Telescopes¶
3.1 Deriving the Zero-Point Difference from First Principles¶
For telescope 1 (aperture $D_1$, filter $S_1(\lambda)$, QE $\eta_1(\lambda)$, gain $G_1$) and telescope 2 ($D_2$, $S_2$, $\eta_2$, $G_2$), both observing the same source, the difference in their instrumental magnitudes is:
$$m_{\text{inst},1} - m_{\text{inst},2} = -2.5 \log_{10}\left(\frac{C_{1}/t_1}{C_{2}/t_2}\right)$$
$$= -2.5 \log_{10}\left(\frac{\int F_\nu S_1 \eta_1 d\lambda \cdot D_1^2 / G_1}{\int F_\nu S_2 \eta_2 d\lambda \cdot D_2^2 / G_2}\right)$$
The instrumental zero-point difference (for the same reference star with known spectrum $F_\nu^\text{ref}(\lambda)$):
$$\Delta Z_{12} = Z_1 - Z_2 = -2.5\log_{10}\left(\frac{\int F_\nu^\text{ref} S_1 \eta_1 d\lambda}{\int F_\nu^\text{ref} S_2 \eta_2 d\lambda}\right) - 5\log_{10}\left(\frac{D_1}{D_2}\right) + 2.5\log_{10}\left(\frac{G_1}{G_2}\right)$$
The first term is the bandpass/sensitivity mismatch; the second is the aperture term; the third is the gain term.
3.2 The Color Term¶
For a source with color $c = m_\text{blue} - m_\text{red}$ different from the reference star, the zero-point shifts:
$$Z(c) = Z_0 + \epsilon \cdot c$$
where $\epsilon$ is the color term, defined as: $$\epsilon = \frac{\partial (m_\text{inst} - m_\text{std})}{\partial c}$$
For a narrowband filter, $\epsilon \approx 0$. For a broadband filter (or unfiltered), $\epsilon$ can be large (0.1โ0.5 mag/mag).
Derivation: For a source with spectrum $F_\nu(\lambda) = F_0 \cdot (\lambda/\lambda_0)^{-\alpha}$, the instrumental magnitude in bandpass $S(\lambda)$ is: $$m_\text{inst} \propto -2.5\log_{10}\int F_0 (\lambda/\lambda_0)^{-\alpha} S(\lambda) \eta(\lambda) d\lambda$$
Expanding around $\alpha = 0$ (flat spectrum): $$m_\text{inst} \approx m_0 - 2.5 \cdot \frac{\int (-\ln(\lambda/\lambda_0)) S \eta d\lambda}{\int S \eta d\lambda} \cdot \alpha \cdot \log_{10}(e)$$
The color term coefficient is proportional to the effective wavelength displacement between the telescope's effective bandpass and the standard system's bandpass. If telescope 1 has a redder effective wavelength than the standard, it will over-estimate fluxes of red stars.
3.3 Practical Color Coefficient Estimation¶
For a set of calibration stars with known colors $c_k$ and standard magnitudes $m_{\text{std},k}$:
$$m_{\text{std},k} = m_{\text{inst},k} + Z_0 + \epsilon \cdot c_k$$
This is a linear regression in $(m_{\text{inst},k}, c_k) \to m_{\text{std},k}$ with free parameters $Z_0$ and $\epsilon$.
Minimum number of calibration stars: 2 (to fit 2 free parameters). In practice, need $\geq 10$ stars spanning a range of colors ($\Delta c > 1$ mag) for a robust fit.
For an unfiltered telescope with a CMOS sensor: $\epsilon$ can be 0.3โ0.5 for $V$-$I$ color. This means a 1 mag color mismatch between target and comparison star introduces a 300โ500 mmag systematic. Unfiltered photometry without color correction is unreliable for multi-telescope combination.
4. Gaia/APASS Cross-Calibration Procedure¶
4.1 Gaia as the Ground Truth¶
Gaia DR3 provides $G$, $G_{BP}$, $G_{RP}$ photometry for $\sim 1.8$ billion stars to $G < 21$ with: [Source: Riello et al. (2021), A&A 649, A3 โ Gaia EDR3/DR3 photometric system] - Precision: 0.1โ2 mmag for $G < 15$ - Accuracy (systematics): ~1 mmag for most stars - Color coverage: $G_{BP} - G_{RP}$ spans โ0.5 to +3.5 for most stellar types - All-sky uniformity: $< 5$ mmag cross-calibration between fields
Gaia is the natural reference system for OpenAstro. The Gaia $G$ band is a broad optical bandpass (330โ1050 nm), which must be converted to the desired standard band.
4.2 Gaia $G$ to $V$ Conversion¶
The Gaia team (Evans et al. 2018, Riello et al. 2021) derive polynomial relations: [Source: Evans et al. (2018), A&A 616, A4; Riello et al. (2021), A&A 649, A3] $$V - G = f_1(G_{BP} - G_{RP})$$ $$V - G = a_0 + a_1 (G_{BP} - G_{RP}) + a_2 (G_{BP} - G_{RP})^2$$
From Evans et al. (2018, their Table A2): $$V - G = -0.02704 + 0.01424 (G_{BP}-G_{RP}) - 0.2156 (G_{BP}-G_{RP})^2 + 0.01426 (G_{BP}-G_{RP})^3$$
Valid for $0.5 < G_{BP}-G_{RP} < 2.75$ (FGK main-sequence stars). Residuals: ~10โ20 mmag for individual stars.
APASS: The AAVSO Photometric All-Sky Survey provides $B, V, g', r', i'$ to $\sim$15th magnitude with ~20โ50 mmag precision. Less precise than Gaia but already in standard bands. Use APASS for approximate calibration, Gaia for precise zero-points.
4.3 The Calibration Pipeline Step-by-Step¶
For each image from telescope $k$ observing a field:
-
Source extraction: Run SExtractor (or similar). Extract instrumental magnitudes $m_{\text{inst},j}$ for all sources $j$ in the field.
-
Gaia cross-match: Match extracted sources to Gaia DR3 within the field using a 2-arcsec positional tolerance. Reject matches with:
- $G > 18$ (too faint, Gaia errors too large)
- $G < 10$ (too bright, Gaia saturated)
- $G_{BP} - G_{RP}$ outside 0.3โ2.8 (non-stellar or outside polynomial validity)
-
phot_bp_rp_excess_factor > 1.3(contaminated Gaia photometry) -
Convert Gaia to target band: Compute $m_{\text{std},j} = G_j + f(G_{BP,j} - G_{RP,j})$ using the appropriate polynomial for the target band.
-
Fit color terms: Perform least-squares fit: $$m_{\text{inst},j} = m_{\text{std},j} + Z_0 + \epsilon \cdot (G_{BP,j} - G_{RP,j}) + k X_j$$
where $X_j$ is the airmass of source $j$ (approximately constant for most fields, but technically varies across large fields). Report $Z_0$, $\epsilon$, and their uncertainties.
-
Apply calibration: For the science target with instrumental magnitude $m_\text{inst,target}$ and known Gaia color (or estimated color from the Gaia cross-match): $$m_\text{std,target} = m_\text{inst,target} - Z_0 - \epsilon \cdot (G_{BP} - G_{RP})\text{target} - k X\text{target}$$
-
Uncertainty propagation: $$\sigma_m^2 = \sigma_{m_\text{inst}}^2 + \sigma_{Z_0}^2 + \sigma_\epsilon^2 \cdot \langle\Delta c\rangle^2 + \sigma_k^2 X^2$$
where $\langle\Delta c\rangle$ is the color difference between target and the mean calibration star color.
4.4 The Ensemble Calibration Method¶
Instead of fitting $Z_0$ and $\epsilon$ separately, the ensemble photometry approach treats all comparison stars as unknowns and solves for the zero-point and corrections simultaneously. This is more robust when comparison stars have uncertain standard magnitudes. [Source: Tamuz, Mazeh & Zucker (2005), MNRAS 356, 1466 โ SysRem algorithm]
The system of equations: $$m_{\text{inst},ij} = m_{\text{std},j} + Z_i + \epsilon_i c_j + k_i X_{ij}$$
for telescope $i$, star $j$. This is a linear system in the unknowns ${Z_i, \epsilon_i, k_i}$ and ${m_{\text{std},j}}$. Solved by iterative least squares (or direct linear algebra if the system is small). The SysRem algorithm (Tamuz et al. 2005) [Source: Tamuz, Mazeh & Zucker (2005), MNRAS 356, 1466] and its variants (SYSREM, TFA) implement this.
For OpenAstro: When combining data from multiple telescopes on the same night, set up the full ensemble calibration to solve for each telescope's zero-point simultaneously with the stellar magnitudes. This is equivalent to the standard "global solution" approach used in wide-field survey photometry.
[NOVEL] The application of ensemble calibration with per-telescope zero-points and color terms solved simultaneously across the OpenAstro heterogeneous network, using Gaia as the common reference system, is original to OpenAstro.
5. Aperture Correction¶
5.1 What It Is¶
Photometric aperture extraction sums flux within a circle of radius $r_\text{ap}$. But the PSF has flux outside this aperture (wings, diffraction spikes). The aperture correction $\delta_\text{ap}$ is the magnitude offset between a small aperture and an infinite aperture:
$$\delta_\text{ap}(r_\text{ap}) = m_\infty - m(r_\text{ap}) = -2.5\log_{10}\left(\frac{\int_0^\infty \text{PSF}(r)r\,dr}{\int_0^{r_\text{ap}} \text{PSF}(r)r\,dr}\right)$$
For a Gaussian PSF with FWHM $\theta$, the growth curve fraction within radius $r$ is: $$f(r) = 1 - e^{-\ln 2 \cdot (2r/\theta)^2}$$
At $r = \theta$ (one FWHM): $f = 1 - e^{-4\ln 2} = 1 - 0.067 = 0.933$, so $\delta_\text{ap}(\theta) = -2.5\log_{10}(0.933) = 0.074$ mag.
For $r = 1.5\theta$: $f = 1 - e^{-9\ln 2} = 1 - 0.0037 = 0.9963$, $\delta_\text{ap}(1.5\theta) = 0.004$ mag.
Recommendation: Use aperture radius $r_\text{ap} = 1.5 \times \text{FWHM}$ for bright isolated stars. This gives <5 mmag aperture correction uncertainty.
5.2 Cross-Telescope Aperture Correction Consistency¶
When telescope 1 has FWHM $\theta_1 = 2$ arcsec and telescope 2 has $\theta_2 = 4$ arcsec, the same physical aperture on the sky (say, 3 arcsec radius) contains different fractions of the PSF for each telescope. The differential aperture correction:
$$\delta\delta_\text{ap} = \delta_\text{ap,1}(r=3'') - \delta_\text{ap,2}(r=3'')$$
For telescope 1 ($r = 1.5\theta_1 = 3''$): $\delta_\text{ap,1} = 0.004$ mag For telescope 2 ($r = 0.75\theta_2 = 3''$): $f_2 = 1 - e^{-\ln 2 (2\times0.75)^2} = 1 - e^{-2.25\ln2} = 1 - 2^{-2.25} = 1 - 0.21 = 0.79$, so $\delta_\text{ap,2} = 0.25$ mag
This 0.25 mag systematic between the two telescopes must be corrected before combining. The correction requires: 1. Measuring the growth curve for each image (using bright, unsaturated, isolated stars) 2. Computing the aperture correction to a common physical aperture or to infinite aperture 3. Applying the correction before computing differential photometry
This is a mandatory step in the OpenAstro stacking pipeline. Failing to apply it introduces aperture-dependent systematics that masquerade as photometric color terms.
6. Combining Multi-Telescope Photometry: The Formal Estimator¶
6.1 Per-Epoch Measurements¶
Each telescope $k$ provides a measurement $m_k$ with uncertainty $\sigma_k$ and zero-point $Z_k$. After calibration, all measurements are on the same standard system. The optimal estimator for the source's standard magnitude at a given epoch (if the source is non-variable) is:
$$\hat{m} = \frac{\sum_k w_k m_k}{\sum_k w_k}, \quad w_k = \frac{1}{\sigma_k^2}$$
The combined uncertainty: $$\sigma_\text{comb} = \left(\sum_k \frac{1}{\sigma_k^2}\right)^{-1/2}$$
6.2 Incorporating Zero-Point Uncertainty¶
Each calibrated magnitude has uncertainty: $$\sigma_k^2 = \sigma_{m_\text{inst},k}^2 + \sigma_{Z_k}^2$$
where $\sigma_{Z_k}$ is the zero-point uncertainty from the calibration fit. For a field with 50 calibration stars, $\sigma_{Z_k} \approx \sigma_\text{Gaia}/\sqrt{50} \approx 0.005/7 \approx 0.7$ mmag โ negligible.
For a sparse field with only 5 calibration stars, $\sigma_{Z_k} \approx 0.005/\sqrt{5} \approx 2.2$ mmag โ begins to matter for high-precision photometry.
6.3 The Systematics Floor¶
The effective systematic floor from calibration: $$\sigma_\text{sys}^2 = \sigma_{Z}^2 + \sigma_\text{color}^2 + \sigma_\text{aperture}^2 + \sigma_\text{atm}^2$$
For a typical calibration with 20 Gaia stars, color terms applied: - $\sigma_Z \approx 1$ mmag - $\sigma_\text{color} \approx \epsilon \cdot \sigma_c \approx 0.1 \times 0.1 = 10$ mmag if color uncertain by 0.1 mag - $\sigma_\text{aperture} \approx 2$โ5 mmag - $\sigma_\text{atm} \approx$ 5โ20 mmag from extinction variations
The realistic systematic floor for amateur calibrated photometry is ~5โ15 mmag, dominated by atmospheric and aperture correction terms. Below ~5 mmag, systematic effects overwhelm statistical precision unless very careful atmospheric monitoring is done.
7. Differential Photometry: The Standard Method¶
For time-domain science (transits, occultations, variability), the differential light curve is: $$\Delta m_\text{target}(t) = m_\text{target,inst}(t) - m_\text{ensemble,inst}(t)$$
where $m_\text{ensemble,inst}$ is a weighted combination of multiple comparison stars in the same field.
7.1 Ensemble Comparison Star Magnitude¶
$$m_\text{ens}(t) = \sum_j w_j m_{j,\text{inst}}(t), \quad w_j = \frac{1/\sigma_j^2}{\sum_j 1/\sigma_j^2}$$
The noise in the ensemble: $$\sigma_\text{ens} = \left(\sum_j \frac{1}{\sigma_j^2}\right)^{-1/2}$$
Adding more comparison stars reduces $\sigma_\text{ens}$, but only until the intrinsic atmospheric systematic floor is reached. Adding 10 comparison stars vs 5 reduces photon noise by $\sqrt{2}$, but if atmospheric fluctuations are correlated across the field, the floor doesn't change.
7.2 Artificial Star Scatter Test¶
To verify the calibration, compute the standard deviation of differential magnitudes for all non-variable stars in the field over the observation sequence. This gives the empirical photometric scatter $\sigma_\text{emp}$, which should match the expected $\sigma_\text{phot}$ (from photon noise + atmospheric noise model).
If $\sigma_\text{emp} \gg \sigma_\text{phot}$: systematic noise present โ investigate instrumental drift, aperture issues, guiding problems.
If $\sigma_\text{emp} \approx \sigma_\text{phot}$: well-calibrated.
This test should be run for every processed OpenAstro dataset before science products are derived.
8. Multi-Band and Unfiltered Combination¶
8.1 Synthesizing a Common Band¶
When combining data from telescopes with different filter systems (some in $V$, some in $R$, some unfiltered), a common synthetic band must be defined. The procedure:
- Define a synthetic reference band $S_\text{ref}(\lambda)$ for the science case (e.g., Gaia $G$, or a wide $V$-$R$ band)
- Compute the correction from each telescope's effective band to the reference band using stellar SED models or polynomial color corrections
- Apply corrections before combining
For unfiltered CMOS cameras (like Sony Starvis), the effective band depends strongly on the temperature of the star. Approximate as: $$m_\text{unfiltered} \approx V - 0.15 \cdot (V-R)$$
(from Henden & Kaitchuck 1990 [Source: Henden & Kaitchuck (1990), Astronomical Photometry], approximation valid for F-K main-sequence stars). Error: ~20 mmag.
8.2 White-Light Photometry Limitations¶
For exoplanet transit photometry (which requires $< 5$ mmag precision), unfiltered photometry is problematic: - Limb darkening is wavelength-dependent; unfiltered effective wavelength changes with airmass and atmospheric water vapor - This introduces a systematic correlation between airmass and apparent transit depth - Requires careful modeling or avoidance
Recommendation for transit photometry: Use a single broadband filter ($V$, $R$, or $I$) per telescope and correct to a common band. Mixing filtered and unfiltered data requires explicit color correction.
9. References¶
- Bramich et al. (2008), MNRAS, 386, 2107 โ image subtraction photometry in crowded fields
- Tamuz, Mazeh & Zucker (2005), MNRAS, 356, 1466 โ SysRem algorithm for systematic corrections
- Everett & Howell (2001), PASP, 113, 1428 โ aperture correction methods
- Evans et al. (2018), A&A, 616, A4 โ Gaia DR2 photometric calibration
- Riello et al. (2021), A&A, 649, A3 โ Gaia EDR3/DR3 photometric system
- Henden & Kaitchuck (1990), Astronomical Photometry โ standard photometric methods text
- Stetson (1987), PASP, 99, 191 โ DAOPHOT, PSF photometry in crowded fields