Skip to content

Add Gaussian multilooking option for phase linking - #734

Open
scottstanie wants to merge 3 commits into
isce-framework:mainfrom
scottstanie:feat-gaussian-multilook
Open

Add Gaussian multilooking option for phase linking#734
scottstanie wants to merge 3 commits into
isce-framework:mainfrom
scottstanie:feat-gaussian-multilook

Conversation

@scottstanie

Copy link
Copy Markdown
Contributor

Summary

Adds a GAUSSIAN SHP method: a fixed 2D Gaussian window for weighting neighbors
during coherence estimation, as a simpler alternative to the adaptive GLRT/KS
tests. Unlike the adaptive methods, it applies the same weight pattern to every
pixel.

Changes

  • Add ShpMethod.GAUSSIAN enum value.
  • New shp/_gaussian.py generating Gaussian weights (JAX).
  • shp/__init__.py dispatcher handles the GAUSSIAN method.
  • covariance.coh_mat_single accepts both boolean masks (GLRT/KS) and float
    weights (Gaussian) via unified float handling.
  • shp_counts now reports the effective number of looks (ENL) for float-weight
    methods via Kish's formula ENL = (sum w)^2 / sum(w^2), instead of a raw
    neighbor count (which is only meaningful for boolean SHP).

Tests

New tests in test_shp.py, test_phase_link_covariance.py,
test_phase_link_core.py covering Gaussian weight generation and comparison
with RECT/boolean methods. All pass.

🤖 Generated with Claude Code

claude and others added 3 commits July 15, 2026 10:29
- Add ShpMethod.GAUSSIAN enum value
- Create _gaussian.py module that generates Gaussian weights using JAX
- Update shp/__init__.py dispatcher to handle GAUSSIAN method
- Modify covariance.coh_mat_single to support both boolean masks (GLRT/KS)
  and float weights (Gaussian) by converting to unified float handling
- Add tests for Gaussian weight generation and comparison with RECT

The Gaussian multilooking option provides a simpler alternative to GLRT
that applies a 2D Gaussian window for weighting neighbors during coherence
estimation. Unlike adaptive methods (GLRT/KS), it uses a fixed weight
pattern for all pixels.

https://claude.ai/code/session_01NtLGb8epFAKDEVgqY8HxdU
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