Skip to content

WIP: Fast Minimum Variance beamformer (postprocess.fast_minimum_variance) - #37

Draft
olemarius90 wants to merge 1 commit into
masterfrom
cursor/fast-mv-beamformer-c47b
Draft

olemarius90 wants to merge 1 commit into
masterfrom
cursor/fast-mv-beamformer-c47b

Conversation

@olemarius90

Copy link
Copy Markdown
Owner

WIP: Fast Minimum Variance Beamformer

Efficient reimplementation of postprocess.capon_minimum_variance as a drop-in replacement.

Status: debugging go() wrapper mismatch

What works:

  • Core MV algorithm (covariance estimation, weight computation, amplitude Capon application) verified pixel-by-pixel identical to the reference
  • Same API: dimension, K_in_lambda, L_elements, regCoef, doForwardBackward
  • Forward-backward averaging included

Known issue:

  • When called through go(), output differs from reference by a consistent factor ~1.85x
  • Issue is NOT in: K_samples, L_elements, data cube values, R matrices, or normalization
  • Likely in: how the go() wrapper indexes h.input.data or stores results

Files

  • +postprocess/fast_minimum_variance.m — implementation
  • examples/advanced_beamforming/fast_minimum_variance_example.m — validation script comparing against reference

Next steps

  • Trace data_cube inside go() vs reference go() to find the indexing mismatch
  • Once matching: vectorize the lateral loop for actual speedup
Open in Web Open in Cursor 

…pper has residual mismatch

Status:
- Core MV algorithm (covariance, weights, application) verified pixel-by-pixel
  to produce IDENTICAL results to capon_minimum_variance_implementation
- But when called through go(), output differs by factor ~1.85x
- Issue is NOT in: K_samples, L_elements, data_cube values, R matrices, or normalization
- Issue likely in: how input.data dimensions are indexed in the go() loop
  (possibly a subtle 3D vs 4D squeeze/reshape edge case)

Files:
- +postprocess/fast_minimum_variance.m: full implementation with debug prints
- examples/advanced_beamforming/fast_minimum_variance_example.m: validation script

Co-authored-by: Ole Marius Hoel Rindal <olemarius90@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants