Skip to content

Commit

Permalink
Merge pull request #199 from ASFHyP3/develop
Browse files Browse the repository at this point in the history
Release V1.0.0
  • Loading branch information
forrestfwilliams authored Feb 14, 2024
2 parents aaeeefb + 593e7e6 commit 7148214
Show file tree
Hide file tree
Showing 21 changed files with 3,223 additions and 349 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -240,3 +240,7 @@ Sessionx.vim
tags
# Persistent undo
[._]*.un~

# Test data
tests/data/merge/*
tests/data/water_mask_output.*
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,20 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [PEP 440](https://www.python.org/dev/peps/pep-0440/)
and uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0]
### Added
* `merge_tops_bursts.py` file and workflow for merge burst products created using insar_tops_bursts.
* `merge_tops_bursts` entrypoint
* `merge_tops_bursts` README template and creation functionality
* several classes and functions to `burst.py` and `utils.py` to support `merge_tops_burst`.
* tests for the added functionality.
* `tests/data/merge.zip` example data for testing merge workflow.
* `tests/data/create_merge_test_data.py` for generating merge workflow test data.

### Changed
* `insar_tops_burst.py` to add four radar coordinate datasets to burst InSAR products (wrapped phase, lat, lon, los).
* README files generated in `insar_tops_burst.py` are now use blocks and extends the `insar_burst_base.md.txt.j2` jinja template.

## [0.10.0]
### Added
* Support for a new water masking dataset based off of OpenStreetMaps and ESA WorldCover data.
Expand Down
28 changes: 28 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,34 @@ python -m hyp3_isce2 ++process insar_tops_burst \
This command will create a Sentinel-1 interferogram that contains a deformation signal related to a
2020 Iranian earthquake.

### Product Merging Utility Usage
**This feature is under active development and is subject to change!**

Burst InSAR products created using the `insar_tops_burst` workflow can be merged together using the `merge_tops_burst` workflow. This can be useful when the deformation signal you'd like to observe spans multiple bursts. It can be called using the following syntax:
```
python -m hyp3_isce2 ++process merge_tops_bursts \
PATH_TO_UNZIPPED_PRODUCTS \
--apply-water-mask True
```
Where `PATH_TO_UNZIPPED_PRODUCTS` is the path to a directory containing unzipped burst InSAR products. For example:
```bash
PATH_TO_UNZIPPED_PRODUCTS/
├─ S1_136232_IW2_20200604_20200616_VV_INT80_663F/
├─ S1_136231_IW2_20200604_20200616_VV_INT80_529D/
```
In order to be merging eligible, all burst products must:
1. Have the same reference and secondary dates
1. Have the same polarization
1. Have the same multilooking
1. Be from the same relative orbit
1. Be contiguous

The workflow should through an error if any of these conditions are not met.

**Merging burst InSAR products requires extra data that is not contained in the production HyP3 Burst InSAR products. For the time being, to be merging eligible burst products must be created locally using your own installation of `hyp3-isce2` from the `merge_bursts` branch of this repository!**

As mentioned above this feature is under active development, so we welcome any feedback you have!

### Options
To learn about the arguments for each workflow, look at the help documentation
(`python -m hyp3_isce2 ++process [WORKFLOW_NAME] --help`).
Expand Down
6 changes: 3 additions & 3 deletions images/coverage.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 2 additions & 3 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -55,11 +55,13 @@ Documentation = "https://hyp3-docs.asf.alaska.edu"
insar_tops_burst = "hyp3_isce2.insar_tops_burst:main"
insar_tops = "hyp3_isce2.insar_tops:main"
insar_stripmap = "hyp3_isce2.insar_stripmap:main"
merge_tops_bursts = "hyp3_isce2.merge_tops_bursts:main"

[project.entry-points.hyp3]
insar_tops_burst = "hyp3_isce2.insar_tops_burst:main"
insar_tops = "hyp3_isce2.insar_tops:main"
insar_stripmap = "hyp3_isce2.insar_stripmap:main"
merge_tops_bursts = "hyp3_isce2.merge_tops_bursts:main"

[tool.pytest.ini_options]
testpaths = ["tests"]
Expand All @@ -77,6 +79,3 @@ readme = {file = ["README.md"], content-type = "text/markdown"}
where = ["src"]

[tool.setuptools_scm]

[tool.ruff]
line-length = 120
2 changes: 1 addition & 1 deletion src/hyp3_isce2/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def main():
parser = argparse.ArgumentParser(prefix_chars='+', formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'++process',
choices=['insar_tops_burst', 'insar_tops', 'insar_stripmap'],
choices=['insar_tops_burst', 'insar_tops', 'insar_stripmap', 'merge_tops_bursts'],
default='insar_tops_burst',
help='Select the HyP3 entrypoint to use', # HyP3 entrypoints are specified in `pyproject.toml`
)
Expand Down
Loading

0 comments on commit 7148214

Please sign in to comment.