Systematic burst-to-burst phase offsets in S1C x S1D interferograms
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
Research direction
Start by reproducing the burst-to-burst phase offsets with the Croatia S1C/S1D test dataset and the COMPASS-generated CSLCs, comparing same-sensor and cross-sensor interferograms. Trace the COMPASS and ISCE3 processing path from CSLC formation through burst interferogram mosaicking; done means cross-sensor bursts stitch without systematic phase jumps or manual offsets.
Written by the indexing model from the issue text.
Description
Hi,
As my first experiment with ISCE3, I tried processing 2026 Sentinel-1 data over a Mongolian permafrost area (burst ID t077_164009_iw1 to t077_164016_iw1). This particular area is imaged by S1-C and since April 2026 also S1D. I followed the stack processing tutorial from this year's Earthscope course, and managed to geocode/coregister the data with COMPASS, form the per-burst interferograms and stitch them. I found no issue with InSAR pairs where both scenes were acquired by the same sensor, S1C or S1D.
However, I am seeing systematic phase jumps between adjacent bursts when forming S1CxS1D interferograms from COMPASS-generated CSLCs. When adjacent burst IFGs are mosaicked, each burst has an approximately constant phase offset relative to its neighbour. I reproduced this both over Mongolia, forming several S1CxS1D IFGs, and also using the exact Croatia S1C/S1D test dataset from isce-framework/s1-reader#151 which introduces S1D support, but shows only one burst as the result. (reference S1C_IW_SLC__1SDV_20260416T164125_20260416T164152_007244_00EAE8_2D6E, secondary S1D_IW_SLC__1SDV_20260417T164135_20260417T164202_002389_003E83_9EFF)
The effect seems to be systematic too. Using pixels with coherence >0.6, the burst overlap phase difference over Croatia is approximately 1.65 rad in IW1, 1.40 rad in IW2, and 1.45 rad in IW3, with very little variation from one burst boundary to the next. The Mongolian stack showed the same behaviour (~1.50 rad per boundary). I tried to apply the measured constant phase offset to the burst IFGs before stitching them together, and the discontinuities disappeared.
I am on Python 3.12.10, GDAL 3.10.3, COMPASS 0.5.7, and s1reader 0.2.6. I tried both the newest ISCE3 0.25.8, and ISCE3 0.24.4 reported in isce-framework/s1-reader#151, and got the same results. Here's an example from IW3:
t073_154920_iw3.int <-> t073_154921_iw3.int: N pixels 1,113,732, phase=+1.4519 rad
t073_154921_iw3.int <-> t073_154922_iw3.int: N pixels 734,984, phase=+1.4707 rad
t073_154922_iw3.int <-> t073_154923_iw3.int: N pixels 993,869, phase=+1.4762 rad
t073_154923_iw3.int <-> t073_154924_iw3.int: N pixels 1,094,283, phase=+1.4357 rad
t073_154924_iw3.int <-> t073_154925_iw3.int: N pixels 909,584, phase=+1.4257 rad
t073_154925_iw3.int <-> t073_154926_iw3.int: N pixels 1,030,350, phase=+1.4178 rad
t073_154926_iw3.int <-> t073_154927_iw3.int: N pixels 940,087, phase=+1.4467 rad
t073_154927_iw3.int <-> t073_154928_iw3.int: N pixels 1,214,783, phase=+1.4403 rad
Could someone who knows more about the different components look into this, or tell me if I possibly did something wrong? Right now, I could "fix" my stack by applying these constant offsets to the affected IFGs, but I don't know how much this issue actually affects the underlying data quality, so I'd like to have this fixed upstream rather than in postprocessing. Thanks!
Jakub
- Dominant language
- Python
- Stars
- 250
- Forks
- 92
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 16
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from isce-framework/isce3
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
isce-framework/isce3#353 ·
Maintainers usually reply within 1 day
-
Performance: per-pixel dynamic scheduling and unneeded atomics in RTC `_normalizeRtcArea` cost ~11% of GCOV geocode time at NISAR scalePossibly taken @s-sasaki-earthsea-wizard claimed this 75 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
isce-framework/isce3#341 · 2 comments ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
isce-framework/isce3#290 · 1 comment · 3 reactions ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
isce-framework/isce3#255 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 25/100
isce-framework/isce3#414 ·
Maintainers usually reply within 1 day
All issues in isce-framework/isce3
Similar issues
-
component:benchmark
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
agentic-os-org/ANOLISA#9177 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
distrochooser/distrochooser#520 ·
Maintainers usually reply within 2 days
-
Status: Needs confirmation Status: Needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Maintainers usually reply within 1 day
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupPossibly taken @AlessandroSpallina claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
headroomlabs-ai/headroom#4513 ·
Maintainers usually reply within 1 day
-
Difficulty 1/5 Under an hour Newbie friendliness 65/100
codespell-project/codespell#4060 ·
Maintainers usually reply within 1 day