Chapter 4 Radiometric Metrology, Units, and Calibration Harmonization
One-Sentence Goal
Map the sensor’s electron-count domain I_lin into physical radiometric quantities (L, E, Φ, etc.), establish a traceable calibration chain from pixel to radiometry, and guarantee unit, dimension, and uncertainty consistency across the full pipeline.
I. Scope & Targets
- Inputs
- From Chapter 3 after mode binding: SRef.img = { I_lin, masks, mode_axes, tau_map, manifest.imaging.device }.
- Calibration assets calib_assets = { dark_sets, flat_sets, sphere_sets, spectral_resp, vignette_maps, cg_report }.
- Environment & reference conditions RefCond = { T, RH, λ_ref_range, luminance_level, T_trans_ref }.
- Outputs
- Radiometric images & parameters: L_eff, E_img, k_rad, G_sys, V(x,y), PRNU, DSNU.
- Contracts & audit: assert_report.radiometry, manifest.imaging.radiometry (including units, dimensions, and uncertainties).
- Boundaries
If an ISP has already applied irreversible color/denoise steps, report only relative radiometry (normalized results) and record the deviation notes.
II. Terms & Variables
- Physical quantities & units
- L (radiance, unit W m^-2 sr^-1), E (irradiance, unit W m^-2), Φ (flux, unit W).
- N_e (photoelectrons, unit e-), K_cg (conversion gain, unit e- DN^-1), k_rad (radiometric scale, unit L (e- s^-1)^-1 or corresponding derived unit).
- QE(λ), τ_opt(λ), A_px (pixel area), t_exp, f_mod (if ToF), transmission coefficient T_trans.
- Device & scene response
- H_sys(λ) (system photon→electron responsivity, in the equivalent unit family e- J^-1 m^2 sr), G_sys = ( ∫_Λ H_sys(λ) dλ ).
- V(x,y) (vignetting/illumination falloff), PRNU(x,y), DSNU(x,y).
- Quality & uncertainty
u(x), coverage U = k * u_c, q_score, drift, sat_cov.
III. Axioms P204-*
- P204-1 (Unit & dimension conservation): Every field in radiometric computations must declare unit(field) and dim(field) and pass check_dim(expr).
- P204-2 (Linear-domain baseline): Radiometric calibration is performed on the linear electron-count domain I_lin from Chapter 3, with unit(I_lin)="e-".
- P204-3 (Separable black level & dark current): There exist stable DSNU(x,y) and a dark_level estimable from dark frames whose drift with t_exp is controlled.
- P204-4 (Flat-field availability): Sufficiently uniform flat-field data must be available to estimate PRNU(x,y) and V(x,y).
- P204-5 (Explicit spectral weighting): Any spectrally dependent calibration must declare the band Λ and weighting W(λ); publication of L_eff must make the effective weighting explicit with W(λ)=H_sys(λ).
- P204-6 (Traceable calibration): The provenance and versioning of K_cg, k_rad, G_sys, V(x,y) must be recorded in the manifest and signed.
- P204-7 (Temperature & gain consistency): Calibration and application must lie within RefCond; out-of-range use requires a correction or a documented downgrade.
- P204-8 (ToF / polarization / spectral compatibility): Modality-specific radiometric quantities (e.g., modulated optical power, polarized radiance, narrowband radiance) must be calibrated per channel and expressed under a unified convention.
IV. Minimal Equations S204-*
- S204-1 (Electron-count model)
I_lin(x,y) = N_e(x,y) = t_exp * ( ∫_Λ H_sys(λ) * L(λ; x,y) dλ ) + N_dark(x,y) + n_read(x,y) - S204-2 (Effective radiance definition)
L_eff(x,y) = ( ∫_Λ H_sys(λ) * L(λ; x,y) dλ ) / ( ∫_Λ H_sys(λ) dλ ), with G_sys = ( ∫_Λ H_sys(λ) dλ ). - S204-3 (From counts to radiance)
L_eff = ( I_corr / t_exp ) / G_sys, where I_corr = ( I_lin - DSNU ) / G_flat, G_flat = V(x,y) * ( 1 + PRNU(x,y) ). - S204-4 (Estimating PRNU/DSNU)
DSNU(x,y) = mean_t( dark(x,y; t_exp) ),
PRNU(x,y) = ( flat(x,y) / mean_xy( flat(x,y) ) ) - 1,
V(x,y) = mean_t( flat(x,y) ) / mean_xy( mean_t( flat(x,y) ) ). - S204-5 (Conversion gain & linearity)
Using PTC: var( I_lin ) = ( 1 / K_cg ) * mean( I_lin ) + σ_read^2; linear regression yields K_cg and σ_read.
Linearity metric: R2_linear ≥ R2_min. - S204-6 (Radiometric scale factor)
With a reference source: k_rad = L_ref / ( ( I_corr / t_exp ) ), and report u(k_rad). - S204-7 (Unit & dimension check)
check_dim( L_eff - ( I_corr / t_exp ) / G_sys ) = true,
unit(L_eff)="W m^-2 sr^-1". - S204-8 (Uncertainty combination)
u^2(L_eff) = ( ∂L/∂I_corr )^2 u^2(I_corr) + ( ∂L/∂t_exp )^2 u^2(t_exp) + ( ∂L/∂G_sys )^2 u^2(G_sys).
V. Calibration & Harmonization Process M40-*
- M40-1 Asset readiness: Ingest dark_sets / flat_sets / sphere_sets; verify RefCond and units.
- M40-2 Conversion-gain estimation: Run PTC to obtain K_cg, σ_read, and generate cg_report.
- M40-3 Dark modeling: Under multiple t_exp conditions, estimate DSNU(x,y) and dark_drift(t_exp,T).
- M40-4 Flat-field & illumination: Build PRNU(x,y) and V(x,y), removing mask_bad / mask_hot / mask_sat.
- M40-5 System spectral weighting: Register H_sys(λ) (or its discrete approximation) and Λ.
- M40-6 Count-domain correction:
I_corr = ( I_lin - DSNU ) / ( V * (1+PRNU) ) * gain_ref, where gain_ref = median( V*(1+PRNU) ). - M40-7 Scale fitting: Using a reference source or integrating sphere, fit k_rad or estimate G_sys directly.
- M40-8 Radiance (or irradiance) solution: Compute L_eff via S204-3, or E_img if operating in the irradiance domain.
- M40-9 Contracts & uncertainty: Run assert_contract.radiometry and synthesize u(L_eff); produce a report.
- M40-10 Persistence & signing: Write manifest.imaging.radiometry including K_cg / k_rad / G_sys / RefCond / u(.) / hash, and sign.
VI. Contracts & Assertions
- Dimensions & units
- check_dim( I_lin ) = [Q] (electron count), check_dim( L_eff ) = [P L^-2 Ω^-1 ].
- unit(K_cg)="e- DN^-1", unit(k_rad)="(W m^-2 sr^-1) (e- s^-1)^-1".
- Linearity & range
R2_linear ≥ 0.995; sat_cov ≤ sat_cov_max; non_decreasing(t_exp). - Dark & flat
std(DSNU) ≤ DSNU_max; std(PRNU) ≤ PRNU_max; max|V-1| ≤ V_max_dev. - Scale & consistency
- abs_err_L = | L_meas - L_ref | / L_ref ≤ tol_L.
- drift(K_cg; ΔT) ≤ tol_cg_drift; drift(k_rad; Δt) ≤ tol_k_drift.
- Traceability
manifest_signed = true; hash_sha256(calib_bundle) consistent.
VII. Implementation Bindings I40-*
- I40-1 fit_ptc(frames) -> { K_cg, sigma_read, R2_linear }
- I40-2 estimate_dark(frames, t_exp_grid, T_grid) -> { DSNU(x,y), dark_drift }
- I40-3 estimate_flat(frames) -> { PRNU(x,y), V(x,y) }
- I40-4 register_spectral_weight(meta) -> { H_sys(λ), Λ }
- I40-5 apply_radiometric_correction(I_lin, DSNU, PRNU, V) -> I_corr
- I40-6 fit_radiometric_scale(I_corr, t_exp, L_ref) -> { k_rad, u(k_rad) }
- I40-7 compute_radiance(I_corr, t_exp, G_sys|k_rad) -> { L_eff, u(L_eff) }
- I40-8 validate_radiometry(L_eff, refs, contracts) -> assert_report
- I40-9 emit_manifest_radiometry(params, reports, hashes) -> manifest
VIII. Cross-References
- Device & mode binding (linearization, masks, time base): see this volume’s Chapter 3.
- General rules for units, dimensions, and metrological harmonization: Methods.Cleaning v1.0, Chapter 4.
- Time axis & synchronization; arrival-time conventions (ToF radiometric energy consistency): Methods.Cleaning v1.0, Chapters 5/6.
- Environmental correction & propagation of reference conditions: Methods.Cleaning v1.0, Chapter 12.
- Probability & normalization (noise modeling and uncertainty): Methods.Cleaning v1.0, Chapter 13.
- Core data schemas & keys: EFT.WP.Core.DataSpec v1.0.
IX. Quality Metrics & Risk Control
- Key indicators
R2_linear, sigma_read, K_cg, std(DSNU), std(PRNU), V_max_dev, abs_err_L, u(L_eff), drift(k_rad), sat_cov. - Risk handling
- If linearity or error exceeds thresholds: roll back to the last freeze_release(tag_prev) calibration bundle; down-rank q_score and trigger re-calibration.
- If environment mismatch occurs: apply corr_env(x; RefCond) or block publication and record the deviation.
Summary
This chapter establishes a unified calibration chain from pixel electron counts to radiometric quantities: PTC → DSNU/PRNU/V → H_sys/Λ → k_rad/G_sys → L_eff/E_img. Contracts and uncertainty propagation enforce cross-device, cross-modality, and cross-batch consistency and traceability.