Skip to content

Commit

Permalink
Joss (#322)
Browse files Browse the repository at this point in the history
* start paper folder

* add skele

* fix names

* add fig placeholder, new ref

* fix makefile

* fix paper instructions

* add ref

* more refs

* refs

* draft to end

* add paper action

* missing space

* no need to run full test for this branch

* typo

* fix ref

* +

* Enforce consistency between jax and jaxlib (#252)

Consistency between jax and jaxlib can be enforced by installing the most recent versions via pip, which is currently not possible through conda where the two packages are out of sync.

This is necessary as dolphin would crash early on in processing if the two packages are not in sync.

* Disable corrections part of pytest, add one for timeseries (#254)

* dont exit before unwrapping for full test

* make test data have mostly signal, not pure noise

* fix the failing test due to len 1 stack losing dimension

* raise an error if the reference point selection fails

* fix 3d writing, pytest gets farther

* `max_bandwidth` can be 1: fix `gt` pydantic restriction

* try more

* disable corrections pytest

This is very annoying to get working with fake data.
The current error is:
RuntimeError: The -tr option was used, but there's no geotransform or it is
rotated.  This configuration is not supported.

The geometdata for statis layers is wrong

* fix jax warning

* [skip ci] fix changelog date

* Add option to toggle off inversion (#255)

* Add option to toggle off inversion

Add option to toggle inversion in the config function. By default set to true, like for unwrapping.

This allows for more flexibility when running especially large-scale processing.

* Make downstream updates to displacement.py

* Revert outdated disp changes

* Revert another vestigial change to displacement

* Add `similarity` module (#256)

* add similarity module and `median_similarity` funciton

* extract `process_blocks` to an io module

* add basic tests

* add max sim, add process blocks function

* fix argument ordering for `invert`

* fix block proc ordering and protocol definitions

* fix process check, zip self similarity check

* make strictly less

* remove `-tap` option from `gdal_merge.py` call (#257)

* Goldstein filtering step for unwrapping workflow (#247)

* Implement goldstein filtering step for unwrapping workflow

* Fix linter checks, reformat

* Default goldstein filtering to false

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix mypy/ruff issues, add type annotations

* Fix numpy typing annotation

* Add goldstein pytest

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#263)

* [pre-commit.ci] pre-commit autoupdate

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.2.2 → v0.3.2](astral-sh/ruff-pre-commit@v0.2.2...v0.3.2)
- [github.com/pre-commit/mirrors-mypy: v1.8.0 → v1.9.0](pre-commit/mirrors-mypy@v1.8.0...v1.9.0)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Create dependabot.yml (#266)

* Bump the actions group with 7 updates (#267)

* Bump the actions group with 7 updates

Bumps the actions group with 7 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `3` | `4` |
| [actions/cache](https://github.com/actions/cache) | `3` | `4` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `3` | `4` |
| [actions/setup-python](https://github.com/actions/setup-python) | `4` | `5` |
| [docker/login-action](https://github.com/docker/login-action) | `2` | `3` |
| [docker/build-push-action](https://github.com/docker/build-push-action) | `4` | `5` |
| [akhilerm/tag-push-action](https://github.com/akhilerm/tag-push-action) | `2.1.0` | `2.2.0` |


Updates `actions/checkout` from 3 to 4
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v3...v4)

Updates `actions/cache` from 3 to 4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v3...v4)

Updates `actions/upload-artifact` from 3 to 4
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@v3...v4)

Updates `actions/setup-python` from 4 to 5
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](actions/setup-python@v4...v5)

Updates `docker/login-action` from 2 to 3
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](docker/login-action@v2...v3)

Updates `docker/build-push-action` from 4 to 5
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](docker/build-push-action@v4...v5)

Updates `akhilerm/tag-push-action` from 2.1.0 to 2.2.0
- [Release notes](https://github.com/akhilerm/tag-push-action/releases)
- [Commits](akhilerm/tag-push-action@v2.1.0...v2.2.0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: actions
- dependency-name: akhilerm/tag-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <[email protected]>

* add write package permission

see https://docs.github.com/en/actions/publishing-packages/publishing-docker-images#publishing-images-to-github-packages

also https://stackoverflow.com/questions/76607955/error-denied-installation-not-allowed-to-create-organization-package

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Scott Staniewicz <[email protected]>

* Toggle zero mask and apply to unw phase field (#262)

* Add option to toggle zeromsk for unw

* Add unwrapping mask

* snaphu ci string fix

* tophu ci str fix

* remove typo from common

* Pass zero unw files if applicable

* Fix snaphu cli error

---------

Co-authored-by: Simran S Sangha <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#270)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.2 → v0.3.3](astral-sh/ruff-pre-commit@v0.3.2...v0.3.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Add interpolation option for unwrapping (#264)

* add interpolation option for unwrapping

* add reference, convert float weights once

* remove the extra all check

* Remove pymp reference

* remove todo

* Pass through the correlation threshold for interpolation

The last implementation had a default of 0.0
Since every weight was >=0, no pixels were interpolated.

* support to have both interpolation and filtering

* change the values of all zero sample interferogram

* add test for interpolation loop

* change docstring to match datatype

---------

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: Scott Staniewicz <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#271)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.3 → v0.3.4](astral-sh/ruff-pre-commit@v0.3.3...v0.3.4)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Grow conncomp (#272)

* add grow conncomp

* change typing

* select reference point with a general condition file

* Update src/dolphin/timeseries.py

* use a more generic form of Callable

* use with to open files

---------

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: Geoffrey Gunter <[email protected]>

* [pre-commit.ci] pre-commit autoupdate (#273)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.4 → v0.3.5](astral-sh/ruff-pre-commit@v0.3.4...v0.3.5)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#275)

updates:
- [github.com/pre-commit/pre-commit-hooks: v4.5.0 → v4.6.0](pre-commit/pre-commit-hooks@v4.5.0...v4.6.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Compressed slc naming (#274)

* change compressed slc naming in unit tests
* change default for tilecostthreshold

---------

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: Scott Staniewicz <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Docs cleanup (#268)

* use `pymdownx.snippets` to cut repeated docs from readme. add `CONTRIBUTING.MD`

* remove the extra gpu env file since Jax needs separate installs

* Revert #252

* update contrib, setup, tutorial map

* add JAX GPU setup notes

* typos

* update the change log (#276)

* update the change log

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#278)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.5 → v0.3.7](astral-sh/ruff-pre-commit@v0.3.5...v0.3.7)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Cli timeseries (#279)

* add timeseries step to cli

* pre-commit fix

---------

Co-authored-by: mirzaees <[email protected]>

* [pre-commit.ci] pre-commit autoupdate (#280)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.3.7 → v0.4.1](astral-sh/ruff-pre-commit@v0.3.7...v0.4.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* correct reference point typing (#281)

* correct reference point typing

* correct coherence threshold typing

* correct raising error

---------

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#283)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.1 → v0.4.2](astral-sh/ruff-pre-commit@v0.4.1...v0.4.2)
- [github.com/pre-commit/mirrors-mypy: v1.9.0 → v1.10.0](pre-commit/mirrors-mypy@v1.9.0...v1.10.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix bug for get dates (#284)

* fix bug for get dates

* add comments to clarify

---------

Co-authored-by: mirzaees <[email protected]>

* temporary fix for compressed SLC metadata (#287)

* temporary fix for compressed slc metadata

Co-authored-by: mirzaees <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* [pre-commit.ci] pre-commit autoupdate (#286)

updates:
- [github.com/astral-sh/ruff-pre-commit: v0.4.2 → v0.4.3](astral-sh/ruff-pre-commit@v0.4.2...v0.4.3)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Enforce convention for conncomp files to be consistent with unw files (#288)

* Do not add COR suffix, in case CONCOMP file

* Update constants for conncomp

* fix names

* add fig placeholder, new ref

fix makefile

fix paper instructions

add ref

more refs

refs

draft to end

add paper action

missing space

no need to run full test for this branch

typo

fix ref

+

refs, typos

* reword example

* This is a combination of 2 commits.

reword example

frontmatter yaml

* edits for draft

* add image for figure plot

* add SNWG ack.

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Simran S Sangha <[email protected]>
Co-authored-by: Ryan Burns <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Simran S Sangha <[email protected]>
Co-authored-by: Sara Mirzaee <[email protected]>
Co-authored-by: mirzaees <[email protected]>
Co-authored-by: Geoffrey Gunter <[email protected]>
  • Loading branch information
9 people authored Jun 21, 2024
1 parent ae5e5a6 commit 87571f8
Show file tree
Hide file tree
Showing 12 changed files with 736 additions and 1 deletion.
21 changes: 21 additions & 0 deletions .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Draft PDF
on: [push]

jobs:
paper:
runs-on: ubuntu-latest
name: Paper Draft
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build draft PDF
uses: openjournals/openjournals-draft-action@master
with:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper/paper.md
- name: Upload
uses: actions/upload-artifact@v3
with:
name: paper
path: paper/paper.pdf
8 changes: 7 additions & 1 deletion .github/workflows/test-build-push.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
name: Pytest, build docker image, push to GHCR

on: [pull_request, push]
on:
push:
branches-ignore:
- 'joss'
pull_request:
branches-ignore:
- 'joss'

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref }}
Expand Down
102 changes: 102 additions & 0 deletions docs/references.bib
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,37 @@ @article{Ansari2021StudySystematicBias
keywords = {Big Data,Decorrelation,deformation estimation,differential interferometric synthetic aperture radar (SAR) (DInSAR),distributed scatterers (DSs),error analysis,Fading channels,Moisture,near real-time (NRT) processing,phase inconsistencies,signal decorrelation,Strain,Synthetic aperture radar,Systematics,Time series analysis,time-series analysis}
}

@article{Bekaert2021IntroducingOPERAProject,
title = {Introducing the {{OPERA Project}} for {{Systematic Surface Water}}, {{Surface Deformation}}, and {{Surface Disturbance Data Products}} from {{Satellite Observations}}},
author = {Bekaert, David and Fattahi, Heresh and Jones, John and Hansen, Matthew and Kwoun, Oh-Ig and Lewis, Steven and Meyer, Franz and Osmanoglu, Batuhan and Marshak, Charles and Hamlington, Benjamin and Bato, Mary Grace and Brancato, Virginia and Shiroma, Gustavo and Jung, Jungkyo and Jai, Benhan and Buckley, Sean and Cruz, Jennifer},
year = {2021},
month = dec,
volume = {2021},
pages = {G42A-07},
urldate = {2024-05-15}
}

@misc{Bradbury2018JAXComposableTransformations,
title = {{{JAX}}: Composable Transformations of {{Python}}+{{NumPy}} Programs},
author = {Bradbury, James and Frostig, Roy and Hawkins, Peter and Johnson, Matthew James and Leary, Chris and Maclaurin, Dougal and Necula, George and Paszke, Adam and VanderPlas, Jake and {Wanderman-Milne}, Skye and Zhang, Qiao},
year = {2018}
}

@article{Chen2001TwodimensionalPhaseUnwrapping,
title = {Two-Dimensional Phase Unwrapping with Use of Statistical Models for Cost Functions in Nonlinear Optimization},
author = {Chen, Curtis W. and Zebker, Howard A.},
year = {2001},
month = feb,
journal = {Journal of the Optical Society of America A},
volume = {18},
number = {2},
pages = {338},
issn = {1084-7529, 1520-8532},
doi = {10.1364/JOSAA.18.000338},
urldate = {2024-05-16},
langid = {english}
}

@article{Chen2012IonosphericArtifactsSimultaneous,
title = {Ionospheric {{Artifacts}} in {{Simultaneous L-Band InSAR}} and {{GPS Observations}}},
author = {Chen, Jingyi and Zebker, Howard A.},
Expand Down Expand Up @@ -68,6 +99,32 @@ @article{Chen2015PersistentScattererInterpolation
keywords = {decorrelation,groundwater,InSAR deformation map,persistent scatterers}
}

@article{Fattahi2019FRInGEFullResolutionInSAR,
title = {{{FRInGE}}; {{Full-Resolution InSAR}} Timeseries Using {{Generalized Eigenvectors}}},
author = {Fattahi, H. and Agram, P. S. and Tymofyeyeva, E. and Bekaert, D. P.},
year = {2019},
month = dec,
volume = {2019},
pages = {G11B-0514},
urldate = {2024-05-16},
keywords = {1209 Tectonic deformation,1211 Non-tectonic deformation,1240 Satellite geodesy: results,1241 Satellite geodesy: technical issues,GEODESY AND GRAVITY}
}

@article{Ferretti2011NewAlgorithmProcessing,
title = {A New Algorithm for Processing Interferometric Data-Stacks: {{SqueeSAR}}},
author = {Ferretti, Alessandro and Fumagalli, Alfio and Novali, Fabrizio and Prati, Claudio and Rocca, Fabio and Rucci, Alessio},
year = {2011},
journal = {IEEE Transactions on Geoscience and Remote Sensing},
volume = {49},
number = {9},
pages = {3460--3470},
publisher = {IEEE},
issn = {01962892},
doi = {10.1109/TGRS.2011.2124465},
isbn = {0196-2892},
keywords = {1pass,Coherence matrix,distributed scatterers (DS),InSAR,permanent scatterers,space-adaptive filtering}
}

@article{Fornaro2015CAESARApproachBased,
title = {{{CAESAR}}: {{An Approach Based}} on {{Covariance Matrix Decomposition}} to {{Improve Multibaseline}}--{{Multitemporal Interferometric SAR Processing}}},
shorttitle = {{{CAESAR}}},
Expand Down Expand Up @@ -97,6 +154,24 @@ @article{Guarnieri2008ExploitationTargetStatistics
keywords = {Decorrelation,decorrelation models,ENVISAT images,geophysical techniques,geophysics computing,image processing,Information retrieval,interferometric phases,Interferometry,line-of-sight displacement,line-of-sight motion,Maximum likelihood estimation,Monte Carlo simulations,multiimage synthetic aperture radar interferometry,Phase estimation,physical parameters,radar interferometry,Radar scattering,remote sensing by radar,residual topography,SAR interferometry applications,Statistical distributions,statistics,Statistics,stochastic processes,Surfaces,synthetic aperture radar,Synthetic aperture radar interferometry,target statistics,topography (Earth),Yield estimation}
}

@article{HoTongMinh2022CompressedSARInterferometry,
title = {Compressed {{SAR Interferometry}} in the {{Big Data Era}}},
author = {Ho Tong Minh, Dinh and Ngo, Yen-Nhi},
year = {2022},
month = jan,
journal = {Remote Sensing},
volume = {14},
number = {2},
pages = {390},
publisher = {Multidisciplinary Digital Publishing Institute},
issn = {2072-4292},
doi = {10.3390/rs14020390},
urldate = {2024-05-15},
copyright = {http://creativecommons.org/licenses/by/3.0/},
langid = {english},
keywords = {ComSAR,InSAR,PSDS,PSI,subsidence,TomoSAR,Vauvert}
}

@article{Mirzaee2023NonlinearPhaseLinking,
title = {Non-Linear Phase Linking Using Joined Distributed and Persistent Scatterers},
author = {Mirzaee, Sara and Amelung, Falk and Fattahi, Heresh},
Expand Down Expand Up @@ -127,6 +202,18 @@ @article{Parizzi2011AdaptiveInSARStack
keywords = {adaptive InSAR stack multilooking,Adaptive multilooking,amplitude-based algorithm,backscatter,backscatter amplitude statistics,Coherence,coherence estimation,complex correlation,interferometric phase,interferometric synthetic aperture radar capability,interferometry,Kernel,phase signatures,Pixel,radar backscatter statistics,radar imaging,radar interferometry,Remote sensing,Shape,synthetic aperture radar,Synthetic aperture radar,synthetic aperture radar (SAR)}
}

@inproceedings{Rosen2018InSARScientificComputing,
title = {The {{InSAR Scientific Computing Environment}} 3.0: {{A Flexible Framework}} for {{NISAR Operational}} and {{User-Led Science Processing}}},
author = {Rosen, Paul A. and Gurrola, Eric M. and Agram, Piyush and Cohen, Joshua and Lavalle, Marco and Riel, Bryan V. and Fattahi, Heresh and Aivazis, Michael A.G. and Simons, Mark and Buckley, Sean M.},
year = {2018},
month = jul,
pages = {4897--4900},
publisher = {IEEE},
address = {Valencia},
doi = {10.1109/IGARSS.2018.8517504},
langid = {english},
}

@article{Siddiqui1962ProblemsConnectedRayleigh,
title = {Some Problems Connected with {{Rayleigh}} Distributions},
author = {Siddiqui, M.M.},
Expand Down Expand Up @@ -154,6 +241,21 @@ @article{Wang2022AccuratePersistentScatterer
keywords = {Decorrelation,Interferometric Synthetic Aperture Radar (InSAR),Persistent Scatterer (PS),Phase measurement,phase similarity,Radar,Radar measurements,Radar scattering,Strain,surface deformation,Synthetic aperture radar}
}

@article{Yunjun2019SmallBaselineInSAR,
title = {Small Baseline {{InSAR}} Time Series Analysis: {{Unwrapping}} Error Correction and Noise Reduction},
shorttitle = {Small Baseline {{InSAR}} Time Series Analysis},
author = {Yunjun, Zhang and Fattahi, Heresh and Amelung, Falk},
year = {2019},
month = dec,
journal = {Computers \& Geosciences},
volume = {133},
pages = {104331},
issn = {00983004},
doi = {10.1016/j.cageo.2019.104331},
urldate = {2020-08-14},
langid = {english}
}

@article{Zwieback2022CheapValidRegularizers,
title = {Cheap, Valid Regularizers for Improved Interferometric Phase Linking},
author = {Zwieback, S.},
Expand Down
7 changes: 7 additions & 0 deletions paper/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
DOCKER_CMD = docker run --rm -it -v $(PWD):/data -u $$(id -u):$$(id -g)
PLATFORM = linux/amd64

.PHONY: build

build:
$(DOCKER_CMD) --platform $(PLATFORM) openjournals/inara -o pdf,crossref paper.md
9 changes: 9 additions & 0 deletions paper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# JOSS paper submission

To build the paper locally:

```bash
make build
```

The default for `make build` assumes you are running an ARM Mac; if you are not, you need to specify the `PLATFORM` variable (e.g. `PLATFORM=linux/amd64 make build`)
44 changes: 44 additions & 0 deletions paper/codemeta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
"@type": "Code",
"author": [
{
"@id": "https://orcid.org/0000-0002-3055-5731",
"@type": "Person",
"email": "[email protected]",
"name": "Scott Staniewicz",
"affiliation": "NASA Jet Propulsion Laboratory"
},
{
"@id": "",
"@type": "Person",
"email": "",
"name": "Sara Mirzaee",
"affiliation": "NASA Jet Propulsion Laboratory"
},
{
"@id": "",
"@type": "Person",
"email": "",
"name": "Geoffrey Gunter",
"affiliation": "NASA Jet Propulsion Laboratory"
},
{
"@id": "",
"@type": "Person",
"email": "",
"name": "Heresh Fattahi",
"affiliation": "NASA Jet Propulsion Laboratory"
}
],
"identifier": "",
"codeRepository": "https://github.com/isce-framework/dolphin",
"datePublished": "2024-03-05",
"dateModified": "2024-03-05",
"dateCreated": "2024-03-05",
"description": "An InSAR phase linking library for large scale PS/DS processing",
"keywords": "insar, time series, remote sensing, phase linking, deformation, persistent scatterers",
"license": "BSD-3 OR Apache 2.0",
"title": "dolphin",
"version": "v0.16.0"
}
Binary file added paper/figures/bristol-velocity-sequential.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions paper/figures/make_plot.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import sys
from pathlib import Path

import apertools.plotting
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
import rioxarray

p = Path(__file__).parent

filename = "velocity_compressed.tif"
image = rioxarray.open_rasterio(p / filename).sel(band=1)
image_ll = image[::4, ::4].rio.reproject("EPSG:4326")

fig, ax = apertools.plotting.plot_image_with_background(
image_ll.where(image_ll != 0),
cbar_label="[mm / year]",
cmap="RdBu_r",
vmax=10,
vmin=-10,
tile_zoom_level=9,
figsize=(4),
interpolation="none",
)
apertools.plotting.add_ticks(ax, resolution=0.5)
apertools.plotting.add_zebra_frame(ax, crs=ccrs.PlateCarree())

fig.tight_layout()
if len(sys.argv) > 1 and sys.argv[1] == "--show":
plt.show(block=True)

outname = p / "bristol-velocity-sequential.png"
fig.savefig(outname, dpi=300, transparent=True)
Binary file added paper/figures/velocity_compressed.tif
Binary file not shown.
Loading

0 comments on commit 87571f8

Please sign in to comment.