Skip to content

Feature/coherence matrix time axis clean#2

Open
huchangyang wants to merge 11 commits into
feature/coherence-matrix-split-windows-cleanfrom
feature/coherence-matrix-time-axis-clean
Open

Feature/coherence matrix time axis clean#2
huchangyang wants to merge 11 commits into
feature/coherence-matrix-split-windows-cleanfrom
feature/coherence-matrix-time-axis-clean

Conversation

@huchangyang

Copy link
Copy Markdown
Owner

Description of proposed changes

This PR adds an optional continuous time-axis view for coherence matrix plotting.

The new --time-axis option in plot_coherence_matrix.py displays the coherence matrix using acquisition dates as a continuous time axis instead of image indices. Each acquisition is represented by a date-centered cell. Internal cell boundaries are placed at the midpoint between adjacent acquisition dates, while the first and last cells are extended outward by the adjacent acquisition spacing.

image

This makes temporal gaps in the interferogram network visible in the matrix view. The existing upper/lower triangle convention is preserved: the upper triangle shows used interferograms, and the lower triangle shows all available interferograms.

This PR also adds coherenceMatrixTimeAxis.pdf to plot_network.py outputs for coherence datasets.

Depends on: PR1 (feature/coherence-matrix-split-windows-clean)

Reminders

  • Fix #xxxx
  • Pass Pre-commit check (green)
  • Pass Codacy code review (green)
  • Pass Circle CI test (green)
  • Make sure that your code follows our style. Use the other functions/files as a basis.
  • If modifying functionality, describe changes to function behavior and arguments in a comment below the function declaration.
  • If adding new functionality, add a detailed description to the documentation and/or an example.

* plot_coherence_matrix: split image and matrix windows

* cli/plot_coh_matrix: comment out mpl_disconnect to be consistent with cli/tsview.py.

* more comment & rm redundant code

* show lat/lon info in the terminal whenever it's available

---------

Co-authored-by: Zhang Yunjun <yunjunz@outlook.com>
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
@huchangyang huchangyang force-pushed the feature/coherence-matrix-time-axis-clean branch 4 times, most recently from 57db440 to 7a8a22d Compare June 4, 2026 14:12
dependabot Bot and others added 4 commits July 6, 2026 16:13
…lab#1497)

Bumps [akhilerm/tag-push-action](https://github.com/akhilerm/tag-push-action) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/akhilerm/tag-push-action/releases)
- [Commits](akhilerm/tag-push-action@v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: akhilerm/tag-push-action
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…rlab#1486)

* add basic entries to enable OPERA tropo support for parsing in MintPy

* first attempt on tropo_opera.py

* add opera functions to enable its method for tropo correction

* Added subsetting instead of full file download. This speeds up drastically

* fix: address review feedback (isort, memory scaling, docstring, CLI typos)

- Remove extra blank line after imports to satisfy isort
- Rewrite interpolation: cubic-lateral per height level then linear-vertical to reduce memory from O(npixels*ny*nx) to O(nz*npixels)
- Fix docstring in read_opera_total_delay_cube (one-level buffer -> bracketing)
- Fix CLI typos: Tropopsheric, trospheric, prerp, placeholder descriptions
- Add _ensure_ascending helper for axis/data orientation

* fix: pyupgrade f-string parens + add asf_search to requirements

- Remove redundant parentheses around f-strings (pyupgrade --py36-plus)
- Add asf_search to requirements.txt (needed for OPERA download)

* add fsspec[http] to requirements for OPERA remote subsetting

fsspec[http] includes aiohttp, enabling byte-range HTTP downloads
for efficient spatial/vertical subsetting of OPERA ZTD files.

* fsspec requires python=3.10+

* Implement geometry grid reprojection support for UTM TS

* fix: remove duplicate readfile import and trailing whitespace

* fix: sort imports (isort) in calc_zenith_delay_from_opera_file

* Refactor calc_zenith_delay_from_opera_file parameters

* Fix formatting in tropo_opera.py

* Refactor code for improved readability and structure

* Optimize calc_zenith_delay_from_opera_file function

Refactor zenith delay calculation for memory efficiency and clarity.

* Update authorship and improve docstring clarity

* Fix comment formatting in __main__.py

* Update author information and fix docstring format

* Fix docstring formatting in __main__.py

Removed unnecessary quotes from the docstring.

* fix: docstring D212 violations — summary on first line (Codacy)

* fix: convert multi-line docstrings to single-line to satisfy both D212+D213 (Codacy)

* cli/tropo_opera: minor print out msg re-org

* pre-commit fix

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
Co-authored-by: Zhang Yunjun <yunjunz@outlook.com>
Co-authored-by: Simran S Sangha <sssangha@ucla.edu>
…allel via smallbaselineApp (insarlab#1503)

+ view.py:
   - set matplotlib.use('Agg') BEFORE importing pyplot, and switch backend in `viewer.configure()`.
   - properly close fig object
   - do NOT specify the `num` while calling subplots(), to avoid potential conflicts between parallel processes of view.py calls

+ smallbaselineApp.plot_results(): use `multiprocessing` backend while calling joblib.Parallel()
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@huchangyang huchangyang force-pushed the feature/coherence-matrix-time-axis-clean branch 2 times, most recently from 0d77c1e to 9a052db Compare July 9, 2026 08:35
Place month/year labels on the bottom and left with span-aware spacing,
center year labels on Jan-1 major ticks, and reserve margin for external
labels in interactive and plot_network time-axis figures.
@huchangyang huchangyang force-pushed the feature/coherence-matrix-time-axis-clean branch from 9a052db to c8f397b Compare July 9, 2026 08:48
Merge the time-axis pixel plot path into plot_coherence_matrix4pixel.
Keep time-axis tick formatting in helper functions without changing
auto_adjust_xaxis_date().
@huchangyang huchangyang force-pushed the feature/coherence-matrix-time-axis-clean branch from b927a2d to 906e3dc Compare July 9, 2026 10:37
Extend auto_adjust_xaxis_date() with time_axis options instead of helper
functions; apply span-aware every_month/every_year adjustments after the
existing tick-step rules.
@huchangyang huchangyang force-pushed the feature/coherence-matrix-time-axis-clean branch from 710b5c8 to 65f0849 Compare July 9, 2026 10:47
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.

3 participants