Skip to content

Add TV/polar-TV, trust-gating, edge-guard, HV_polar misfit and VE precompute (new enhanced script)#5

Open
Fuwsusu wants to merge 1 commit into
mainfrom
codex/update-frequency-update-monitoring-criteria-p2dw73
Open

Add TV/polar-TV, trust-gating, edge-guard, HV_polar misfit and VE precompute (new enhanced script)#5
Fuwsusu wants to merge 1 commit into
mainfrom
codex/update-frequency-update-monitoring-criteria-p2dw73

Conversation

@Fuwsusu

@Fuwsusu Fuwsusu commented Apr 9, 2026

Copy link
Copy Markdown
Owner

Motivation

  • Reduce concentric ring artifacts and high-frequency center→edge contamination by adding directional regularizers and high-frequency guards.
  • Improve robustness of frequency-domain waveform inversion to interpolation/virtual-element errors via per-frequency VE precomputation and channel-weighting.
  • Increase misfit convexity and phase robustness by introducing an HV_polar phasor decomposition for separate amplitude/phase treatment.
  • Provide runtime diagnostics and adaptive control (trust gate, step damping, lambda adjustments) to avoid steps that increase misfit or ring metrics.

Description

  • Implemented isotropic Huber-TV (enableTV, lambda_tv, eps_tv) and a polar/radial TV (enablePolarReg, lambda_polar, eps_polar_reg) with relative normalization and added them into the gradient pipeline.
  • Added high-frequency trust gating and adaptive controls (enableTrustGate, phi_small_drop_ratio, alpha_gate_*, lambda_polar_gate_*) that scale step sizes and radial-TV when data-consistency and ring metrics indicate risk.
  • Added outer-edge protection (enableEdgeGuard, lambda_edge_anchor, edge_step_damp_max, edge_blend_*) that anchors outer ring to low-frequency reference and damps updates on the periphery; implemented masks (ring_bg_mask, edge_guard_mask) and contamination metrics used by the gate.
  • Implemented HV_polar misfit (amplitude/phase decomposition) with per-pass phase weight (alpha_hv/alpha_hv_atten), channel confidence weighting for virtual receivers (beta_ve), illumination preconditioning (enableIllumComp), three-stage low-frequency prior saving/apply (enableLFPrior, VEL_stage1_ref, VEL_stage2_ref), and a per-frequency VE precompute with two frac-shift variants; added a new file MultiFrequencyWaveformInvkWave_fws20260409_2.m containing the full enhanced script.
  • Added runtime diagnostics and iteration history storage: PHI_ITER, DELTA_PHI_ITER, TAU_SHIFT_ITER, R_RING_ITER, GAMMA_TRUST_ITER, ALPHA_GATE_ITER, LAMBDA_POLAR_EFF_ITER, LAMBDA_EDGE_EFF_ITER, EDGE_* arrays and saved them into the results .mat for post-analysis.
  • Performance/UX tweaks: pre-create GIF figure and reuse image handle (saveGIF logic) and restrict scaling to real receivers when computing scaling to avoid virtual-Rx bias.

Testing

  • No automated tests were run as part of this PR.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant