https://github.com/insarlab/MintPy
- HEAD
- refs/heads/aria_prep_corr
- refs/heads/gui-qt
- refs/heads/main
- refs/heads/python2
- refs/heads/sss_rerefGPS
- refs/tags/v1.1.0
- refs/tags/v1.1.1
- refs/tags/v1.1.2
- refs/tags/v1.2.0
- refs/tags/v1.2.2
- refs/tags/v1.2.3
- refs/tags/v1.2alpha
- refs/tags/v1.2beta
- refs/tags/v1.3.0
- refs/tags/v1.3.1
- refs/tags/v1.3.2
- refs/tags/v1.3.3
- refs/tags/v1.4.0
- refs/tags/v1.4.1
- refs/tags/v1.5.0
- refs/tags/v1.5.1
- refs/tags/v1.5.2
Take a new snapshot of a software origin
If the archived software origin currently browsed is not synchronized with its upstream version (for instance when new commits have been issued), you can explicitly request Software Heritage to take a new snapshot of it.
Use the form below to proceed. Once a request has been submitted and accepted, it will be processed as soon as possible. You can then check its processing state by visiting this dedicated page.
Processing "take a new snapshot" request ...
To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.
This interface enables to generate software citations, provided that the root directory of browsed objects contains a citation.cff or codemeta.json file.
Select below a type of object currently browsed in order to generate citations for them.
Generating citation ...
Generating citation ...
Revision | Author | Date | Message | Commit Date |
---|---|---|---|---|
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 |
386ff9b | Zhang Yunjun | 18 March 2023, 07:37:15 UTC | 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 | Bryan Marfito | 14 March 2023, 05:30:08 UTC | 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 | Bryan Marfito | 12 March 2023, 12:42:41 UTC | 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 | Zhang Yunjun | 09 March 2023, 11:59:38 UTC | 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 | Zhang Yunjun | 07 March 2023, 13:57:09 UTC | 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 | Zhang Yunjun | 05 March 2023, 06:59:43 UTC | 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 | Zhang Yunjun | 22 February 2023, 15:34:22 UTC | 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 | Zhang Yunjun | 21 February 2023, 02:13:56 UTC | `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 | Zhang Yunjun | 20 February 2023, 15:08:36 UTC | `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 | Yujie Zheng | 18 February 2023, 07:50:47 UTC | 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 | Zhang Yunjun | 14 February 2023, 13:46:33 UTC | `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 | Zhang Yunjun | 11 February 2023, 14:09:57 UTC | 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 | comma | 09 February 2023, 09:41:27 UTC | fix bug while geocoding complex wrapped interferogram (#957) | 09 February 2023, 09:41:27 UTC |
47fa905 | Zhang Yunjun | 09 February 2023, 09:05:51 UTC | `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 | dependabot[bot] | 06 February 2023, 13:45:27 UTC | 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[bot] | 01 February 2023, 14:38:46 UTC | [pre-commit.ci] pre-commit autoupdate (#951) | 01 February 2023, 14:38:46 UTC |
86b8116 | Zhang Yunjun | 21 January 2023, 03:55:02 UTC | 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 | Falk Amelung | 20 January 2023, 06:04:36 UTC | `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 | Yuan-Kai Liu | 15 January 2023, 23:51:51 UTC | `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 | Yi-Ching CHEN | 13 January 2023, 19:53:13 UTC | `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 | Zhang Yunjun | 04 January 2023, 04:51:02 UTC | add version 1.5.1 tag (#945) | 04 January 2023, 04:51:02 UTC |
cc27078 | Zhang Yunjun | 02 December 2022, 19:56:28 UTC | 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 | Zhang Yunjun | 31 December 2022, 06:26:42 UTC | 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 | Zhang Yunjun | 31 December 2022, 01:48:54 UTC | `(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 | Zhang Yunjun | 28 December 2022, 06:14:12 UTC | `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 | Zhang Yunjun | 28 December 2022, 02:38:11 UTC | 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-ci[bot] | 27 December 2022, 03:27:02 UTC | 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 | Zhang Yunjun | 23 December 2022, 23:23:52 UTC | 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 | pre-commit-ci[bot] | 21 December 2022, 02:40:55 UTC | 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 | Zhang Yunjun | 21 December 2022, 01:55:41 UTC | 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[bot] | 13 December 2022, 02:58:54 UTC | [pre-commit.ci] pre-commit autoupdate (#929) | 13 December 2022, 02:58:54 UTC |
99ae8ec | pre-commit-ci[bot] | 06 December 2022, 02:26:44 UTC | [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 | Yujie Zheng | 02 December 2022, 23:05:52 UTC | 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 | Zhang Yunjun | 02 December 2022, 22:11:08 UTC | 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-ci[bot] | 29 November 2022, 01:11:04 UTC | 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 | dependabot[bot] | 28 November 2022, 17:06:45 UTC | build(deps): bump akhilerm/tag-push-action from 2.0.0 to 2.1.0 (#917) | 28 November 2022, 17:06:45 UTC |
89fc646 | Bryan Marfito | 24 November 2022, 23:33:49 UTC | 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 | Zhang Yunjun | 23 November 2022, 01:15:16 UTC | 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 | Yuan-Kai Liu | 21 November 2022, 21:08:20 UTC | save_kite: typo fixed on `capitalize()` (#914) | 21 November 2022, 21:08:20 UTC |
93d769b | Zhang Yunjun | 18 November 2022, 19:53:12 UTC | 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 | Zhang Yunjun | 17 November 2022, 03:55:03 UTC | 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 | Zhang Yunjun | 17 November 2022, 00:43:57 UTC | `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 | Zhang Yunjun | 16 November 2022, 07:32:11 UTC | 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[bot] | 15 November 2022, 03:02:28 UTC | [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 | Zhang Yunjun | 12 November 2022, 06:16:38 UTC | `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 | Zhang Yunjun | 09 November 2022, 21:14:57 UTC | 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 | Zhang Yunjun | 08 November 2022, 20:50:56 UTC | 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 | Zhang Yunjun | 08 November 2022, 07:17:03 UTC | 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 | dependabot[bot] | 07 November 2022, 18:26:35 UTC | 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 | dependabot[bot] | 07 November 2022, 18:25:48 UTC | 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 | dependabot[bot] | 07 November 2022, 07:29:31 UTC | 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 | dependabot[bot] | 07 November 2022, 07:29:06 UTC | 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 | dependabot[bot] | 07 November 2022, 07:28:33 UTC | 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 | dependabot[bot] | 07 November 2022, 07:26:17 UTC | 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 | Zhang Yunjun | 07 November 2022, 06:55:29 UTC | 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 | Zhang Yunjun | 06 November 2022, 06:48:19 UTC | 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 | Zhang Yunjun | 04 November 2022, 18:35:01 UTC | 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 | Mohammad Mohseni Aref | 04 November 2022, 06:39:19 UTC | 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 | Zhang Yunjun | 02 November 2022, 17:57:35 UTC | `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 |