e823b4d | pre-commit-ci[bot] | 26 March 2024, 01:00:30 UTC | [pre-commit.ci] pyupgrade: v3.15.1 → v3.15.2 (#1168) updates: - [github.com/asottile/pyupgrade: v3.15.1 → v3.15.2](https://github.com/asottile/pyupgrade/compare/v3.15.1...v3.15.2) | 26 March 2024, 01:00:30 UTC |
ccc946c | Sara Mirzaee | 25 March 2024, 16:58:26 UTC | `prep_nisar`: update for changes in NISAR GUNW products (#1158) * add mask to inputs * remove output dir from prep_nisar * update for mask and correct lat/lon subset * add condition for other grib file pattern * correct order of bounds * use gdalwarp to transform projection * change to new GUNW structure --------- Co-authored-by: mirzaees <smirzaee@aurora.jpl.nasa.gov> | 25 March 2024, 16:58:26 UTC |
e7480d6 | Emre Havazli | 20 March 2024, 02:33:24 UTC | `conncomp.plot_bridge(): improve memory usage (#1155) Improve the memory usage while calling `connectComponent.plot_bridge()` in a loop by avoiding creating separate mask arrays. | 20 March 2024, 02:33:24 UTC |
39762c8 | Zhang Yunjun | 19 March 2024, 08:01:19 UTC | `tropo_pyaps3`: use larger SNWE local files if available (#1164) This PR searches existing local grib files with larger SNWE extent than the input required SWNE, uses that if more local files exist, thus, could avoid re-downloading from ECMWF as much as possible. + add `get_larger_snwe_in_local_files()` to find and locate the local files with larger SNWE extent than the input original ones, and use that if more local files exist. + move many tiny functions as sub-functions inside the main ones, to improve the code readability (simpler code logic flow) | 19 March 2024, 08:01:19 UTC |
5dd9658 | dependabot[bot] | 18 March 2024, 11:28:15 UTC | build(deps): bump akhilerm/tag-push-action from 2.1.0 to 2.2.0 (#1163) Bumps [akhilerm/tag-push-action](https://github.com/akhilerm/tag-push-action) from 2.1.0 to 2.2.0. - [Release notes](https://github.com/akhilerm/tag-push-action/releases) - [Commits](https://github.com/akhilerm/tag-push-action/compare/v2.1.0...v2.2.0) --- updated-dependencies: - dependency-name: akhilerm/tag-push-action 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> | 18 March 2024, 11:28:15 UTC |
b0336c1 | Zhang Yunjun | 18 March 2024, 11:27:31 UTC | support `LAT/LON_REF1/2/3/4` in UTM coordinates (#1161) This commit adds the support of UTM coordinates for the `LAT/LON_REF1/2/3/4` metadata in all related docs/code, in addition to the existing support for the Y/X_FIRST/STEP/UNIT and REF_LAT/LON, UTM_ZONE and EPSG. Thus, all mintpy metadata now supports UTM coordinates. + docs/api/attributes.md: ensure all LAT/LON attributes represent both latitude/northing and longitude/easting in degrees/meters + utils.utils0.utm2latlon/latlon2utm(): support list/tuple input types + prep_hyp3: - do not convert UTM to lat/lon for LAT/LON_REF1/2/3/4 - add HDF-EOS5 metadata (`beam_mode` and `unwrap_method`) from the HyP3 metadata file + save_hdfeos5.metadata_mintpy2unavco(): convert UTM to lat/lon while calculating the scene_footprint and subset filename suffix + tests/configs/RidgecrestSenDT71: turn ON mintpy.save.hdfEos5 and mintpy.save.hdfEos5.subset options + .circleci/config.yml: add RidgecrestSenDT71 (HyP3) to the routine integration test + tropo_pyaps3.get_bounding_box(): convert UTM to lat/lon | 18 March 2024, 11:27:31 UTC |
0c45019 | Zhang Yunjun | 18 March 2024, 06:06:37 UTC | bugfix for `coord.lalo2yx()` when lat/lon have diff sizes (#1160) + `objects.coord.coordinate`: - `_clean_coord()`: 1) take two arg instead of one, and ensure the two coords have the same size; 2) support `None` as input - `lalo2yx/yx2lalo()`: support `None` as inputs + `subset.subset_input_dict2box()`: use `None` as input to convert one type of coord only. + `utils.arg_utils.add_subset_argument()`: remove the unused option name alias (`--suby/x/lat/lon`), as they are not very readable and not frequently used. | 18 March 2024, 06:06:37 UTC |
97c7004 | Zhang Yunjun | 14 March 2024, 03:00:15 UTC | utils0: add `epsg_code2utm_zone()` (#1159) + utils.utils0.py: add `epsg_code2utm_zone()` to convert the EPSG code to the UTM zone string. --------- Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com> | 14 March 2024, 03:00:15 UTC |
5683092 | Forrest Williams | 12 March 2024, 17:14:14 UTC | UTM support for `view --show-gps` + dual-coord input for `lalo2yx/yx2lalo()` (#1153) + utils.plot.py: - set `plt.rcParams["axes.formatter.limits"]` to disable scientific notation for UTM coordinates. - `plot_gps()`: convert between lat/lon and UTM coordinates to support files in UTM coordinates for `view.py --show-gps` option + objects.coord.py: - `yx2lalo()` and `lalo2yx()`: use dual-coord inputs, instead of single-coord inputs, for more convenient usage, and update all the instances throughout the repo - `lalo2yx()` and `geo2radar()`: attempt to convert lat/lon into UTM coordinates, if file/metadata is in UTM while the inputs are in WGS 84 - add `_clean_coord()` for type checking / cleaning and easy re-use --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 12 March 2024, 17:14:14 UTC |
7ac3455 | Zhang Yunjun | 10 March 2024, 02:00:56 UTC | extend `--style scatter` to `tsview` (#1157) | 10 March 2024, 02:00:56 UTC |
05f803a | Falk Amelung | 09 March 2024, 15:32:25 UTC | `view`: support scatter plot via `--style scatter` option (#1146) + `cli.view`: - add `--style` option to be able to switch between image and scatter style, leveraging the `matplotlib.pyplot.imshow/scatter()` functions. This is useful for high-resolution data with lots of holes from unsuccessful unwrapping. Plotting larger than pixel size fills holes like a low-pass filter. - add `--scatter-size` option to be able to change the scatter plot marker size. + `view.plot_slice()`: - add a new sub-function `extent2meshgrid` to calculate the xx/yy coordinates from a given extent and data shape. - call `matplotlib.pyplot.scatter()` for the scatter plot in both geo/yx coordinates. Note that this functionality is for the single plot scenario ONLY. --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 09 March 2024, 15:32:25 UTC |
590a067 | Zhang Yunjun | 09 March 2024, 15:22:40 UTC | `image_stitch`: update `REF_Y/X` after mosaicking in the output file (#1156) + image_stitch: update REF_Y/X after stitching, and/or remove SUBSET_Y/XMIN/MAX + save_kmz: use a different data png file name to avoid conflict with / overwrite view.py's default output file name | 09 March 2024, 15:22:40 UTC |
0363d89 | Talib Oliver | 05 March 2024, 16:01:39 UTC | `utils0.incidence_angle`: read from metadata directly if available for `dimension==0` (#1152) * `utils0.incidence_angle()`: read the center incidence angle from metadata if available and use it as the preferred option, when the dimension is 0. * docs/attr: add `CENTER_INCIDENCE_ANGLE` description --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 05 March 2024, 16:01:39 UTC |
502bfa1 | Zhang Yunjun | 04 March 2024, 02:15:16 UTC | `modify_network`: add `--ex-date12` option (#1151) This PR adds the capability to exclude interferometric pairs given the list of date12, besides given the ifgram index. The benefit is that it won't change after updating interferogram stack. + (cli.)modify_network.py: add --exclude-date12 option to exclude pairs given date1_date2 + defaults.smallbaselineApp(_auto).cfg: add mintpy.network.excludeDate12 option with auto value of no | 04 March 2024, 02:15:16 UTC |
8c33b9a | Zhang Yunjun | 04 March 2024, 02:14:33 UTC | `autoPath` for `alosStack`: supp custom multilook # + ion phase/coherence (#1150) This PR further support the auto path setting for alosStack products, after https://github.com/insarlab/MintPy/pull/1119. + defaults.auto_path: add get_multilook_suffix() to grab the custom multilook suffix in the interferogram file name + defaults.auto_path: get_reference_date(): minor bug fix in the print out msg + defaults.auto_path.AUTO_PATH_ISCE_ALOS: add `mintpy.load.ion*File` default file patterns + utils.plot.plot_coherence_history(): plot ticks on all four boundaries, and set tick `in` | 04 March 2024, 02:14:33 UTC |
0c74de9 | Zhang Yunjun | 20 February 2024, 03:08:11 UTC | ignore contributions by bots in release notes ref: https://github.com/isce-framework/snaphu-py/pull/29 | 20 February 2024, 08:08:42 UTC |
e251a8e | Zhang Yunjun | 13 February 2024, 10:07:29 UTC | ts2vel: more comments and references on the --uncertainty option | 20 February 2024, 08:08:42 UTC |
fdc2f99 | Zhang Yunjun | 29 January 2024, 12:16:16 UTC | circleci: replace mambaforge with miniforge3 | 20 February 2024, 08:08:42 UTC |
fd28f9b | pre-commit-ci[bot] | 20 February 2024, 03:02:14 UTC | [pre-commit.ci] pyupgrade: v3.15.0 → v3.15.1 (#1147) updates: - [github.com/asottile/pyupgrade: v3.15.0 → v3.15.1](https://github.com/asottile/pyupgrade/compare/v3.15.0...v3.15.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 20 February 2024, 03:02:14 UTC |
0aa5def | Mohammad Mohseni Aref | 13 February 2024, 09:37:05 UTC | fix typo in `generate_mask.py` example usage (#1144) Fix typo , I just added -o | 13 February 2024, 09:37:05 UTC |
a2ffa04 | Zhang Yunjun | 29 January 2024, 12:33:46 UTC | read/load support for `isce2/alos2App` dense offset (#1143) + utils.readfile.auto_no_data_value(): support alos2App dense offset + utils.readfile.get_slice_list(): alos2App uses rg/az order, instead of az/rg order in other isce2 applications. + utils.isce_utils.extract_alosStack_metadata/extract_image_size_alosStack(): support geometry files from alos2App/dense_offset, which have different naming conventions than those from InSAR. + load_data: use absolute path for better robustness | 29 January 2024, 12:33:46 UTC |
ab9334e | Zhang Yunjun | 07 January 2024, 04:48:59 UTC | installation: replace miniconda with miniforge + use miniforge3 as the recommended conda/mamba installer, instead of miniconda3. This brings two benefits: 1) mamba is installed by default; 2) the conda-forge channel is set as the default and only channel. + use mamba as the package installer, instead of conda, for a faster speed and a slightly simpler note as well. | 14 January 2024, 03:01:20 UTC |
18b336f | Zhang Yunjun | 12 December 2023, 06:49:07 UTC | tsview: print ref_yx/lalo info + tsview: print out ref_yx/lalo info if available + simulatiton/iono: fix typo + utils.map.auto_lalo_seq*(): check input args for a more meaningful diagnose | 14 January 2024, 03:01:20 UTC |
1d25397 | pre-commit-ci[bot] | 19 December 2023, 06:26:02 UTC | isort: 5.13.1 → 5.13.2 (#1135) updates: - [github.com/PyCQA/isort: 5.13.1 → 5.13.2](https://github.com/PyCQA/isort/compare/5.13.1...5.13.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 19 December 2023, 06:26:02 UTC |
ca78bee | dependabot[bot] | 18 December 2023, 11:31:17 UTC | build(deps): bump actions/download-artifact from 3 to 4 (#1134) Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 4. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 18 December 2023, 11:31:17 UTC |
2d51868 | dependabot[bot] | 18 December 2023, 11:31:03 UTC | build(deps): bump actions/upload-artifact from 3 to 4 (#1133) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 4. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 18 December 2023, 11:31:03 UTC |
1a344d3 | pre-commit-ci[bot] | 12 December 2023, 01:43:13 UTC | isort: 5.12.0 → 5.13.1 (#1131) updates: - [github.com/PyCQA/isort: 5.12.0 → 5.13.1](https://github.com/PyCQA/isort/compare/5.12.0...5.13.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 12 December 2023, 01:43:13 UTC |
95ee98c | dependabot[bot] | 11 December 2023, 12:08:08 UTC | build(deps): bump actions/setup-python from 4 to 5 (#1130) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v4...v5) --- updated-dependencies: - dependency-name: actions/setup-python dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 11 December 2023, 12:08:08 UTC |
d1b793b | Zhang Yunjun | 05 December 2023, 02:03:17 UTC | replace `setup.py` with `pyproject.toml` (#1129) + add `tests/requirements.txt` file for test requirements + `requirements.txt`: move pre-commit into the `tests/requirements.txt` file + replace `setup.py` with `pyproject.toml` + bump the min python version to 3.8 --------- Co-authored-by: Scott Staniewicz <scott.j.staniewicz@jpl.nasa.gov> | 05 December 2023, 02:03:17 UTC |
c7c9ca4 | Zhang Yunjun | 23 November 2023, 09:31:39 UTC | wrap up for version 1.5.3 (#1120) + src/mintpy/version.py: add tag for version 1.5.3 + simulation/fractal: fix np.abs(dtype) bug due to numpy behavior change + plot_network: fine-tune coh mat fig size for long time series + scripts/fix_typos.sh: use github.com instead of raw.githubusercontent.com for spelling.dat URL - use the github.com url for the spelling.dat file, as downloading raw.githubusercontent.com files in China does not work well - check gdal_dict.txt file instead of the ./fix_typos dir, so that one could run the script without deleting the ./fix_typos directory - add more words to the AUTHORIZED_LIST + fix some typos by running scripts/fix_typos.sh + docs/installation.md: add deprecation note for macports | 23 November 2023, 09:31:39 UTC |
3ccba02 | Zhang Yunjun | 23 November 2023, 03:11:40 UTC | support auto_path for `isce2/alosStack` (#1119) support auto_path for isce2/alosStack + defaults.auto_path.py: - add AUTO_PATH_ISCE_ALOS global var - add get_reference_date() to grab ref_date from the alosStack.xml file - update get_auto_path() for isce2/alosStack + rename the following offensive var abbreviations - m_shelve --> ref_shelve - m_date12 --> ref_date12 - m_ifg_file --> ref_ifg_file | 23 November 2023, 03:11:40 UTC |
427e4ec | Heidi Kristenson | 03 November 2023, 03:26:09 UTC | doc: update URL for HyP3 sample notebook (#1113) * update url to sample notebook * correct typo | 03 November 2023, 03:26:09 UTC |
07b4628 | Zhang Yunjun | 27 October 2023, 07:32:50 UTC | `view`: add `--scalebar-linewidth` option (#1111) + view: add --scalebar-linewidth option + prep_gamma: fix the `inps.sensor.lower()` issue when sensor is not specified, i.e. inps.sensor is None, by shifting the lower() operation inside `extract_metadata4interferogram()` + asc_desc2horz_vert.get_design_matrix4east_north_up(): add type checking for the `obs_direction` arg. | 27 October 2023, 07:32:50 UTC |
2adeb67 | Zhang Yunjun | 13 October 2023, 02:37:47 UTC | `plot_network`: check nan values of coh/bperp in kept ifgrams (#1108) + `plot_network`: raise error for pairs with invalid coh/Bperp value, probably due to upstream insar processing issues. This is rarely seen, as reported in the [google group](https://groups.google.com/g/mintpy/c/l1oOaHhqa-o). + `utils.plot.auto_adjust_yaxis`: ignore nan value in input data - use `np.nanmin/nanmax()` to replace `min/max()` to ignore nan values in the input data list - light refactoring to improve the readability + `utils.plot.py`: use consistent parameters/returns comment styles for all functions | 13 October 2023, 02:37:47 UTC |
caac2df | Zhang Yunjun | 13 October 2023, 01:46:57 UTC | `utils0.utm2latlon()`: allow coordinates outside of the normal range of a UTM zone (#1107) + utils.utils0.utm2latlon(): set 'strict=False' while calling utm.to_latlon() to allow coordinates outside the range of a typical single UTM zone, which can be common for large area analysis Co-authored-by: @swdmike <swdmike@qq.com> | 13 October 2023, 01:46:57 UTC |
2f7797d | pre-commit-ci[bot] | 10 October 2023, 01:57:54 UTC | pre-commit-hooks: v4.4 → v4.5 + pyupgrade: v3.14 → v3.15 (#1104) updates: - [github.com/pre-commit/pre-commit-hooks: v4.4.0 → v4.5.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.4.0...v4.5.0) - [github.com/asottile/pyupgrade: v3.14.0 → v3.15.0](https://github.com/asottile/pyupgrade/compare/v3.14.0...v3.15.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 10 October 2023, 01:57:54 UTC |
4ac8ad6 | Zhang Yunjun | 09 October 2023, 09:40:55 UTC | bugfix for `mintpy.network.aoiYX/LALO` options (#1103) + Fix the bug of `mintpy.network.aoiYX` and `mintpy.network.aoiLALO` getting ignored, which was introduced in https://github.com/insarlab/MintPy/pull/554. + Fix the ·--aoi-lalo· option checking for radar-coded files without lookup file. | 09 October 2023, 09:40:55 UTC |
cd1cae9 | Zhang Yunjun | 06 October 2023, 15:06:49 UTC | `view --dem-blend`: support data/DEM in diff resolutions (#1102) `view --dem-blend`: support data/DEM in diff reso by resampling on the fly + utils.plot.prep_blend_image(): add resampling on the fly using skimage.transform.resize() to support different resolutions between data and DEM while using the view.py --dem-blend option + utils.plot.prep_blend_image(): change the default base_color from 0.9 to 0.7, for a slightly darker DEM background + cli.view.cmd_line_parse(): ignore --cbar-ext option if --dem-blend is specified as well. + .github/ISSUE_TEMPLATE/bug_report.md: add insar processor/product info | 06 October 2023, 15:06:49 UTC |
5939a68 | pre-commit-ci[bot] | 03 October 2023, 11:03:15 UTC | pyupgrade: v3.13.0 → v3.14.0 (#1099) [pre-commit.ci] pre-commit autoupdate updates: - [github.com/asottile/pyupgrade: v3.13.0 → v3.14.0](https://github.com/asottile/pyupgrade/compare/v3.13.0...v3.14.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 03 October 2023, 11:03:15 UTC |
9ae918f | Zhang Yunjun | 30 September 2023, 04:36:11 UTC | `sensor`: add LuTan-1 info (#1097) + objects/sensor: add LuTan-1 parameters in stripmap mode | 30 September 2023, 04:36:11 UTC |
db83a40 | pre-commit-ci[bot] | 26 September 2023, 10:23:34 UTC | pre-commit/pyupgrade: v3.11.0 → v3.13.0 (#1094) updates: - [github.com/asottile/pyupgrade: v3.11.0 → v3.13.0](https://github.com/asottile/pyupgrade/compare/v3.11.0...v3.13.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 26 September 2023, 10:23:34 UTC |
20a395e | Yuan-Kai Liu | 24 September 2023, 10:57:13 UTC | GMT-like shaded relief illumination via `view.py --dem-blend` (#1089) Rather than plotting DEM in the background and overlaying the data with transparency, I attempt to view data with color adjusted by the shaded relief DEM when provided. Just like `gmt grdimage -I` option. Hereafter, I call this DEM-blended data. This can be done via `matplotlib.colors.LightSource.shade_rgb()` module (as opposed to what has been used in MintPy, i.e., the `shade()` module, that only produces the shaded relief of the DEM itself). This PR adds this support for the single-subplot scenario via changes in `view.plot_slice()`, the multi-subplot scenarios are not supported. Detailed changes in MintPy code are as follows: + `utils.arg_utils.add_dem_argument()`: add the following new options to allow users to activate and tune the DEM-blended data plotting: `--dem-blend`, `--blend-mode`, `--shade-frac` and `--base-color` + `utils.plot.py`: - add `prep_blend_image()` to prepare the illuminated RGB array from a given data and DEM - add `plot_blend_image()` to call `prep_blend_image()` and `imshow` for plotting - add `blend_colorbar()` to create a DEM-blended colorbar, to be called within `plot_colorbar()` - `plot_colorbar()`: add generic customization support for the DEM-blended colorbar from `blend_colorbar()` - rename: `prepare_dem_background()` --> `prep_dem_background()` + `cli.view.cmd_line_parse()`: add checkings for `--dem-blend` option - turn off the disp_dem_shade option - check the existence of `--dem` option + `view.plot_slice()`: call `plot.plot_blend_image()` for the DEM-blended style. TODO: we could add the resampling capability in plot_blend_image(), to handle the different resolution between data and DEM. --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 24 September 2023, 10:57:13 UTC |
a39090a | pre-commit-ci[bot] | 19 September 2023, 07:48:01 UTC | pyupgrade: v3.10.1 → v3.11.0 (#1093) updates: - [github.com/asottile/pyupgrade: v3.10.1 → v3.11.0](https://github.com/asottile/pyupgrade/compare/v3.10.1...v3.11.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 19 September 2023, 07:48:01 UTC |
2866434 | dependabot[bot] | 18 September 2023, 15:27:08 UTC | build(deps): bump docker/build-push-action from 4 to 5 (#1092) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v4...v5) --- updated-dependencies: - dependency-name: docker/build-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 18 September 2023, 15:27:08 UTC |
9053a48 | dependabot[bot] | 18 September 2023, 14:21:15 UTC | build(deps): bump docker/login-action from 2 to 3 (#1091) Bumps [docker/login-action](https://github.com/docker/login-action) from 2 to 3. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 18 September 2023, 14:21:15 UTC |
892e839 | dependabot[bot] | 18 September 2023, 13:17:29 UTC | del `docs/requirements.txt` + bump docker/setup-buildx-action from 2 to 3 (#1090) * del `docs/requirements.txt` file as it's not really needed by readthedocs website * `.readthedocs.yaml`: add the required `build.os` option * build(deps): bump docker/setup-buildx-action from 2 to 3 + Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3) --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 18 September 2023, 13:17:29 UTC |
cc23ae9 | dependabot[bot] | 11 September 2023, 11:27:35 UTC | build(deps): bump actions/checkout from 3 to 4 (#1088) Bumps [actions/checkout](https://github.com/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](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> | 11 September 2023, 11:27:35 UTC |
e8f6af6 | Zhang Yunjun | 09 September 2023, 08:44:07 UTC | docs: update comments on `pre-commit` & `view.prep/plot_slice()` (#1087) + docs/CONTRIBUTING.md: add `pre-commit run --all-files` comment + src/mintpy/prep_nisar: chmod -x prep_nisar.py + src/mintpy/view.prep/plot_slice(): update comments for usage | 09 September 2023, 08:44:07 UTC |
1fa42b8 | BB | 08 September 2023, 03:14:56 UTC | view: allow unit change when viewing seasonal time functions (#1084) * view. read_data4figure(): allow unit change when viewing seasonal / periodic time function estimates from velocity.h5 file, by acknowledging them sharing the same data unit. --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 08 September 2023, 03:14:56 UTC |
b19ff4b | Zhang Yunjun | 08 September 2023, 02:35:14 UTC | `readfile`: support GDAL `int8` dtype (#1083) + add the correction int8 conversion between GDAL and NumPy in DATA_TYPE_GDAL2NUMPY/NUMPY2GDAL + add numpy_to_gdal_dtype() from dolphin + add gdal_to_numpy_dtype() from dolphin I did not replace the usage of dict conversion with the two functions above yet, because cint16/32 is supported by GDAL but not in numpy yet, thus, the dict conversion may be more generic at the moment for translation purposes. --------- Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com> | 08 September 2023, 02:35:14 UTC |
ce93e2e | Sara Mirzaee | 08 September 2023, 01:30:44 UTC | add `prep_nisar` to load NISAR GUNW products (#1035) * add `prep_nisar.py` and `cli/prep_nisar.py` to prepare and load NISAR GUNW products into HDF5/MintPy format. * add `prep_nisar` to `setup` and `__main__` --------- Co-authored-by: Scott Staniewicz <scott.stanie@gmail.com> Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 08 September 2023, 01:30:44 UTC |
7ff149b | Scott Staniewicz | 30 August 2023, 06:24:16 UTC | Run `fix_typos.sh` on repo to catch spelling errors (#1082) * add modified `scripts/fix_typos.sh` from GDAL repo * run `fix_typos.sh` --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 30 August 2023, 06:24:16 UTC |
1493c9a | cirrusasf | 25 August 2023, 01:45:40 UTC | `prep_hyp3`: support burst-wide interferograms from hyp3-isce2 (#1074) * prep_hyp3: support burst-wide interferogram from ASF hyp3-isce2 processor/instance * docs/dir_structure: add example directory structure from ASF hyp3_isce2 --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 25 August 2023, 01:45:40 UTC |
b800d64 | Zhang Yunjun | 23 August 2023, 11:32:20 UTC | `subset`: support hdf5 <--> binary (#1076) + support hdf5 input --> binary output + support binary input --> hdf5 output | 23 August 2023, 11:32:20 UTC |
136e67e | Zhang Yunjun | 23 August 2023, 11:29:44 UTC | `mintpy.geocode.laloStep`: support single value input (#1075) + `geocode`: support single input for the `mintpy.geocode.laloStep` option, as it is commonly used; and convert it into a list of two internally in the code. + `smallbaselineApp.run_load_data()`: tune the auto-skipping, by not adding the metadata from the custom template to the geometry HDF5 file, to avoid updating its file modification time. + `timeseries_rms`: auto adjust figure width for long TS + `utils.utils1.spatial_average()`: - always read the output from the text file, which is in 1e-4 precision, to ensure consistency. - use the dataset MODIFICATION_TIME for ifgramStack file, for a more representative run/skip checking. | 23 August 2023, 11:29:44 UTC |
f068ec5 | Zhang Yunjun | 23 August 2023, 11:27:47 UTC | `view.prep_slice()`: support quoted lists of characters as inputs (#1077) + view.prep_slice(): support quoted lists of characters as inputs so that its parsing behavior is the same as the one in command line | 23 August 2023, 11:27:47 UTC |
11a9020 | Scott Staniewicz | 19 August 2023, 03:05:19 UTC | `read_gdal`: switch back to gdal kwargs to leverage its subsetting capability (#1072) * utils0: fix typos * utils0: simplify look of `update_attribute_or_not` The bare `next` was acting as a `pass` or `continue` * fix more typos caught by vscode * use `ReadAsArray` after casting box to int This is fixed in gdal versions >3.7.0 https://github.com/OSGeo/gdal/issues/8026 The issue came from passing `np.int64` objects to GDAL, which it wasnt handling properly. Regular python `int`s work find * remove unused import * gps: print the filename, instead of (possibly blank) dirname * convert `Path`s to str for readfile also fix grammar for file not found * remove 2nd version of wkt function | 19 August 2023, 03:05:19 UTC |
4f09c58 | Zhang Yunjun | 15 August 2023, 05:00:34 UTC | tsview: improved auto figsize for geocoded TS file (#1071) + tsview: - timeseriesViewer.plot(): consider the SNWE for geocoded file when plotting in geo coordinate, for a more suited figure size - get_model_param_str(): do not show the intercept in the model fitting result, as it's not useful + view - update_inps_with_file_metadata(): add "_nws" suffix if showing a single subplot without whitespace - display pi symbol if min/max is very close 1e-3 via the following changes: - utils.plot.auto_adjust_colormap_lut_and_disp_limit(): convert near-pi value to pi if they are very close <1e-3 - utils.plot.plot_colorbar(): display pi symbol on the colorbar if displaying limits are very close to -pi/pi (<1e-3) | 15 August 2023, 05:00:34 UTC |
62b369d | Zhang Yunjun | 10 August 2023, 14:14:50 UTC | dep: add shapely (#1069) + `dependency`: add `shapely` to `requirements.txt` and `setup.py` file, as it's used in `objects.euler_pole.py` to plot plate motion since #935. Note that 1) shapely is already a dependency for cartopy, so this won't really affect the mintpy installation; 2) shapely has been added explicitly to the dependency on conda-forge for mintpy (https://github.com/conda-forge/mintpy-feedstock/pull/10) + `docs/installation/argcomplete`: replace `conda` with `brew` for bash installation, so that the bash is independent of the conda directory, which can be removed more easily/frequently than `/usr/local directory` from brew. | 10 August 2023, 14:14:50 UTC |
29d901d | Zhang Yunjun | 09 August 2023, 14:12:28 UTC | `isce_utils.extract_multilook_number()`: search XML and VRT files (#1068) + `utils.isce_utils.extract_multilook_number()`: improve robustness against the occasionally missing *.full.xml files for hgt/lat/lon/los during the isce2/topsStack processing by: - add shadowMask to the potential data file list - search both *.full.xml and *.full.vrt file + version: add version 1.5.2 tag | 09 August 2023, 14:12:28 UTC |
559b8d7 | Zhang Yunjun | 09 August 2023, 05:04:03 UTC | fix zero step size bug in unwrap_error_phase_closure (#1067) + replace the np.rint() call with np.ceil() to ensure non-zero step size, which could happen for long time-series with highly redundant networks. | 09 August 2023, 05:04:03 UTC |
23b87d9 | Zhang Yunjun | 09 August 2023, 02:24:23 UTC | dep/doc: add tab completion via `argcomplete` (#1065) + add `argcomplete` to the dependency for tab completion capability. This package is light (only depends on pure Python), and available on pip and conda-forge (as noarch package). - requirements.txt: add argcomplete - setup.py: move argcomplete from optional to required + docs/installation.md: add "tab complete sub-commands" as another sub-section in Post-Installation Setup. | 09 August 2023, 02:24:23 UTC |
6605a95 | Zhang Yunjun | 09 August 2023, 01:31:50 UTC | seq. closure phase: bring back spatial referencing for ARIA products (#1063) + objects.stack.ifgramStack.get_sequential_closure_phase(): bring back the spatial referencing to ARIA products, to avoid the abnormal closure phase calculation result, which is likely due to the phase stitching applied during ARIA products preparation in ARIA-tools. | 09 August 2023, 01:31:50 UTC |
0cd227b | Zhang Yunjun | 08 August 2023, 10:11:25 UTC | tropo_pyaps3: bugfix for hyp3 product (#1061) + tropo_pyaps3: bugfix for hyp3 products in UTM coordinates: - calc_delay_timeseries(): remove the call of `ut.to_latlon()` while preparing the pixel-wised 2D lat/lon matrices, as `ut.get_lat_lon()` handled the UTM/latlon conversion already in #1052 + replace `ut.to_latlon()` with `ut.utm2latlon()` as the later supported more file types, in the following occurrences: - tropo_pyaps3.get_bounding_box() - utils.utils.prepare_geo_los_geometry() + utils.utils0.get_lat_lon(): print out UTM/latlon conversion message, to help future tracking/diagnose + prep_hyp3: convert UTM to lat/lon for LAT/LON_REF1/2/3/4 | 08 August 2023, 10:11:25 UTC |
2af3905 | Zhang Yunjun | 08 August 2023, 10:09:29 UTC | read_attribute: translate DATA_TYPE ci2 to float32 for roipac (#1064) + utils.readfile.read_attribute(): translate DATA_TYPE value "ci2" to "float32" for roipac products + tests/smallbaselineApp: more comments on example usage | 08 August 2023, 10:09:29 UTC |
b74fffc | Zhang Yunjun | 07 August 2023, 14:26:16 UTC | `load2hdf5 --compression` & `view --faultline-min-dist` (#1062) + legacy/load2hdf5: add --compression option + view: add --faultline-min-dist option to trim the plotted fault lines + view: set the x-axis label to the top for horizontal colorbar at the bottom + utils.plot.auto_adjust_xaxis_date: consider axes width while determining every_year | 07 August 2023, 14:26:16 UTC |
1c8e7a1 | Zhang Yunjun | 06 August 2023, 12:44:54 UTC | tsview --figsize-img & relaxed subset tmpl reading (#1059) + tsview: add --figsize-img option to be able to customize the map figure size. Make this arg optional so that other existing functionalities won't be affected. + subset.read_subset_template2box: - support mix separator/delimiter of : and , so that values from isce-proc also work - replace try/except with if judgment | 06 August 2023, 12:44:54 UTC |
5d330ad | Zhang Yunjun | 06 August 2023, 11:46:30 UTC | isce_utils: add filter_goldstein() (#1058) + utils.isce_utils: add/wrap filter_goldstein() from isce2 for easy reuse. + utils.isce_utils.unwrap_snaphu(): rename defo_max to max_defo to be more intuitive + cli/view.py: print out warning msg if --faultline is specified for radar-coded file + docs/api/data_structure.md: update syntax | 06 August 2023, 11:46:30 UTC |
6cd22a7 | Zhang Yunjun | 03 August 2023, 10:29:57 UTC | fix the UTM_ZONE confusion (#1053) Fix the previous confusion that UTM_ZONE should end with the hemisphere, not the latitude band, which is not part of UTM but part of MGRS. + utils.utils0.utm_zone2epsg_code(): revert back the south arg feeding from UTM_ZONE + utils.utils0.utm2latlon(): use the `northern` arg instead of the latitude band, to match the meaning of UTM_ZONE metadata + utils.utils0.latlon2utm(): return east/north only, for simplicity and style consistency with utm2latlon. + docs/api/attributes.UTM_ZONE: add more description and examples | 03 August 2023, 10:29:57 UTC |
308024a | Zhang Yunjun | 01 August 2023, 12:34:52 UTC | convert coord btw. UTM and lat/lon (#1052) + utils.utils0.py: add the following functions to convert coordinates between UTM and lat/lon: - utm2latlon() - latlon2utm() - utm_zone2epsg_code(): bugfix if the latitude letter is not N or S - get_lat_lon(): convert UTM to lat/lon to ensure lat/lon output for hyp3 products + add utm to the dependency files, since 1) it depends on numpy only; and 2) it's available on PyPI and conda-forge - requirements.txt - setup.py | 01 August 2023, 12:34:52 UTC |
fec802b | Zhang Yunjun | 01 August 2023, 10:54:05 UTC | hdfeos5: calc/write latitude/longitude if missing in geometry file (#1050) + save_hdfeos5: always write latitude/longitude dataset, and calculate based on metadata if missing in the geometry file, such as ARIA + cli/save_hdfeos5: check the coordinate of input file + improved UNIT and fig title handling for HDF-EOS5 product: - utils.readfile.read_attribute(): while grab the UNIT, use the last segment of dataset name if "/" is used - view.plot_subplot4figure(): use the last segment as the auto figure title, instead of the 2nd one, to be more generic + view: improved auto figsize for subplots when there is only one row of subplots | 01 August 2023, 10:54:05 UTC |
3a646ae | pre-commit-ci[bot] | 01 August 2023, 07:47:02 UTC | pyupgrade: v3.9.0 → v3.10.1 (#1051) updates: - [github.com/asottile/pyupgrade: v3.9.0 → v3.10.1](https://github.com/asottile/pyupgrade/compare/v3.9.0...v3.10.1) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 01 August 2023, 07:47:02 UTC |
97fcad7 | Zhang Yunjun | 21 June 2023, 03:04:35 UTC | bugfix in geocode.py --bbox option for gamma products + objects/resample.py: fix a bug for `geocode.py --bbox` option while geocoding gamma products with customized SNWE from --bbox option, the output dest_box does not start from 0, thus, should use box[3/4] directly, instead of box[3]-box[1] and box[2]-box[0] + cli/subset: check input file exsitence + view.py --coord: update help msg to avoid potential confusions by updating utils.arg_utils.add_figure_argument() + view.py --coord: set the other choices as yx, instead of radar, and keep radar still in the loop for backward compatiability | 13 July 2023, 07:04:07 UTC |
f1fc2e9 | Zhang Yunjun | 20 June 2023, 05:46:29 UTC | readfile: generalize gamma LUT file ext + ~pi value handling + generalize gamma LUT file extension checking, by replacing the "full file ext checking" with "file ext ending chars checking", to handle both "utm*" and "eqa*" prefix, such as .UTM_TO_RDC, .eqa_2_rdc, as provided by the various gamma users (GAMMA is annoying), in the following scripts: - utils.readfile - utils.writefile - prep_gamma + utils.readfile.read_binary(): convert ~pi value to zero while read phase from cpx file - convert ~pi value to zero while read phase from cpx file, as it sometimes happens to gamma products, probably due to the limited numerical precision of the complex data file, such as .int file. - light refactoring while calling np.fromfile(), to improve the readability + utils.readfile.read_binary_file(): for roipac processor, which is the default one if not specified, honor the metadata file for the following attributes if they exist, instead of using the hardwired value, which is the same as the default ones: - INTERLEAVE - BANDS - BYTE_ORDER - DATA_TYPE + docs/api/attribute.md: add BYTE_ORDER for gamma + dosc/api/data_structure: add file name convention | 13 July 2023, 07:04:07 UTC |
a1db4bf | pre-commit-ci[bot] | 11 July 2023, 13:03:00 UTC | pyupgrade: v3.8.0 → v3.9.0 (#1043) updates: - [github.com/asottile/pyupgrade: v3.8.0 → v3.9.0](https://github.com/asottile/pyupgrade/compare/v3.8.0...v3.9.0) | 11 July 2023, 13:03:00 UTC |
2115549 | Simran S Sangha | 05 July 2023, 17:29:18 UTC | fix bug in gdal -> mintpy corner coordinate convention (#1034) * Track and fix bug in gdal corner convention * readfile.read_gdal_vrt: add comments on GDAL convention * readfile.read_envi_hdr: add comments on ENVI convention --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 05 July 2023, 17:29:18 UTC |
7476d0f | pre-commit-ci[bot] | 04 July 2023, 15:47:12 UTC | pyupgrade: v3.7.0 → v3.8.0 (#1039) updates: - [github.com/asottile/pyupgrade: v3.7.0 → v3.8.0](https://github.com/asottile/pyupgrade/compare/v3.7.0...v3.8.0) | 04 July 2023, 15:47:12 UTC |
5f1ae8d | Scott Staniewicz | 25 June 2023, 14:24:34 UTC | add `view --interpolation` option (#1029) * view.py: add `--interpolation` option for display utils * fix typos related to `exists` references --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 25 June 2023, 14:24:34 UTC |
4e14bde | Scott Staniewicz | 21 June 2023, 02:10:50 UTC | spatial_filter.py: use nan-ignoring filter for `highpass_gaussian` (#1030) by leveraging the implementation from the `lowpass_gaussian` filtering in #1018. | 21 June 2023, 02:10:50 UTC |
4b6b3d0 | pre-commit-ci[bot] | 20 June 2023, 05:48:25 UTC | pyupgrade: v3.6.0 → v3.7.0 (#1028) updates: - [github.com/asottile/pyupgrade: v3.6.0 → v3.7.0](https://github.com/asottile/pyupgrade/compare/v3.6.0...v3.7.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 20 June 2023, 05:48:25 UTC |
6fffa3b | Zhang Yunjun | 14 June 2023, 08:49:33 UTC | bugfix in `save_gdal` for boolean type & `cluster.split_box2sub_boxes` for tiny last step (#1024) + `save_gdal.py`: convert numpy array from boolean to uint8, as GDAL does not support boolean data type, such as used in all the mask files. + `objects.cluster.split_box2sub_boxes()`: avoid the tiny last step (<5% of the normal step, or <5 pixels), by merging it into the 2nd last one. This happens to very large datasets sometimes. For example, if the last step has a size of 1, a 3D matrix will be turned into 2D, resulting in a reshape error. + `objects.cluster.split_box2sub_boxes()`: return the final number of sub_boxes, in addition to the current list of sub_boxes, for easier usage (as it may be different from the initial num_box as identified in #940). Update the usage in all occurrences: - objects.resample - dem_error - diff - reference_date - timeseries2velocity | 14 June 2023, 08:49:33 UTC |
a6d344c | pre-commit-ci[bot] | 13 June 2023, 05:54:47 UTC | pyupgrade: v3.4.0 → v3.6.0 (#1022) updates: - [github.com/asottile/pyupgrade: v3.4.0 → v3.6.0](https://github.com/asottile/pyupgrade/compare/v3.4.0...v3.6.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 13 June 2023, 05:54:47 UTC |
9166220 | Zhang Yunjun | 13 June 2023, 02:50:46 UTC | bugfix in `multilook` and `image_stitch` for non-hdf5 files (#1021) + multilook.py: Fix the bug when input file is binary (non-hdf5) and output file is hdf5. + image_stitch.py: support non-hdf5 geometry file, such as los.geo as produced by topsApp | 13 June 2023, 02:50:46 UTC |
4272f82 | Zhang Yunjun | 13 June 2023, 01:27:54 UTC | main CLI: add logging control args + turn on traceback for exceptions (#1020) + __main__: add `mintpy --loglevel / quiet / verbose / debug` options to control the logging level. + __main__: turn ON the traceback always in case of exceptions + __main__: add example usage for the mintpy CLI, consistent with other sub-commands Co-authored-by: Antonio Valentino <Antonio.Valentino@ext.esa.int> | 13 June 2023, 01:27:54 UTC |
ea06ec2 | Yuan-Kai Liu | 12 June 2023, 16:13:43 UTC | `diff.py` btw. time-series and velocity + other changes (#1018) This PR contains several modifications, mostly about diff.py. We want to apply time-series corrections by doing diff.py to subtract a reference frame velocity field (inputs/ITRF.h5). Thus, the commit only allows a time function model m to identify a linear time function from the velocity file and reconstruct the time series on the fly when doing diff.py. We also improve the spatial filtering by taking care of any nan holes in the dataset. The idea is that replacing the NaNs with zeros introduces an error in the filtered array which can, however, be compensated by applying the same Gaussian filter to another auxiliary array and combining the two (keyword: normalized convolution or rubber-sheeting). Detailed changes are as below: * diff: does (timeseries) - (velocity) = (timeseries_new) + will read the velocity file and re-construct the timeseries + take care of referencing + do the timeseries diff as usual + To-Do: this commit is motivated for doing correction based on ITRF.h5 velocity model in the time-series domain. Thus, the commit only provides a time function model `m` hard-coded as a linear function. Later, we can write a new ts2velo.hdf5_dataset2model() to produce this m based on the dataset_list names in general velocity files. * spatial_filter: add median filter + add median filter from skimage.filters.median + handle NaN holes in lowpass gaussian filter * image_stitch: allow for vmin/vmax + allow for input argument --vmin, --vmax for plotting the result plotting * plot.py: numTriNonzeroIntAmbiguity.h5 maskout non-zero pixels + Kai: handle 0 in when 'numTriNonzeroIntAmbiguity.h5' as mask_file. 0 of this file is good. Non-zero is bad * gps time function fit with user-defined model * codacy fixes * image_stitch: adjust opt names + change --unit to --scale to be more accurate + merge --vmin/vmax into -v / --vlim option, to be consistent with view.py + use the same name in argparse and sub-functions + scale the calculated vmin/vmax from the data with the same factor. * refactor diff.diff_timeseries_and_velocity() + rename `diff_timeseries_velocity()` to `diff_timeseries_and_velocity()` for consistency + remove unit_fac, which is for giant, and not applicable here + use one date_list as multiple date lists and their common elements are not applicable here + use REF_DATE from file1 only to check if temporal referencing is needed or not, as no reference date info is available from the velocity dataset, even though REF_DATE metadata may be available in file2. + remove periodic / step functions from the model construction, as their corresponding datasets are not read form the h5 file, for simplicity * diff: add example usage * codacy fix * Update src/mintpy/objects/gps.py * plot.read_mask: keep pixels w/ numTriNonzeroIntAmbiguity == 0 + separate mask (output) and mask_data (data read from the mask file), for clarity + if input is numTriNonzeroIntAmbiguity.h5 file, keep pixels with value of 0, and mask out the rest, only if no --mask-vmin/vmax option is specified, as they should and do have higher priority than the default translation of numTriNonzeroIntAmbiguity. + remove prior_good variable, and move all the operations in the later stage of the code, for clarity * codacy fixes * lowpass_gaussian: fix RuntimeWarning divided by zeros, add comments --------- Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> | 12 June 2023, 16:13:43 UTC |
c305e13 | Zhang Yunjun | 30 May 2023, 11:27:47 UTC | Fix the `pad_width` integral type error for `spatial_filter.py -f double_difference` (#1015) + `spatial_filter.py`: Fix the np.pad() pad_width integral type error while using double_difference filter. + `writefile.write()`: do not overwrite format for .hgt file, as it can be float64 in isce2. Plus, the two-band format in roipac is weird anyway and not used much anymore [in the last 3+ years if I remember correctly]. + `isce_utils.extract_alosStack_metadata()`: make los_file optional, because 1) attribute CENTER_INCIDENCE_ANGLE is not essential, i.e. optional; and 2) los_file does not exist sometimes, as in the post-processing of alos2App | 30 May 2023, 11:27:47 UTC |
6cbbf29 | Zhang Yunjun | 24 May 2023, 11:08:10 UTC | `diff`: support `unw/off - timeseries` (#1011) + `diff.py`: - support the differencing between a *.unw (or offset file with FILE_TYPE of displacement) file and a time-series file, as used frequently in phase correction procedures, by adding a sub-function `diff_ifgram_and_timeseries()` - split `diff_timeseries()` and `diff_ifgram_stack()` out of `diff_file()` for clarity. - prepare isce metadata file, to be consistent with mask.py and subset.py + call `diff.py` to handle the correction procedure in the following scripts: - iono_tec.py - legacy/tropo_pyaps.py - solid_earth_tides.py - tropo_gacos.py - tropo_pyaps3.py + `cli/geocode.py`: if `--lat-file` is specified, honor this manually set file as the default lookupFile, rather than searching for the default file patterns, which could be NOT consistent with input files. | 24 May 2023, 11:08:10 UTC |
a52256d | Zhang Yunjun | 23 May 2023, 13:34:29 UTC | mask: replace --threshold with --vmin/vmax (#1009) * mask: replace --threshold with --vmin/vmax + mask.py: replace the -t / --threshold option with the --vmin / --mask-vmin option, to be less ambiguous, as vmin includes the direction for thresholding. + mask.py: add --vmax / --mask-vmax option + utils.isce_utils.unwrap_snaphu: support 2-band corr file, by checking the number of bands for the input correlation files, and set the file format accordingly, to support both the phase sigma and complex correlation files. + utils.readfile.read_binary_file(): add file/dset size checking + view: bugfix for --mask-vmin/vmax options - utils.plot.read_mask(): when --mask-vmin/vmax options are specified, create mask via thresholding the 2D matrix of the mask file, instead of updating mask on top of the 2D matrix of the mask file. | 23 May 2023, 13:34:29 UTC |
f641b90 | Zhang Yunjun | 15 May 2023, 11:51:52 UTC | add `dem_error.py --dem-err-file` and `save_qgis.py --zero-first` option (#1007) * dem_error: add `--dem-error-file` option to specify a customized file name for the estimated DEM error. * save_qgis: add `--zf / --zero-first` option, same as `tsview.py`, to set displacement at 1st acquisition to zero. | 15 May 2023, 11:51:52 UTC |
df96e0b | Zhang Yunjun | 12 May 2023, 12:40:54 UTC | doc string description for `defaults/objects/simulation/utils` sub-modules (#1005) For all scripts within `defaults/objects/simulation/utils` sub-modules: + add a doc string at the top to describe its purpose + remove `#!` at the top from the remaining scripts (most scripts are already like that), since they are not needed. | 12 May 2023, 12:40:54 UTC |
c174dc8 | pre-commit-ci[bot] | 09 May 2023, 05:45:27 UTC | pyupgrade: v3.3.2 → v3.4.0 (#1001) updates: - [github.com/asottile/pyupgrade: v3.3.2 → v3.4.0](https://github.com/asottile/pyupgrade/compare/v3.3.2...v3.4.0) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> | 09 May 2023, 05:45:27 UTC |
d253b70 | Zhang Yunjun | 05 May 2023, 15:02:16 UTC | read/write/resample: improved support for GDAL complex file (#1000) + `readfile`: - `read_gdal()`: add `.cos` to the know list (for TerraSAR-X SLC data) - `read_binary_file()`: support returning complex data using `datasetName=complex`. - `read_binary_file()`: move `cpx_band` checking to expand its applicability from isce2 to generic files, including GDAL complex files. + `resample`: adjust size calculation in block-by-block IO for complex data type + `save_gdal`: - refactor `array2raster()` to `write_gdal()`, to be consistent with `utils.writefile.write()` in terms of input args. - use `readfile.DATA_TYPE_NUMPY2GDAL` to support non-float32 types, such as complex64 + docs: - update Yunjun's contact email from Gmail to Outlook - README: simplify styles for Yunjun et al. (2019) - CONTRIBUTING: add links to the to-do list and roadmap | 05 May 2023, 15:02:16 UTC |
adad64f | Zhang Yunjun | 05 May 2023, 01:32:16 UTC | `timeseries2velocity`: add `--polyline` option (#999) This PR adds the `timeseries2velocity.py --polyline` option (and for `tsview.py` as well). Given one or multiple dates, this option will estimate an additional linear slope starting from the specified date, to catch the linear velocity change of a time series. The result is saved in the velocity.h5 file as a dataset named `velocityPost{YYYYMMDD}`, which is the linear velocity during this segment time period, i.e. the sum of the velocity for the entire period (from the regular polynomial fitting), plus all the additional velocity change before & during the current segment periods. Detailed changes are as below: + `utils.time_func`: construct a design matrix for polyline fitting with the manually specified starting date for each additional line segment + `utils.arg_utils.add_timefunc_argument()`: add `--polyline` option + `timeseries2velocity`: - `model2hdf5_dataset()`: support the polyline function and save the total/cumulative velocity for each polyline segment for easy visualization and interpretation. - check input `--polynomial` and `--polyline` options + `cli.timeseries2velocity`: add example usage Other changes not relevant to `--polyline`: + `utils.ptime`: - `date_list2tbase()`: add `ref_date` arg - `date_list2vector()`: add `seconds` arg + `utils.arg_utils.add_figure_argument()`: add `--cbar-ticks` option for accurate control on the colorbar tick positions. + `simulation.iono.lalo_ground2iono()`: more comments + `tsview`: printout msg minor adjustment - remove redundant print cmd. Now the tsview cmd msg will always be printed out. - always printout the save fig/txt file info, as it's very informative + `objects.gps`: change the default folder to store the site list file from `./` to `./GPS`. | 05 May 2023, 01:32:16 UTC |
037fee8 | Zhang Yunjun | 26 April 2023, 10:52:56 UTC | `isce_utils.get_processor()`: use `*.track.xml` file to identify `alosStack/2App` (#998) + utils.isce_utils: - get_processor(): use *.track.xml file to identify the isce2 sub-type processor of alosStack or alos2App. - get_full_resolution(): account for A/RLOOKS while calculating the full resolution size. - the above two changes allow the multilook number and resolution conversion for alosStack and alos2App. + docs/dir_structure: shorten template input for alosStack + cli.multilook.py: update example usage for clarity | 26 April 2023, 10:52:56 UTC |
a5d8696 | Zhang Yunjun | 25 April 2023, 13:15:36 UTC | resample: refactor default output step size calculation (#997) + rename utils.utils0.auto_lat_lon_step_size() to objects.resample.resample.get_lat_lon_step() - move the location because this function is only used in the resample code so far - add the user-specified lalo_step code body into this function, for a more simple `prepare_geometry_definition_radar()` - replace try/except with if/else and explicit required metadata checking and warning msg + objects.resample.resample.prepare_geometry_definition_radar.find_valid_lat_lon(): - rename mark_lat_lon_anomaly() to find_valid_lat_lon() - add more comments on the input/output args + cli.geocode: set default fillValue to zero for .int/unw files, to be consistent with isce/roipac. + docs/api/module_hierarchy.md: update for objects.resample.py + objects.progress.FileProgressObject(): display in int MB to be simple | 25 April 2023, 13:15:36 UTC |
2437dd4 | Zhang Yunjun | 25 April 2023, 08:18:56 UTC | circleci: use mambaforge with 2X speedup (#996) + .circleci/config.yml: use mambaforge to replace miniconda3 for conda env installation with 2X speedup (48s to 22s) | 25 April 2023, 08:18:56 UTC |
416803f | pre-commit-ci[bot] | 25 April 2023, 05:23:25 UTC | [pre-commit.ci] pyupgrade: v3.3.1 → v3.3.2 (#995) updates: - [github.com/asottile/pyupgrade: v3.3.1 → v3.3.2](https://github.com/asottile/pyupgrade/compare/v3.3.1...v3.3.2) | 25 April 2023, 05:23:25 UTC |
aba54cf | Zhang Yunjun | 19 April 2023, 05:25:51 UTC | isce_utils: add unwrap_icu() (#993) + utils/isce_utils: add unwrap_icu() for pythonic re-use + view: ignore whitespaces in output figure file name | 19 April 2023, 05:25:51 UTC |
5ca554f | Zhang Yunjun | 11 April 2023, 13:20:43 UTC | fix `numpy.random.choice` error in `unwrap_error_phase_closure` (#989) fix `numpy.random.choice` error in `unwrap_error_phase_closure.py` + `unwrap_error_phase_closure`: fix bug found by circle CI - use numpy random Generator syntax as recommended - fix the `numpy.random.choice` error by forcing arg as int type + README: fix broken links to Gamma, mintpy sub-modules/files due to "src" structure change. + `utils.readfile.read_binary_file()`: read data_type from Gamma .par file if exists + `objects.sensor.ALOS2`: more comments in different modes | 11 April 2023, 13:20:43 UTC |
be78188 | BB | 27 March 2023, 04:50:15 UTC | `prep_fringe`: load water mask into geometry file via `--water-mask` (#983) + prep_fringe: add -w / --water-mask option to specify the water mask, to be loaded into the geometry HDF5 file --------- Co-authored-by: bbuzz31 <buzzanga@jpl.nasa.gov> Co-authored-by: Zhang Yunjun <yunjunz@outlook.com> | 27 March 2023, 04:50:15 UTC |