Chapter 5 Optical Imaging and PSF/OTF/MTF
One-Sentence Goal
Under the linear shift-invariant (LSI) baseline, define and estimate PSF/OTF/MTF, build a system-level modulation transfer chain that accounts for pixel aperture, motion, and defocus, and constrain imaging sharpness and anisotropy with contractible metrics.
I. Scope & Targets
- Inputs
- From Chapter 3 (mode binding): SRef.img = { I_lin, masks, mode_axes, tau_map, manifest.imaging.device }.
- From Chapter 4 (radiometric harmonization): I_corr, L_eff (when energy conservation checks are required).
- Optical/mechanical metadata: { pixel_pitch, a_px, b_px, f_eff, F_number, focus_pos, T_trans(λ), stab_trace }.
- Outputs
- PSF(x,y), OTF(fx,fy), MTF(fx,fy), PTF(fx,fy); optionally field-dependent variants such as PSF(u; x,y).
- Component factors: MTF_opt, MTF_defocus, MTF_motion, MTF_pixel, MTF_proc, and the system result MTF_sys.
- Metrics & reports: MTF50, MTF10, anisotropy, alias_ratio, assert_report.optics, and manifest.imaging.optics.
- Boundaries
This chapter assumes small-signal linear imaging and weak non-idealities; with strongly nonlinear ISP, report an “effective MTF” only.
II. Terms & Variables
- Coordinates & frequency domain
- x,y (image plane in meters), fx,fy (cycles per meter), ρ = sqrt(fx^2 + fy^2).
- Sampling & Nyquist: f_sx = 1 / pitch_x, f_sy = 1 / pitch_y, f_Nx = f_sx / 2, f_Ny = f_sy / 2.
- Core functions
- PSF(x,y) (point spread function), ( ∫∫ PSF dx dy ) = 1.
- OTF(fx,fy) = F{ PSF(x,y) }, MTF = | OTF |, PTF = arg( OTF ).
- Pixel-aperture MTF: MTF_pixel(fx,fy) = sinc( π * a_px * fx ) * sinc( π * b_px * fy ).
- Motion MTF (uniform linear motion, length d_m, motion direction forming angle θ with fx,fy):
MTF_motion(fx,fy) = sinc( π * d_m * ( fx cosθ + fy sinθ ) ).
- Objective & aberrations
- Pupil function P(u,v) = A(u,v) * exp( j * 2π * W(u,v) / λ ), with normalized pupil coordinates u,v.
- W (wavefront aberration), λ (wavelength), F_number = f_eff / D_aperture.
- Quality & uncertainty
u(x), coverage U = k * u_c, q_score, drift, SNR_edge.
III. Axioms P205- (Optics Baseline)*
- P205-1 (Normalization & dimensionless): OTF(0,0) = 1, 0 ≤ MTF(ρ) ≤ 1, PTF(0,0) = 0.
- P205-2 (Explicit spectral weighting): For multi-band or broadband cases, define effective PSF/MTF with a declared W(λ).
- P205-3 (Pixel prior): Pixels are modeled as an equivalent rectangular aperture a_px × b_px, and MTF_pixel must be included in the system chain.
- P205-4 (Linear-domain baseline): All estimates are performed on I_lin or I_corr; do not fit physical OTF directly in gamma/NR-processed nonlinear domains.
- P205-5 (Field consistency): Provide MTF(u) in both chief and off-axis fields and report anisotropy.
- P205-6 (Sampling conservation): Frequency analysis is confined to [ -f_Nx, f_Nx ] × [ -f_Ny, f_Ny ]; out-of-band content is recorded via aliasing measures.
- P205-7 (Auditable contracts): PSF/MTF estimation procedures, templates, and window parameters are written to the manifest and signed.
IV. Minimal Equations S205-*
- S205-1 (Imaging convolution model)
I_lin(x,y) = ( h * s )(x,y) + n(x,y), where h ≡ PSF and s is the scene radiance projection. - S205-2 (2-D Fourier link between PSF and OTF)
OTF(fx,fy) = ( ∫∫ PSF(x,y) * exp( -j 2π ( fx x + fy y ) ) dx dy ) / ( ∫∫ PSF dx dy ). - S205-3 (Optical OTF via pupil autocorrelation, incoherent imaging)
OTF_opt(ξ,η) = ( 1 / A_pupil ) * ( ∫∫ P(u,v) * P*(u-ξ, v-η) du dv ), with A_pupil = ( ∫∫ |P(u,v)|^2 du dv ). - S205-4 (System MTF composition law)
MTF_sys(fx,fy) = MTF_opt(fx,fy) * MTF_defocus(fx,fy) * MTF_motion(fx,fy) * MTF_pixel(fx,fy) * MTF_proc(fx,fy). - S205-5 (Defocus MTF, paraxial approximation)
For a circular pupil and nominal defocus σ_d: MTF_defocus(ρ) = | OTF_defocus(ρ; σ_d ) |, where OTF_defocus derives from the pupil autocorrelation inclusive of W20 (computed numerically). - S205-6 (Multi-spectral effective PSF/MTF)
PSF_eff = ( ∫_Λ W(λ) * PSF_λ dλ ) / ( ∫_Λ W(λ) dλ ),
MTF_eff = | F{ PSF_eff } |, with W(λ) ∝ H_sys(λ) or application-specific. - S205-7 (Edge method SFR)
LSF(x) = d/dx ( ESF(x) ), MTF_1D(f) = | F{ LSF(x) } | / | F{ LSF } |_{f=0}. - S205-8 (Aliasing metric)
alias_ratio = ( ∫_{Ω_alias} PDS(fx,fy) dfx dfy ) / ( ∫_{Ω_pass} PDS(fx,fy) dfx dfy ), with PDS the power density spectrum. - S205-9 (Units & dimension checks)
check_dim( OTF ) = 1, check_dim( MTF ) = 1, check_dim( PSF ) = [L^-2] with integral normalization.
V. Imaging Transfer Estimation Process M50-*
- M50-1 Linear domain & masking ready: Start from I_lin or I_corr (Ch. 3/4), apply masks.bad/hot/sat.
- M50-2 Target template: Choose one or more: edge (slanted edge), slit (line), point (point source), deadleaves (texture). Register window, crop, binning.
- M50-3 ESF/LSF/SFR estimation: For edge, perform sub-pixel localization and slant correction; produce MTF_edge(f) and SNR_edge.
- M50-4 2-D OTF reconstruction: Fuse multi-directional estimates to obtain OTF_hat(fx,fy); or derive PSF from point sources and transform.
- M50-5 Pixel & motion separation: Using priors a_px, b_px and stab_trace, decouple MTF_pixel and MTF_motion to obtain MTF_opt * MTF_defocus.
- M50-6 Field-dependent assessment: Repeat Steps 3–5 on a grid {u_i} to obtain MTF(u_i) and anisotropy(u_i).
- M50-7 Aliasing & spectral hygiene: Restrict to the Nyquist window; compute alias_ratio; flag out-of-band components.
- M50-8 Metric extraction & uncertainty: Report MTF50, MTF10, slope@0, and u(MTF50); propagate sampling/noise uncertainties.
- M50-9 Contract checks: Run assert_contract.optics.
- M50-10 Persistence & signature: Write manifest.imaging.optics = { templates, windows, MTF_sys, components, metrics, hashes } and sign.
VI. Contracts & Assertions
- Normalization & energy
| OTF(0,0) - 1 | ≤ tol_otf_dc; abs( mean(PSF) * A_roi - 1 ) ≤ tol_psf_norm. - Frequency domain & aliasing
alias_ratio ≤ tol_alias; MTF_sys(ρ > f_Nyquist) = 0 (by cropping). - Thresholds for metrics
MTF50 ≥ mtf50_min (stated either in pixels or angular resolution), MTF10 ≥ mtf10_min, anisotropy ≤ tol_aniso. - Component consistency
Composition closure: max| MTF_sys - ∏ MTF_* | ≤ tol_compose; PTF is continuous and var(PTF) ≤ ptf_var_max (within passband). - Environment & drift
drift(MTF50; ΔT) ≤ tol_mtf_drift; drift(MTF50; Δt) ≤ tol_age_drift.
VII. Implementation Bindings I50-*
- I50-1 estimate_esf_edge(img, window, angle) -> { ESF, LSF, MTF_1D, SNR_edge }
- I50-2 estimate_psf_point(img, window) -> { PSF, OTF, MTF }
- I50-3 compose_pixel_mtf(a_px, b_px) -> MTF_pixel
- I50-4 estimate_motion_mtf(trace, pitch, ts) -> MTF_motion
- I50-5 decompose_mtf(MTF_sys, MTF_pixel, MTF_motion) -> { MTF_opt_defocus }
- I50-6 field_grid_eval(imgs_or_tiles, grid) -> { MTF(u_i), anisotropy(u_i) }
- I50-7 summarize_mtf_metrics(MTF, f_axes) -> { MTF50, MTF10, slope0, alias_ratio }
- I50-8 validate_optics_contract(metrics, contracts) -> assert_report
- I50-9 emit_manifest_optics(artifacts, params, hashes) -> manifest
VIII. Cross-References
- Linear domain, masking, and mode axes: this volume’s Chapter 3.
- Radiometric harmonization & unit checks: this volume’s Chapter 4; metrological conservation: Methods.Cleaning v1.0, Chapter 4.
- Time axis & motion parameters (trace, ts): Methods.Cleaning v1.0, Chapter 5.
- Environmental correction & reference propagation: Methods.Cleaning v1.0, Chapter 12.
- Data schemas & manifest anchors: EFT.WP.Core.DataSpec v1.0.
IX. Quality Metrics & Risk Control
- Key indicators
MTF50, MTF10, anisotropy, alias_ratio, slope@0, u(MTF50), PTF_var, comp_residual. - Risk handling
- If MTF50 or alias_ratio violates limits: reduce publication resolution or enable anti-alias filtering; roll back to the last freeze_release optical parameters.
- For field-dependent anomalies: mask hotspot regions or trigger refocus/mechanical re-alignment; down-rank q_score and record TraceID.
Summary
Centering on PSF/OTF/MTF, this chapter provides a unified path from data-driven estimation to system-level decomposition and composition—edge/point → PSF/OTF → MTF_components → MTF_sys—and enforces reproducibility and auditability across devices, fields, and environments through contract metrics and manifest signatures.