sort by:
Revision Author Date Message Commit Date
6cbbf29 `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 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 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 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 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 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 `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 `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 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 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] 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 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 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 `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
386ff9b simpify obj input args for `tsview/plot_tran*/plot_coh*_mat*` (#982) Simplify the input arguments for object initiation for tsview, plot_transection and plot_coherence_matrix: + for each *Viewer object __init__(): replace cmd/iargs with inps, as the later covers both, and simpler. + for each *Viewer configure(): rename to open() for simplicity 18 March 2023, 07:37:15 UTC
7704c34 correct typo in the comment for converting los_az_angle to orb_az_angle (#978) in utils.utils0.en2az(), the code calculation itself was correct. 14 March 2023, 05:30:08 UTC
2d35656 Fixed some typos (#976) Fix typos in the comments of save_gbis.py and save_roipac.py. 12 March 2023, 12:42:41 UTC
cd126d5 sensor: add ICEYE parameters (#974) + objects.sensor: add ICEYE parameters + docs/comments: add space after # to improve readability 09 March 2023, 11:59:38 UTC
91b5151 timeseries_rms: bugfix for `run_or_skip` and `*RMS.deramp = no` (#970) + utils.utils1.get_residual_std/rms(): - always check the time info using the residual file for run_or_skip, instead of using the deramped residual file, as the former makes more sense. - treat the empty/false-value `ramp_type` same as `no` value, while determining the output file name from `mintpy.residualRMS.deramp` template option. + timeseries_rms.read_template2inps(): pass `no/False` values from `mintpy.residualRMS.maskFile/deramp/cutoff` template options to variables, as they are valid inputs. 07 March 2023, 13:57:09 UTC
3235846 requirements: unpin scipy<1.10 (#968) + requirements.txt: unpin scipy<1.10 as the interpolate error has been fixed in scipy 1.10.1, which is now available in conda-forge. + docs/README/badge: add docker logo 05 March 2023, 06:59:43 UTC
fde8089 view: add `--faultline` option (#964) Add view.py --faultline --faultline-linewidth options to plot faults using GMT lonlat file. + utils.arg_utils.add_map_argument(): add `--faultline` and `--faultline-lw` options + utils.plot: add `plot_faultline()` + view.plot_slice: call `pp.plot_faultline()` + cli.view: add example usage 22 February 2023, 15:34:22 UTC
3095ee0 `multilook`: geometry support for CPU/GPU `ampcor` products (#963) + add `--search-win --xcorr-win --margin` to feed options from pycuampcor, for exact multilooking file size + add `--off-file` for both CPU and GPU ampcor, to use existing offset file as the size reference + readfile.read_isce_xml: support isce configuration file, e.g. topsApp.xml 21 February 2023, 02:13:56 UTC
cdfbb48 `readfile`: add `auto_no_data_value()` for known files (#962) + utils.readfile: add auto_no_data_value() for know file types: dense offsets from isce2/topsApp.py + utils.readfile: set the following functions as private, to discourage usage out of this sub-module: - `_get_file_base_and_ext()` - `_sort_dataset_list2velocity()` - `_attribute_gamma2roipac()` - `_attribute_gmtsar2roipac()` + view.read_data4figure(): do not print out msg while reading a list of 2D matrix 20 February 2023, 15:08:36 UTC
6ed508c replace expired numpy dtype deprecations (cont.) (#960) `np.int` --> `int` `np.float` --> `np.float32` No other expired forms, e.g. np.object, np.str, np.bool and np.complex, are found. --------- Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 18 February 2023, 07:50:47 UTC
9e979e0 `multilook`: support GDAL VRT file (#959) + `multilook.py`: - add `multilook_gdal()` to generate the multilooked `lat/lon.rdr` files from isce-generated GDAL VRT files (lat/lon.rdr.full.vrt) directly; add example usage in `cli.multilook.py`. - remove the obsolete `multilook_matrix()` and add its core part as commented code block within `multilook_data()`. - `multilook_data()`: apply cropping of the input data for all methods, as a generic preparation step, to simplify the code laterward. + utils.readfile.py: - read_attribute(): ignore '.mli' for FILE_TYPE, similar to '.full' and '.rdr' in the path - get_slice_list(): support dense offsets generated by isce2/topsApp.py, to facilitate the auto reading of read() 14 February 2023, 13:46:33 UTC
c8d4062 delete `environment.yml` file (#958) + delete the `docs/environment.yml` file because it can be replaced by the requirements.txt file: - all dependencies are available in conda-forge - no dependencies requires special pip install, as provided by environment.yml + docs/installation: - update command that use environment.yml - add mamba install mintpy example 11 February 2023, 14:09:57 UTC
67ec693 fix bug while geocoding complex wrapped interferogram (#957) 09 February 2023, 09:41:27 UTC
47fa905 `view`: fix referencing error while read unwrapPhase* in 2D w/ multilook (#956) + view: fix the bug while referencing unwrapPhase* 2D matrix with multilook number>1 + requirements: pin scipy<1.10 to avoid interpolate error [temporary] + circleci: unset strict conda channel priority + ionex: update the link 09 February 2023, 09:05:51 UTC
1a3e85d build(deps): bump docker/build-push-action from 3 to 4 (#954) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v3...v4) --- 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> 06 February 2023, 13:45:27 UTC
092a199 [pre-commit.ci] pre-commit autoupdate (#951) 01 February 2023, 14:38:46 UTC
86b8116 README/badge: flat-square style + docker status + conda download (#948) + docs/README/badge: - switch the style from flat to flat-square - add a badge for the github docker constainer build status - add a badge for the conda-forge download + scripts/load_data_aoi: save DEM as HDF5 file, instead of binary, to reduce the number of generated files. + cli/save_kmz: clarify -u/--unit help msg 21 January 2023, 03:55:02 UTC
ed3ce70 `utils.plot`: fix `_tkinter.TclError` via `plt.switch_backend('Agg')` (#947) Fix the `_tkinter.TckError: couldn't connect to display "localhost:38.0"` error by setting the matplotlib backend to Agg, in the following two functions, when saving figures without displaying: + `plot_num_triplet_with_nonzero_integer_ambiguity()`, used in the `smallbaselineApp.py --dostep quick_overview` step + `plot_timeseries_rms()`, used in the `smallbaselineApp.py --dostep timeseries_RMS` step Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 20 January 2023, 06:04:36 UTC
ce1aed0 `euler_pole`: add PMM plotting functions (#935) * euler_pole.py: add PMM plotting functions + add plate boundary files from GSRMv2.1 and MORVEL56 + functions to read the boundary files and plot * updates * + plate_motion.py: ITRF2014_PMM use full names as keys + Consistent NNR model file: - src/mintpy/data/plate_boundary/GSRMv2.1/nnr.csv - src/mintpy/data/plate_boundary/MRVL56/nnr.csv - use camelCase plate names (but caplitalize the first character) + Consistent plate boundary file: - src/mintpy/data/plate_boundary/GSRMv2.1/plate_outlines.txt - src/mintpy/data/plate_boundary/MRVL56/plate_outlines.txt - use '> ' before plate abbv. names, good for GMT - use longitude, latitude for the columns, good for GMT + remove useless script: src/mintpy/data/plate_boundary/GSRMv2.1/split_bnds.py + update full reference in README.md under src/mintpy/data/plate_boundary/ + euler_pole.py: update read_plate_attributes() read_plate_outlines() * bugfix for codacy and unit_test checks * ionex: attempt to fix the unit test attempt to fix the unit test error below: ``` Testing /root/tools/MintPy/tests/objects/ionex.py Traceback (most recent call last): File "/root/tools/MintPy/tests/objects/ionex.py", line 110, in <module> test_get_ionex_value() File "/root/tools/MintPy/tests/objects/ionex.py", line 93, in test_get_ionex_value tec_val = ionex.get_ionex_value( File "/root/tools/miniconda3/lib/python3.10/site-packages/mintpy/objects/ionex.py", line 102, in get_ionex_value tec_val = interp_3d_maps( File "/root/tools/miniconda3/lib/python3.10/site-packages/mintpy/objects/ionex.py", line 184, in interp_3d_maps tec_val = interpolate.interpn( File "/root/tools/miniconda3/lib/python3.10/site-packages/scipy/interpolate/_rgi.py", line 654, in interpn return interp(xi) File "/root/tools/miniconda3/lib/python3.10/site-packages/scipy/interpolate/_rgi.py", line 331, in __call__ indices, norm_distances = self._find_indices(xi.T) File "/root/tools/miniconda3/lib/python3.10/site-packages/scipy/interpolate/_rgi.py", line 499, in _find_indices return find_indices(self.grid, xi) File "_rgi_cython.pyx", line 95, in scipy.interpolate._rgi_cython.find_indices File "stringsource", line 660, in View.MemoryView.memoryview_cwrapper File "stringsource", line 350, in View.MemoryView.memoryview.__cinit__ ValueError: ndarray is not C-contiguous ``` * ionex: bugfix attempt no. 2 * test git rename via jupyter * Revert "test git rename via jupyter" This reverts commit b62d7487ca8c23a884ba6943b9a0395ea600a763. * Revert "ionex: bugfix attempt no. 2" This reverts commit 22f88ba496d453b876f2e311c87086f6e2484e88. * Revert "ionex: attempt to fix the unit test" This reverts commit 5e491abe9251cfd628c3f2421fd42b331981caa5. * remove the unnecessary plate name abbreviation in `plate_motion.py -h` * filenames and variable changes: + read GSRM and MORVEL56 model parameters (abbrev) from built-in dictionary + GSRM and MORVEL56 PMM files (csv) are not in used, but keep them for bookkeeping + folder names hosting plate boundaries are modified + use original file names for plate boundaries files (consistent with the source) * structure changes refer to: https://github.com/insarlab/MintPy/wiki/plate-motion-package + euler_pole.py: put pmm definitions here, plate abbv are upper case + cli/plate_motion.py: remove pmm definitions + plate_boundary/*/nnr.csv: delete them + to-do: move --plate to --om-cart from mintpy.cli.plate_motion to mintpy.plate_motion * move ITRF2014_PMM dependent codes to src/mintpy/plate_motion.py src/mintpy/cli/plate_motion.py will not need this dictionary * src/mintpy/plate_motion.py from mintpy.objects.euler_pole import ITRF2014_PMM * fix import in tests/objects/euler_pole.py * plate_boundary dir/file rename with shell cmds to reproduce + use `MORVEL` instead of `MORVEL56` for the folder name, as it's generic for MORVEL and NNR-MORVEL56, to be consistent of using GSRM, instead of GSRMv2.1 + rename both data files as `plate_outlines.gmt` with shell commands in the README for easy produce + euler_pole: - update data file path from above changes - use `GSRM_V21_PMM` and `NNR_MORVEL56_PMM` for more precise info * codacy fix * euler_pole refactor - part 1 * codacy fix * euler_pole refactor part 2 + use center_lalo to replace center_lat/lon + use satellite_height directly, instead of zoom + map center priority: direct input arg > pts_lalo > polygon centroid + remove vu as it's not used * updates to the plate boundary files: + use the original downloaded files + extensions as .lalo or .lola + modify euler_pole.py accordingly * update * read_plate_outline: return as shapely object Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 15 January 2023, 23:51:51 UTC
e2b6a47 `utils0.median_abs_deviation()`: divide by `scale` instead of multiply (#946) The "scale" parameter in the `median_abs_deviation` function should be a divisor for MAD calculation, namely `np.nanmedian(...) / scale`, instead of `np.nanmedian(...) * scale`, in order to derive a cutoff value comparable to the 1-2-3-sigma rule. Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 13 January 2023, 19:53:13 UTC
4e88f08 add version 1.5.1 tag (#945) 04 January 2023, 04:51:02 UTC
cc27078 temporal_filter: add median filter from scipy with -f option + cli.temporal_filter: - add -f option to specify the filter type - change the default filter from gaussian to median + objects.stack.timeseries.temporal_filter(): - add `filter_type` argument - support median filter via scipy.ndimage.median_filter() - more informative default output file name + minor message/comment update in cli.prep_isce.py and utils.utils1.add_attribute() 01 January 2023, 22:34:04 UTC
0247168 fix codacy issues + tsview legend for multi-file + fix various codacy detected issues + bugfix in tsview legend for multiple input files + delete the unused legacy/los2enu.py 01 January 2023, 22:34:04 UTC
aa390d2 `(ts)view`: auto-adjust lat/lon decimal places + ignore ex date for time func fit (#942) + `utils.utils0.py`: add `get_lalo_digit4display()` to calculate the appropriate decimal places for the lat/lon coordinates for displaying purposes, based on the pixel size info in the metadata. - `view.plot_slice()`: call `ut.get_lalo_digit4display()` and use it in `format_coord()` for the status bar. - `tsview`: call `ut.get_lalo_digit4display()` in `read_init_info()` and use it in `get_point_coord_str()` for the figure title and saved txt file. + `tsview`: ignore the excluded dates while fitting the time-functions + `tsview`: print out the specified command if `--noverbose`, similar to view.py + `plot_network`: auto-adjust the fig size / dpi for long time-series stack + `scripts/load_data_aoi`: add `ionStack.h5` file crop/geocode 31 December 2022, 01:48:54 UTC
04793a5 `resample`: fix discrepancy between `num_box` and `dest_box_list` (#940) + `objects.resample.prepare_geometry_definition_radar()`: update the initially guessed `num_box` value, based on the later-on-calculated actually-used `dest_box_list`. These two could occasionally be different when the input file is large. + use `use scipy.interpolate.RegularGridInterpolator` without `as RGI` in the following scripts, as suggested by codacy. - objects.resample.py - tropo_gacos.py - utils.utils0.py + `.github./dependabot.yml`: fix typo introduced in #939 28 December 2022, 06:14:12 UTC
c7400f9 docs/installation: switch syntax from markdown to html (#939) + docs/installation: - switch syntax from markdown to html, for elements within the html `<section>` tag, as they do not work on readthedocs: - links with `<a>` tag - code block with `<code>` and `<pre>` tags - lists with `<ul>` and `<li>` tags - use `<p>` tag to fine-tune the spacing between paragraphs - keep markdown syntax for titles, as much as possible (outside of any html tags), as it provides links for precise (sub)-sections - remove the unnecessary link to section 3 "post-installation setup" + `.github/dependabot.yml`: ignore patch updates for all dependencies to reduce the PR frequency + `utils.readfile.get_hdf5_dataset_attrs()`: return None, instead of raising an error, if the input file is not hdf5, for more compatibility 28 December 2022, 02:38:11 UTC
61177bb pre-commit/PyCQA/isort: v5.11.3 → 5.11.4 (#937) [pre-commit.ci] pre-commit autoupdate updates: - [github.com/PyCQA/isort: v5.11.3 → 5.11.4](https://github.com/PyCQA/isort/compare/v5.11.3...5.11.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 27 December 2022, 03:27:02 UTC
1c7d22a image_math: support multi-file + overwrite (#936) + cli.image_math: support multiple input files + cli.image_math: add --overwrite option + cli.asc_desc2horz_vert: check input file types, to give meaningful error msg if not pass + simulation.iono.iono_incidence2refraction_angle: support 3D output + utils.utils0: add diff_wrapped_phase() 23 December 2022, 23:23:52 UTC
541f33c isort: 5.11.1 --> 5.11.3 (#931) updates: - [github.com/PyCQA/isort: 5.11.1 → v5.11.3](https://github.com/PyCQA/isort/compare/5.11.1...v5.11.3) 21 December 2022, 02:40:55 UTC
85d8e25 update numpy expired deprecations (#934) https://numpy.org/devdocs/release/1.24.0-notes.html#expired-deprecations 21 December 2022, 01:55:41 UTC
f9b1970 [pre-commit.ci] pre-commit autoupdate (#929) 13 December 2022, 02:58:54 UTC
99ae8ec [pre-commit.ci] pyupgrade: v3.2.2 → v3.3.0 (#924) updates: - [github.com/asottile/pyupgrade: v3.2.2 → v3.3.0](https://github.com/asottile/pyupgrade/compare/v3.2.2...v3.3.0) 06 December 2022, 02:26:44 UTC
baed904 closure_phase_bias: use `wrapPhase` if available (#922) + update `objects.stack.ifgramStack.get_sequential_closure_phase()`: - prefer the use of wrapped phase, only use unwrapped phase when no wrapped phase is found - eliminates the need for a reference point for the computation of the wrapped closure phase + closure_phase_bias: give some info regarding the necessity of a reference point for action quick_estimate and estimate. + docs/install: fix the order of `conda activate mintpy` and `mamba install isce2` 02 December 2022, 23:05:52 UTC
4fcc33d install: rm pip non-editable mode (#923) + docs/installation: remove note for the regular `pip install` in non-editable mode, as this is not really useful for development version, because one needs to frequently git pull, and re-install to keep up with updates + docs/installation: add `mamba install isce2` note for `conda env create -f environment.yml` dependency installation + readfile.read_attribute: enforce lower case for metadata file extension for more robust detection against TIF file with an upper case file extension. 02 December 2022, 22:11:08 UTC
d8b74c6 pre-commit: v4.3.0 → v4.4.0 (#921) updates: - [github.com/pre-commit/pre-commit-hooks: v4.3.0 → v4.4.0](https://github.com/pre-commit/pre-commit-hooks/compare/v4.3.0...v4.4.0) 29 November 2022, 01:11:04 UTC
9941b20 build(deps): bump akhilerm/tag-push-action from 2.0.0 to 2.1.0 (#917) 28 November 2022, 17:06:45 UTC
89fc646 save_gbis: support non-velocity dataset from the velocity file (#916) * Ability to extract other datasets from the velocity files 24 November 2022, 23:33:49 UTC
143fef5 deps: drop `defusedxml` (#915) * deps: drop `defusedxml`. revert back the ElementTree usage from `defusedxml` to the native `xml.etree` module, to drop this extra dependency, because there are only two use cases in the code: parse known XML files from ISCE and SNAP. #340 * del add_attribute from setup.py and __main__.py * ionex.get_ionex_value(): rotate TEC map by default * closure_phase_bias: add link to notebook 23 November 2022, 01:15:16 UTC
1edce64 save_kite: typo fixed on `capitalize()` (#914) 21 November 2022, 21:08:20 UTC
93d769b docs: add <details> tag to shorten installation note + version 1.5.0 tag (#912) * docs/install: add <details> tag to shorten the default instruction * version: add tag for version 1.5..0 18 November 2022, 19:53:12 UTC
a28fc2c mv `constants` from `mintpy.objects` to `mintpy` level (#911) + move the `constants` from the `objects` directory to the root directory, to simplify its usage. + update all existing usage of `mintpy.constants` sub-module 17 November 2022, 03:55:03 UTC
7181dec `plate_motion`: add `--plate` option to use built-in tables (#906) * move add_attribute.py to legacy dir move `mintpy/add_attribute.py` to the `mintpy/legacy` directory because: 1. it's rarely used (it was designed as a quick hack to fix unexpected metadata problems) 2. it does not have the argparse usage to be included in the "mintpy/cli" sub-module, making it inconvenient to maintain 3. its functionality can be covered in Python using `mintpy.utils.utils.add_attribute()` API and in command line by adding extra metadata in the custom template file during data loading process. * plate_motion: add --plate option to use built-in tables add --plate option to grab the built-in rotation parameters from ITRF2014-PMM (Altamimi et al., 2017), for easy usage. 17 November 2022, 00:43:57 UTC
e00074a copy dataset units in `geocode.py` (#910) + `utils.readfile`: add `get_hdf5_dataset_attrs()` to extract a given attribute from all top-level datasets of the input HDF5 file. + `geocode.py`: copy over the dataset unit from input file to output file, e.g. for the velocity.h5 file. - call `readfile.get_hdf5_dataset_attrs()` - pass to `writefile.layout_hdf5(ds_unit_dict)` 16 November 2022, 07:32:11 UTC
27f8924 [pre-commit.ci] pyupgrade: v3.2.0 → v3.2.2 (#907) updates: - [github.com/asottile/pyupgrade: v3.2.0 → v3.2.2](https://github.com/asottile/pyupgrade/compare/v3.2.0...v3.2.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> 15 November 2022, 03:02:28 UTC
16f4596 `dem_error` w/ phase velocity: rm all-zero column in design matrix (#905) + dem_error.py --phase-velocity: remove the all-zero column in the design matrix G and the all-one column in the design matrix G0, as the constant intercept term is not estimated in the phase velocity minimization scenario. Including this all-zero column in G could sometimes introduce abnormally large eigenvalues in the least-squares inversion, resulting in unrealistic TS residual. 12 November 2022, 06:16:38 UTC
0b0a8eb switch to `src` layout (#903) + switch `mintpy` to the standard `src/mintpy` layout for the source code + move/rename `mintpy/data/input_files` to `docs/templates` + update links and paths for 1) the src layout, 2) the renamed template dir and 3) $MINTPY_HOME usage: - docs/api/attributes.md - docs/api/colormaps.md - docs/dask.md - docs/demo_dataset.md - docs/google_earth.md - docs/hdfeos5.md - docs/installation.md - docs/README.md - mkdocs.yml + update `setup.py`: - update "version" and "packages" settings for the new `src` layout - remove "data/input_files" from the package data section + `version`: use ".postX" convention to be consistent with pip 09 November 2022, 21:14:57 UTC
ea5457f smallbaselineApp/dem_error: roll back "phase" minimization as default (#902) + mintpy/defaults/smallbaselineApp(_auto).cfg: roll back the default to `phase velocity` for topo resid + tests/dem_error: use model with step functions, which has better est. accuracy for complex deformation + mintpy/utils/time_func/*design_matrix4poly*: more comments on the math form of the polynomial equations 08 November 2022, 20:50:56 UTC
f24076b update circle CI + bugfix in save_gmt (#901) + .circleci/config.yml update: - use $BASH_ENV to set and share environment variable (PATH) among multiple run steps - rename to workflow/job to "unit-n-workflow-tests" + cli/save_gmt.py: fix a typo in the module import + cli/load_data: check `-t smallbaselineApp.cfg` existence and print out error msg + tsview: show the reference index/date info on the slider as the title 08 November 2022, 07:17:03 UTC
64ffdef build(deps): bump docker/build-push-action from 2 to 3 (#899) Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 2 to 3. - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](https://github.com/docker/build-push-action/compare/v2...v3) --- 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> 07 November 2022, 18:26:35 UTC
2ab0148 build(deps): bump docker/setup-buildx-action from 1 to 2 (#897) Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 1 to 2. - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](https://github.com/docker/setup-buildx-action/compare/v1...v2) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> 07 November 2022, 18:25:48 UTC
fd368b4 build(deps): bump actions/checkout from 2 to 3 (#898) Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3. - [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/v2...v3) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> 07 November 2022, 07:29:31 UTC
7ce59a8 build(deps): bump akhilerm/tag-push-action from 1.0.0 to 2.0.0 (#896) Bumps [akhilerm/tag-push-action](https://github.com/akhilerm/tag-push-action) from 1.0.0 to 2.0.0. - [Release notes](https://github.com/akhilerm/tag-push-action/releases) - [Commits](https://github.com/akhilerm/tag-push-action/compare/v1.0.0...v2.0.0) --- updated-dependencies: - dependency-name: akhilerm/tag-push-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> 07 November 2022, 07:29:06 UTC
f6695ac build(deps): bump actions/setup-python from 3 to 4 (#895) Bumps [actions/setup-python](https://github.com/actions/setup-python) from 3 to 4. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v3...v4) --- 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> 07 November 2022, 07:28:33 UTC
d55f781 build(deps): bump docker/login-action from 1 to 2 (#894) Bumps [docker/login-action](https://github.com/docker/login-action) from 1 to 2. - [Release notes](https://github.com/docker/login-action/releases) - [Commits](https://github.com/docker/login-action/compare/v1...v2) --- 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> 07 November 2022, 07:26:17 UTC
6167bc9 break publish-to-pypi into 2 jobs + add dependabot (#893) + build-n-publish-to-pypi.yml: - rename "publish-to-test-pypi.yml" to "build-n-publish-to-pypi.yml" - trigger for pull requests - split jobs into 2: "build-sdist-n-wheel" and "upload-to-pypi" - use upload/download artifacts to connect them, as used in pysolid + add `.github/dependabot.yml` for auto update 07 November 2022, 06:55:29 UTC
a199d92 dem_error: set `cond=1e-8` to fix abnormal fit residual + add unit test (#890) + `dem_error`: fix abnormal residual TS with default phase velocity mode - estimate_dem_error(): switch cutoff value of the least squares solution from 1e-15 to 1e-8, to avoid abnormal high TS residual value, when the phase velocity mode is turned ON by default. Tests (based on the new unit test script) shows this change has no impact on the estimation result at all, which is good. - set `debug_mode` as global variable to be test a specific pixel given Y/X easily. + add `tests/dem_error.py`, to test the DEM error estimation / correction in both scenarios (simple linear and complex non-linear) for one pixel. - add to circle CI testing + `ifgram_inversion`: rename/shortern the default output filenames for ionStack.h5 + `tropo_pyaps3`: improved auto-skip/run checks - skip dload if ERA5.h5 already exists - skip re-applying correction if corrected displacement exists and is newer - print out msg adjustment 06 November 2022, 06:48:19 UTC
ffefb7c bugfix for block-by-block resample & run/skip in load_data (#888) + objects.resample.prepare_geometry_definition_radar(): use abs() to ensure positive area calculation for both source/destination, before the adaptive source bbox calculation for block-by-block processing. + load_data.run_or_skip: check length/width only for ifgramStack to be able to skip re-loading if the existing ifgramStack file has more pairs than the input. + smallbaselineApp --plot: use relpath() for ionStack.h5 file 04 November 2022, 18:35:01 UTC
75012c5 docs/install: set env variables for more robust handling of HDF5 and GDAL VRT (#886) + docs/installation: add "3.c Extra environment variables setup" sub-section to setup three environment variables for more robust handling of HDF5 (for the file lock and version checking) and GDAL VRT (for dataset sharing in a multi-threading environment). Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 04 November 2022, 06:39:19 UTC
2983a1a `tropo_pyaps3`: ensure 2 chars for `--hour` input (#883) + tropo_pyaps3: ensure 2 chars for --hour input + docs/module_hierarchy: add euler_pole + .circleci: use Unit/Workflow tests as names 02 November 2022, 17:57:35 UTC
24b1615 [pre-commit.ci] pre-commit autoupdate (#881) updates: - [github.com/asottile/pyupgrade: v3.1.0 → v3.2.0](https://github.com/asottile/pyupgrade/compare/v3.1.0...v3.2.0) 31 October 2022, 23:45:15 UTC
930cbf4 `plate_motion` refactoring: remove pkg dependency (#868) + add `objects.euler_pole.py`: - create the `EulerPole` class/object based on `numpy` and `pyproj` (similar to https://github.com/joferkington/euler_pole/blob/master/euler_pole/euler_pole.py) - use matrix rotation to convert the cartesian frame to local ENU frame, to compute the plate motion - the above two remove the dependency on `astropy` and `platemotion` (https://github.com/lcx366/PlateTectonic) - add references to Pichon et al., 1973, Cox et al., 1986, ESA webpage - turn ON "ellipsoid" Earth calculation by default - `get_velocity_enu()`: set vu to 0 if assuming spherical Earth (ellps=False) + add `tests/objects/euler_pole.py` for the unit tests: - test the EulerPole object initiation/conversion - test the plate motion calculation against the UNAVCO web calculator - add to the circle CI testing + `plate_motion.py` and `cli/plate_motion.py`: add published DOI to Stephenson, Liu, et al. (2022). + simplify the setup/install section for plate_motion in `setup.py` and `__main__.py` + other minor features and bugfixes: - utils.utils0.py: add get_azimuth_angle_from_east_north_obs() - utils.readfile.sort_dataset_list4velocity(): support velocity file without velocity dataset, e.g. ITRF14enu.h5 file. Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 30 October 2022, 06:17:33 UTC
c15ad0f bugfix for `smallbaselineApp.py --plot` option (#879) + smallbaselineApp: fix the bug of empty template file in _read_template(), which results in TypeError while running `smallbaselineApp.py --plot` + tests/smallbaselineApp: use abspath() to fix the bug while using --dir for a different direction for testing + modify_network: print given ifg index number, instead of ordering number, to be more informative + setup: uncomment pysolid as it's now available on pypi 26 October 2022, 00:30:26 UTC
4275a94 `save_roipac`: support non-velocity dataset from the velocity file (#874) + `save_roipac.read_data()`: add an `if` check to skip the "velocity to displacement" conversion if the dataset of interest is not "velocity" + `cli.save_roipac.py`: add example usage for non-velocity datasets, e.g. step, annualAmplitude 23 October 2022, 03:58:22 UTC
a4a0780 `dem_error`: change default from phase to phase velocity (#875) + Change the default minimization option from "phase" to "phase velocity", based on the experiment of geolocation correction in the urban area. This is also more consistent with Fattahi & Amelung (2013, TGRS). + Fix matrix size bug for using phase velocity history during matrix operations. 22 October 2022, 18:55:23 UTC
4756732 add `pre-commit` to dependency and contributing guideline (#873) * ptime.read_date_txt(): ignore invalid/empty lines * read_template: bugfix for `skip_chars` arg * deps: add pre-commit + add `pre-commit` to the following dependency files, so that it will be installed automatically in the development version. - docs/environment.yml - requirements.txt - setup.py + docs/CONTRIBUTING: add note to install `pre-commit` + github PR template: add selection box for pre-commit check. * Update CONTRIBUTING.md we need to run `pre-commit sample-config` to have a basic config file before running `pre-commit install`. Co-authored-by: Yuan-Kai Liu <55262505+yuankailiu@users.noreply.github.com> 19 October 2022, 21:05:08 UTC
868c27f `writefile.write`: force `BANDS` to 2 for `.unw` file (#871) to ensure the consistency between output metadata and data with the 2-band format, because the input *.unw file may have only 1-band, as produced by `isce2/alosStack`. 16 October 2022, 17:52:03 UTC
1350ddf support `hyp3` `lv_phi` file as azimuth angle (#865) + prep_hyp3.add_hyp3_metadata(): set UNIT to radian for "lv_phi" file + objects.stackDict.geometryDict(): - convert hyp3 azimuthAngle input from gamma to mintpy/isce2 convention - convert no-data-value from 0 to nan for azimuthAngle and incidenceAngle + docs: add lv_phi file to the example dir structure for hyp3 13 October 2022, 02:32:37 UTC
8c23297 ionex: split interp_3d_maps() out of get_ionex_value() for re-use (#867) 11 October 2022, 04:25:55 UTC
890a743 [pre-commit.ci] pre-commit autoupdate (#866) 11 October 2022, 01:06:11 UTC
e4c94d1 ut.add_attribute(): support binary file type (#864) + utils.utils1.add_attribute(): support binary file, by writing roipac RSC file, in addition to the existing HDF5 file 09 October 2022, 22:50:38 UTC
b71a6cf sort ds_list to ensure `velocity` as first and `residue/intercept` as last (#860) + `utils.readfile`: - add sort_dataset_list4velocity() to ensure velocity are the first dataset, and intercept/residue are the last datasets - apply the above func in get_dataset/slice_list() for velocity file - replace var `k` with `ftype` for code readility + tests/smallbaselineApp: use *.tar.gz file, in addition to *.tar.xz file, if exists. + add `mintpy.objects.progress.FileProgressObject` class to show a progrerss bar during uncompressing 07 October 2022, 21:11:10 UTC
38a9891 rename `bulk_plate_motion` to `plate_motion` (#858) + rename `bulk_plate_motion` to `plate_motion`: including changes in: - `mintpy.plate_motion.py` - `mintpy.cli.plate_motion.py` - `mintpy.__main__` - `setup.py` + `utils.readfile.read()`: add `no_data_values` arg to be able to convert the no-data-value from one number to another number. + `utils.network`: del the obsolete `igram_perp_baseline_list()` function + use the Python context manager `with` statement to better control the HDF5 file handle/lock (#855). 01 October 2022, 20:51:44 UTC
5eb8857 [pre-commit.ci] autoupdate pyupgrade: v2.37.3 → v2.38.2 (#856) updates: - [github.com/asottile/pyupgrade: v2.37.3 → v2.38.2](https://github.com/asottile/pyupgrade/compare/v2.37.3...v2.38.2) 27 September 2022, 00:58:37 UTC
8ccacd1 `smallbaselineApp`: replace workflow import w/ individual import (#854) + `smallbaselineApp`: bring back the individual module import (as proposed in the lazy import PR #828), to replace the workflow import, for better speed and robustness. + `workflow/__init__.py`: fix the UnboundLocalError of 'mintpy' + `info`: support `--compact` output to `--date / --num` options + general Codacy style suggestions 24 September 2022, 02:06:46 UTC
9ca4adc readfile.read_isce_xml: bugfix when v_first=0 (#853) 23 September 2022, 01:46:27 UTC
7e36e6a setup `pre-commit` hook + initial run against all files (#852) + install pre-commit GitHub Apps + add `.pre-commit-config.yaml` + changes from the initial run of pre-commit against all files - end-of-file-fixer - trailing-whitespace - sort imports via isort - modernize python via pyupgrade + info: printout h5 dataset compression info + tests: consistent script header comments + utils.readfile: use MACRO_CASE global var - replace standardMetadataKeys with STD_METADATA_KEYS 22 September 2022, 21:54:14 UTC
73f4e28 support azimuth output for `solid_earth_tides` and `bulk_plate_motion` (#851) + solid_earth_tides.py: - add --comp enu2los / en2az to switch between range / azimuth direction output - use ut.get_unit_vector4comp_of_interest() for --comp projection - support date_list text file as input, as an alternative to the TS HDF5 file - change set_file as optional arg in calc_solid_earth_tides_timeseries() + bulk_plate_motion.py: - add --comp enu2los / en2az to switch between range / azimuth direction output - use ut.get_unit_vector4comp_of_interest() for --comp projection - use lower case "enu" and/or "az" for default output filename - set pmm_file as optional arg in calc_bulk_plate_motion() + utils.utils0.py: - add Coordinate / Orbit sub-section to simplify the Geometry sub-section - add definition with example values for the following angles: los_inc_angle, los_az_angle, orb_az_angle, head_angle - add los2orbit_azimuth_angle() - add azimuth2heading_angle(look_direction) and heading2azimuth_angle(look_direction) - add en2az() - add get_unit_vector4comp_of_interest() - add misregistration2coherence() based on Just & Bamler (1994) + utils.utils.prepare_geo_los_geometry(): change the output from head_angle to los_az_angle. + objects.ionex: move plotting-related modules inside plot_ionex() for more independency + objects.stack/giant: use MACRO_CASE for the global variables and update their usages throughout the repo. + objects.timeseries.read(): use single indexing to speedup IO + smallbaselineApp.plot_result: rm '-u cm' for velocity, as it now has datasets with different units, thus, '-u cm' won't work anymore. + tsview: fix the mpl.figure.canvas.set_window_title() bug, as reported and fixed by Jiawei Li + view: update example usage in the comments for (cli)/view.py + dependency: add `rich` to the formal dependency list, as it's lightweight and prints colorful template content, and plan to be used more. + del simulation/configSenDesc.txt, as it's not used in the code anymore. 22 September 2022, 06:32:41 UTC
eec16ba lazy import via `mintpy.cli` for more responsive CLI (#828) NOTE: re-installation is required after this update, using pip or path setup, as described in docs/installation.md. + add `mintpy.cli`: split all CLI scripts in root module `mintpy` into two parts: core functionality (still in `mintpy`), and CLI-related functionalities (into a new sub-module `mintpy.cli`). The `mintpy.cli` module includes the following functions; and enables lazy improts (fast responsive CLI) to the `mintpy` command. - create_parser() - cmd_line_parse() - read_template2inps() - main() - __main__ - other very simple sub-functions + `mintpy.cli`: use `parse -> import -> run / check / default` order to expand the lazy imports to all the individual *.py commands. + `mintpy.__main__`: use absolute imports + `mintpy.workflow.__init__`: update the dynamic import to `mintpy.cli`. + setup.py: add extras_require field + create an overall processing function for the following scripts, to allow for simple main() call in `mintpy.cli`: - bulk_plate_motion.py - closure_phase_bias.py - dem_gsi.py - generate_mask.py - ifgram_inversion.py - info.py - iono_tec.py - load_data.py - lookup_geo2radar.py - modify_network.py - smallbaselineApp.py + ifgram_inversion: remove the unavailable and unused "mintpy.networkInversion.residualNorm" option, to simplify the code. + load_data: use `importlib` to import prep_module + objects.timeseries(): - add temporal_derivative() from temporal_derivative.py - add temporal_filter() from temporal_filter.py + objects.insar_vs_gps: refactor to replace `dateutil` with `datetime` to remove the `dateutil` dependency + smallbaselineApp.TimeSeriesAnalysis(): remove all unused `return` statement + tropo_gacos: keep only the JGR paper, to accurately reflect the fact that gacos website produced products do not include the GNSS info, as shown in Yu's other papers. + utils.utils1.run_or_skip(): rename check_readable to readable, to shortern its calls + view: remove unused `PLOT_TEMPLATE` and `--plot-setting` option. This was for insarmaps website, but does not seems to be used. Remove for code simplification. + remove the followings scripts, as they are aborted into `mintpy.cli` or `mintpy.objects.stack.timeseries`: - prep_snap.py - remove_hdf5_dset.py renamed from remove_hdf5_dataset.py - remove_ramp.py - spatial_average.py - temporal_average.py - temporal_derivative.py - temporal_filter.py + docs/installation.md: update the instruction to install mintpy via path setup + adjust to make path setup method working on cmd: - add `#!/usr/bin/env python3` to the top of all cli/[a-z]*.py scripts - run `chmod +x` to all `cli/[a-z]*.py` scripts - run `chmod -x` to all `mintpy/[a-z]*.py` scripts, except for two (add_attribute.py and multi_transect.py). Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> Co-authored-by: Antonio Valentino <Antonio.Valentino@ext.esa.int> 21 September 2022, 19:12:11 UTC
414cb65 bugfix in ionex.dload_ionex() (#849) 17 September 2022, 00:03:01 UTC
726fa70 del obsolete mintpy/legacy/gui folder (#846) + delete the obsolete `mintpy/legacy/gui` folder, as 1) they are not working nor maintained anymore, 2) they are causing problems while trying pre-commit hooks + legacy/transect_legacy.py: update print() from py2 to py3 + utils/isce_utils.get_processor(): add `data.db` to the supported list of metadata files generated by stripmapStack + load_data.py: add more msg for aria if load_data failed 13 September 2022, 04:11:09 UTC
d987950 fix typo in `smallbaselineApp.cfg` for `stepDate` (#843) 07 September 2022, 06:20:27 UTC
4a0f2c5 unmask ref pixel in ts2vel and tsview (#842) + timeseries2velocity.py: - include the reference point as valid pixels for calculation/inversion. - use np.full() instead of np.ones() for initiation with nan value. + tsview.py: bugfix for keeping the reference point in the valid pixel mask + utils/plot.auto_figure_title(): add "_" for the processing flag if not existed already. Co-authored-by: bbuzz31 <buzzanga@jpl.nasa.gov> Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 05 September 2022, 19:46:54 UTC
3245008 readfile.read_attribute: allow ENVI files created with SUFFIX=ADD (#841) + readfile.read_attribute: allow ENVI files created by GDAL with `SUFFIX=ADD`, in additional to the current ones created with `SUFFIX=REPLACE`. 01 September 2022, 16:32:36 UTC
fe2fc27 ts2vel: save `residue` & `intercept` (#835) + timeseries2velocity.py: - save `residue` for the overall fitting residues, a useful parameter to evaluate the fitting quality - save `intercept` for the Y-axis intercept of the polynomial function, to be able to reconstruct the time-series completely. + .github/workflows/pypi: publish the release to test-pypi as well 22 August 2022, 22:09:09 UTC
4fef13c hdf5eos: calc `data_footprint` for radar-coded dataset (#833) + save_hdf5eos.py: support radar-coded dataset - calculate `data_footprint` for radar-coded files, based on geometry files from both isce and roipac style - check the incompatible --subset option with radar-coded dataset - add example cmd for radar-coded dataset + utils0.py: add `snwe_to_wkt_polygon()` Co-authored-by: Zhang Yunjun <yunjunzgeo@gmail.com> 20 August 2022, 04:02:57 UTC
36a0835 wrap up for version 1.4.1 (#829) + version: add Tag for version 1.4.1 + readfile.read_hdf5_file(): speedup the 3D matrix reading when slicing a small fraction of the 1st dimension, by using integer indexing for 3D h5 dataset, instead of 1D boolean array indexing. + view.read_data4figure(): bugfix for referencing unwrapPhase while plotting mixed dset types + move the following plotting functions to utils.plot.py for a more compact module import, to simplify the UNAVCO notebook: - unwrap_error_phase_closure.plot_num_triplet_with_nonzero_integer_ambiguity() - timeseries_rms.plot_rms_bar() - objects.insar_vs_gps.plot_insar_vs_gps_scatter() + plot.plot_insar_vs_gps_scatter(): add preliminary outlier detection 16 August 2022, 06:51:05 UTC
back to top