Appendix E Errors and Uncertainty Propagation (Imaging)
One-Sentence Goal
Establish error models and uncertainty-propagation conventions across the imaging chain, yielding computable, persistable, and auditable layers—u(x), coverage U = k * u_c, and covariance-transfer norms.
I. Scope & Targets
- Covered domains: sources of error and uncertainty propagation from radiometric metrology, optical transfer, sampling/interpolation, geometry and color calibration, HDR/Computational Imaging, through time/path gating.
- Inputs: linear-domain data and reference set Ref* (flat/dark, PSF/MTF, geometry & color params, timebase map), plus noise and quantization parameters.
- Outputs: per-pixel and per-product uncertainty layers u.*, coverage U.*, covariance summaries, noise amplification and propagation reports—written under manifest.img.u.* (Appendix C).
II. Terms & Variables
- Uncertainty & covariance: u(x), u_c(x), U = k * u_c, Sigma_x, cov(x,y).
- Linear operators & Jacobians: A, H, W, Jac.
- Noise & quantization: sigma_read, k_shot, sigma_q, Q_step, NPS(f).
- Flat/dark: G (gain/flat map), D (dark map), PRNU, DSNU.
- Optics & sampling: PSF, OTF, MTF(f), f_c.
- Color & matrices: M (3×3 transform), Sigma_M.
- HDR fusion: w_i, E_i, E.
- Deconvolution/prior: L, lambda, G_rest.
- Geometry: K, R, t, pi(•).
- Timebase/arrival: tau_mono, ts, offset, skew, J, T_arr_form1, T_arr_form2, delta_form.
- Units & dimensions: unit(x), dim(x); default image units DN or W•sr^-1•m^-2; spatial frequency cy/pixel.
III. Axioms P20E-*
- P20E-1 (Linear-first): perform all physics-grounded propagation in space="linear"; run check_dim(expr) before publication.
- P20E-2 (First-order propagation): default to first-order Jacobian approximations; validate by Monte Carlo when necessary.
- P20E-3 (Covariance retention): linear/affine operators must carry and propagate Sigma; log noise gain and bandwidth changes.
- P20E-4 (Traceable references): any propagation that depends on Ref* must record RefID and RefCond.
- P20E-5 (Two-form arrival): propagate uncertainties for T_arr_form1 and T_arr_form2 in parallel and record delta_form.
- P20E-6 (Published coverage): external reporting uses U = k * u_c, default k = 2 (≈95% coverage), unless distribution dictates quantile-based coverage.
IV. Minimal Equations S20E-*
- S20E-1 (General propagation):
u_c^2( y ) = Jac_f(x) * Sigma_x * Jac_f(x)^T, for y = f(x) with Sigma_x including cross terms. - S20E-2 (Linear with additive noise):
y = A x + n, Sigma_y = A * Sigma_x * A^T + Sigma_n. - S20E-3 (Convolution domain):
y = H x + n, spectral noise power NPS_y(f) = |OTF(f)|^2 * NPS_x(f) + NPS_n(f). - S20E-4 (Quantization noise):
sigma_q^2 = Q_step^2 / 12, i.i.d. approximation, unit(sigma_q)=DN. - S20E-5 (Read + shot noise):
sigma_total^2 = sigma_read^2 + k_shot * signal. - S20E-6 (Flat/dark propagation):
I_corr = ( I_raw - D ) / G,
u_c^2(I_corr) = ( 1 / G )^2 * u_c^2(I_raw) + ( 1 / G )^2 * u_c^2(D) + ( ( I_raw - D ) / G^2 )^2 * u_c^2(G) + cross. - S20E-7 (Color-matrix propagation):
y = M x, Sigma_y = M * Sigma_x * M^T + Sigma_M(x), with Sigma_M(x) = ∑_k ( ∂(M x)/∂m_k )^2 * u^2(m_k). - S20E-8 (MTF50 uncertainty, approx.):
u^2(f50) ≈ ( ∂f50/∂p )^2 * u^2(p), with p the edge-spread model parameter. - S20E-9 (HDR ratio propagation):
E = ( ∑ w_i * E_i ) / ( ∑ w_i ); for fixed independent w_i,
u_c^2(E) = ( 1 / ( ∑ w_i )^2 ) * ∑ ( w_i^2 * u_c^2(E_i) ). - S20E-10 (Deconvolution propagation):
x_hat = G_rest * y (linearized), Sigma_xhat = G_rest * Sigma_y * G_rest^T,
NAG(f) = |G_rest(f)|^2 (noise amplification gain). - S20E-11 (Resampling/interpolation):
x' = W x, Sigma_x' = W * Sigma_x * W^T + Sigma_interp, with sigma_interp^2 ≤ Q_step^2 / 12. - S20E-12 (Geometric reprojection propagation):
p' = pi( K, R, t, P ), u_c^2(err) = Jac_pi * Sigma_params * Jac_pi^T + Sigma_measure. - S20E-13 (Arrival-time two-form propagation):
- T_arr_form1 = ( 1 / c_ref ) * ( ∫ n_eff d ell ),
- T_arr_form2 = ( ∫ ( n_eff / c_ref ) d ell ),
- u_c^2(T_arr_form1) = ( 1 / c_ref )^2 * u_c^2( ∫ n_eff d ell ) + ( ( ∫ n_eff d ell ) / c_ref^2 )^2 * u_c^2( c_ref ) + cross,
- u_c^2(T_arr_form2) = ( ∫ u_c^2( n_eff / c_ref ) d ell ),
- delta_form = | T_arr_form1 - T_arr_form2 |。
- S20E-14 (Coverage):
U(y) = k * u_c(y), default k=2; when normality is inadequate, use quantile-based coverage.
V. Workflow M20-E*
- Model & readiness: define measurement model, linearization point, and noise sources; collect Ref* and unit/dimension statements.
- Atomic uncertainty estimation: estimate sigma_read, k_shot, sigma_q, u(G), u(D) and key parameter variances.
- Operator-wise propagation: apply S20E-2/3/6/7/10/11/12 along the operator chain; maintain Sigma or a diagonal/low-rank approximation and NAG(f).
- Imaging topics: perform HDR, color-matrix, geometric registration, and arrival-time two-form propagation; compute delta_form.
- Aggregation & coverage: output per-pixel u_c and U layers with quantile summaries; for panel metrics (e.g., f50, DeltaE00), compute U.
- Checks & persistence: run contracts (Appendix B); write manifest.img.u.*, metrics.img.nag.*; sign for traceability.
VI. Contracts & Assertions (Examples)
- C20-1101 (Dimension check): assert( check_dim( y - f(x) ) ).
- C20-1102 (Noise-gain upper bound): assert( p95( NAG(f) ) ≤ nag_max ).
- C20-1103 (Flat/dark stability): assert( p95( U(I_corr) ) ≤ U_Icorr_max ).
- C20-1104 (Color propagation): assert( U(DeltaE00_p95) ≤ U_E00_max ).
- C20-1105 (HDR fusion): assert( U(E) ≤ U_HDR_max ) and assert( saturation_ratio ≤ sat_max ).
- C20-1106 (Arrival consistency): assert( delta_form ≤ tol_Tarr ) and assert( U(T_arr_form1) ≤ U_Tarr_max ).
- C20-1107 (Geometric residual): assert( U(err_reproj) ≤ U_geo_max ).
VII. Bindings I20-*
- I20-301 estimate_sensor_noise(ds, method) -> { sigma_read, k_shot, Q_step }
- I20-302 propagate_linear(ds, A, Sigma_n) -> Sigma'
- I20-303 propagate_flat_dark(I_raw, G, D, uG, uD) -> { I_corr, u(I_corr) }
- I20-304 propagate_color(x, M, Sigma_M) -> { y, Sigma_y }
- I20-305 propagate_hdr(E_i[], w_i[]) -> { E, u(E) }
- I20-306 propagate_deconv(y, G_rest) -> { x_hat, NAG }
- I20-307 propagate_geom(params, Sigma_params) -> U(err_reproj)
- I20-308 propagate_arrival_time(n_eff, c_ref, gamma(ell)) -> { T_arr_form1, T_arr_form2, delta_form, U(T_arr) }
- I20-309 emit_uncertainty_layers(u_maps, summary) -> manifest.u.*
VIII. Cross-References
Radiometry prerequisites (Ch. 4); optical transfer & MTF/OTF (Ch. 5); sampling/interpolation (Ch. 6); noise & PRNU/DSNU (Chs. 7–8); geometry/registration (Ch. 9); color management (Ch. 10); HDR fusion (Ch. 11); computational imaging (Ch. 12); time/path gating & arrival (Ch. 13); quality & drift panel mapping (Ch. 14; Appendix D).
Manifest fields (Appendix C); interface catalog (Appendix A); contract library (Appendix B).
IX. Risk Control & Audit
- Store low-rank summaries of Sigma (diagonal/banded/PCA) and NAG(f) quantiles into metrics.img.nag.*.
- When delta_form or NAG exceed thresholds, trigger level ∈ { warn, fail }, freeze associated Ref* pointers with TraceID, and enable rollback.
Summary
This appendix specifies the S20E-* propagation formulae, M20-E* execution flow, C20-11* contract mappings, and I20-30* bindings so that errors and uncertainties remain measurable, comparable, and traceable from source to publication throughout the imaging chain.