Releases: insarlab/MintPy
Releases · insarlab/MintPy
Version 1.6.3
What's Changed
hyp3: supportINSAR_ISCE_MULTI_BURSTjob type by @jtherrmann in #1430prep_hyp3: support Sentinel-1C by @nozadkhalil in #1392- add
view/tsview --shp-fileoptions to plot line/polygon from ESRI shapefiles or GMT lonlat files by @yunjunz in #1435, #1436 objects.sensor: add SAOCOM and fix carrier_frequency typo by @frx08 in #1418objects.sensor: add TeLEOS-2 & update TSX/SeaSat/HJ1C/ALOS4 by @yunjunz in #1424objects.colors: addsave_cpt_file()by @yunjunz in #1423
Maintenance - bugfixes
- progressBar: prevent ZeroDivisionError when span is zero by @frx08 in #1417
- utils/plot: handle empty data in
auto_adjust_colormap_lut_and_disp_limit()by @frx08 in #1419
Maintenance - dependency, tests and documentation
- dependency change:
- add
pytestin thetests/requirements.txtfile by @jtherrmann in #1430
- add
- install: switch from
mamba inittoconda initby @WFFWJH in #1393 - pyproject.toml: use SPDX license expression by @yunjunz in #1422
- build(deps):
- bump actions/download-artifact from 4 to 6 by @dependabot[bot] in #1402, #1428
- bump actions/setup-python from 5 to 6 by @dependabot[bot] in #1413
- bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #1429
- bump actions/checkout from 4 to 5 by @dependabot[bot] in #1404
- pre-commit:
- bump
pre-commit-hooksfrom 5 to 6 by @pre-commit-ci[bot] in #1403 - bump
isort6.0.1 -> 7.0.0 by @pre-commit-ci[bot] in #1420, #1425 - bump
pyupgradefrom 3.20.0 → 3.21.1 by @pre-commit-ci[bot] in #1434, #1425
- bump
New Contributors
- @nozadkhalil made their first contribution in #1392
- @frx08 made their first contribution in #1418
- @jtherrmann made their first contribution in #1430
- @WFFWJH made their first contribution in #1393
Full Changelog: v1.6.2...v1.6.3
Version 1.6.2
Highlights
- add
save_explorerto support export to InSAR Explorer by @mahmud1 in #1330 prep_aria: support for ARIA product v3 correction layers by @sssangha in #1247subset.py: support--lat/lonin radar coordinates by @falkamelung & @yunjunz in #1238ts2vel: add--rm-timefunoption for customized TS clean up by @yunjunz in #1355- support
snaphuconnect component forgammainterferograms by @yunjunz in #1378 - support
mintpy.load.compression = defaultoption & allow custom compression for geometry HDF5 file by @Merdele & @yunjunz in #1338
Maintenance - bugfixes
ionex: update to the IGS long file name convention and migration to EarthData by @yuankailiu & @yunjunz in #1337tropo_pyaps3.get_snwe(): return nativeintinstead ofnumpy.int64by @fukun364202818 in #1324gnss.GNSS_SIDESHOW.get_site_lat_lon: dload site list file if not exist by @yunjunz in #1249gnss: handle longitude <=-180 or >=360 by @yunjunz in #1290gnss: changehttptohttpsfor UNR URLs by @rzinke in #1332view: convert integer to floating to enable masking withnanby @yunjunz in #1289ut.update_template_file(): fix IndexError due to special character+by @MarritL in #1326unwrap_error_phase_closure: use user-definedconnCompMinAreaby @Alex-Lewandowski in #1336- bugfixes in
coord&tropo_pyaps3by @yunjunz in #1373 network.coherence_matrix(): bugfix for sorting dates before 2000 by @esrivas17 in #1385- typo fix in
defaults/mintpy.yamlfor Slurm by @jsta in #1276
Maintenance - dependency, tests and documentation
- dependency change:
docs/dir_structure: add iono example for topsStack & alosStack by @yunjunz in #1275docs/dask.md: update links due tosrc/mintpystructure change by @emmanuel-ferdman in #1308circleci: updateminiforgesetup by @yunjunz in #1352README: fix broken link togammasoftware by @barely-sad-one in #1365- typo fix in
asc_desc2horz_vert& more doc intsviewby @mohseniaref in #1370
What's Changed
- add
stdproc.multilooksub-module - WIP for version 2 by @yunjunz in #1316 - utils0: use more hardwired
EARTH_RADIUSif needed by @yunjunz in #1261 save_qgis.py: Use single context manager for 4 files by @scottstanie in #1310- support
save_gdal.py --mask/--zero-maskoptions by @barely-sad-one in #1349 - support
save_kmzfor wrapped ifg by fixingplot.scale_data2disp_unit()by @tshreve in #1269 sensor: add UAVSAR-L/BIOMASS/SWOT/NISAR-S, and NESZ for several missions by @yunjunz in #1320, #1354sensor: add mission launch/end date & link for file descriptions by @yunjunz in #1374tropo_pyaps3: add--debug-modeoption by @yunjunz in #1322tropo_pyaps3: check~/.cdsapircfile content by @yunjunz in #1364prep_gmtsar: grabA/RLOOKSfrom GMTSAR config file if available by @yunjunz in #1389- wrap-up for version 1.6.2 by @yunjunz in #1390
New Contributors
- @tshreve made their first contribution in #1269
- @jsta made their first contribution in #1276
- @emmanuel-ferdman made their first contribution in #1308
- @fukun364202818 made their first contribution in #1324
- @MarritL made their first contribution in #1326
- @Merdele made their first contribution in #1338
- @barely-sad-one made their first contribution in #1349
- @esrivas17 made their first contribution in #1385
- @mahmud1 made their first contribution in #1330
Full Changelog: v1.6.1...v1.6.2
Version 1.6.1
Cut a release for the 2024 EarthScope InSAR short course (ISCE+).
Highlights
- update GMTSAR support with new interferogram stack structure and demo dataset by @yunjunz, @Xiaohua-Eric-Xu in #1226, #1227, #1229
- support numpy-2.0 by @Liuqi2002519 and @yunjunz in #1225
- support scipy-1.4 by @yunjunz in #1223
Maintenance - bugfixes
iono_split_spectrum: hardwire dset while inverting for iono TS by @yunjunz in #1239prep_hyp3: skip relative_orbit, start/stopUTC for isce2_burst products by @yunjunz in #1200readfile.read_snap_dim: more tolerant exaction onDATE12by @ssharifi1994 in #1208
Maintenance - dependency, tests and documentation
simulation.fractal.py: optionalpyfftwimport by @avalentino in #1191pyproject.toml: addreadmeto the dynamic metadata list by @yunjunz in #1197 and #1201tests/smallbaselineApprefactoring by @yunjunz in #1230tests/requirements.txt: pin gdal"<=3.8" for circle ci by @yunjunz in #1235version: addget_version_info_v2()by @yunjunz in #1231- docs: switch fig links from Yunjun's WordPress to
insarlab/figsGitHub page by @yunjunz in #1234, #1237, #1241
What's Changed
save_kmz: support data in UTM by @Alex-Lewandowski in #1210isce_utils: addcrop_slc()andform_ifgram()by @yunjunz in #1221prep_gamma: support geocoded Gamma products by @yunjunz in #1222readfile: supportGammaSLC in complex32 format by @yunjunz in #1216- gnss: rename
JPL-SIDESHOWtoSIDESHOWby @yunjunz in #1240
New Contributors
- @Alex-Lewandowski made their first contribution in #1210
- @Liuqi2002519 made their first contribution in #1225
- @ssharifi1994 made their first contribution in #1208
Full Changelog: v1.6.0...v1.6.1
Version 1.6.0
Highlights
- multiple GNSS sources support by @rzinke, @yunjunz in #1173
- rename GPS to GNSS in all related code/comments/docs
- support the following new GNSS solution sources (in addition to the default UNR), including data downloading and reading, via the
view.py --gnss-sourceoptionESESESfrom JPL/SOPACJPL-SIDESHOWfrom JPLGENERICfor other undefined source format
- refactor the
objects.gnss.pyinto parent/child classes - behavior changes include:
- default local file dir changed from
GNSStoGNSS-{SOURCE} - default CSV file changed from
gnss_{COMPONENT}.csvtognss_{COMPONENT}_{SOURCE}.csv
- default local file dir changed from
- integrate ionospheric correction from isce2 stack processors into
smallbaselineAppby @yunjunz in #1172- add
iono_split_spectrumscript to invert and correct for the ionosphere in time-series - add
correct_ionospherestep insmallbaselineAppwith the following new template options:mintpy.ionosphericDelay.methodmintpy.ionosphericDelay.excludeDatemintpy.ionosphericDelay.excludeDate12
- add
viewandtsview: support scatter plot style via--styleoption by @falkamelung, @yunjunz in #1146, #1157- improved UTM coordinate supports:
- support GNSS-related options in
viewby @forrestfwilliams in #1153 - add
utils0.epsg_code2utm_zone()by @yunjunz in #1159 - use metadata
LAT/LON_REF1/2/3/4in UTM by @yunjunz in #1161. Now all*lat/lon*style metadata represent lat/lon in degree for WGS84 coordinates and northing/easting in meters for UTM coordinates. - ensure a single output UTM zone in
utils0.latlon2utm()by @yunjunz in #1177
- support GNSS-related options in
What's Changed
modify_network: add--ex-date12option by @yunjunz in #1151- add HDF-EOS5 metadata (beam_swath, relative_orbit, startUTC, stopUTC) for HyP3 products by @forrestfwilliams in #1180
prep_nisar: update for changes in NISAR GUNW products by @mirzaees in #1158- read/load support for
isce2/alos2Appdense offset by @yunjunz in #1143 autoPathforalosStack: supp custom multilook number + ionospheric phase/coherence by @yunjunz in #1150utils0.incidence_angle: read from metadata directly if available fordimension==0by @taliboliver in #1152image_stitch: updateREF_Y/Xafter mosaicking in the output file by @yunjunz in #1156objects.sensor: add orbit_inclination and repeat_cycle for all sensors by @yunjunz in #1181
Maintenance
- update HyP3 example dataset
RidgecrestSenDT71for the latest metadata from ASF HyP3 system at April 2024 by @forrestfwilliams in #1182 tropo_pyaps3: use local GAM files with larger SNWE if available to further avoid re-downloading @yunjunz in #1164- bugfix for
coord.lalo2yx()when lat/lon have diff sizes by @yunjunz in #1160 - bugfix for
dem_erroron the step func initiation by @yunjunz in #1186 - bugfix for
view.py numInvIfgram.pyforhyp3products by @yunjunz in #1187 objects.conncomp.plot_bridge: improved memory usage by @ehavazli in #1155- replace
setup.pywithpyproject.tomlfor code installation by @yunjunz in #1129 - replace
minicondawithminiforgefor dev installation note and testing by @yunjunz in #1139, #1148 - fix typo in
generate_mask.pyexample usage by @mohseniaref in #1144 - ignore contributions by bots in release notes by @yunjunz in #1148
Full Changelog: v1.5.3...v1.6.0
Version 1.5.3
Highlights
- add
prep_nisarto load NISAR GUNW products by @mirzaees in #1035 prep_hyp3: support burst-wide interferograms from hyp3-isce2 by @cirrusasf in #1074- GMT-like shaded relief illumination via
view.py --dem-blendby @yuankailiu, @yunjunz in #1089, #1102 - add
fix_typos.shmodified fromGDALrepo to catch spelling errors by @scottstanie, @yunjunz in #1082, #1120 - support
mintpy.load.autoPathforisce2/alosStackproducts by @yunjunz in #1119 sensor: add LuTan-1 info by @yunjunz in #1097
What’s Changed
view.prep_slice(): support quoted lists of characters as inputs by @yunjunz in #1077view: add--scalebar-linewidthoption by @yunjunz in #1111view: allow unit change when viewing seasonal time functions by @bbuzz31 in #1084plot_network: check nan values of coh/bperp in kept interferograms by @yunjunz in #1108mintpy.geocode.laloStep: support single value input by @yunjunz in #1075readfile.read_gdal: switch back togdalkwargs to leverage its subsetting capability by @scottstanie in #1072readfile: support GDALint8dtype by @yunjunz in #1083subset: support hdf5 <--> binary by @yunjunz in #1076utils0.utm2latlon(): allow coordinates outside of the normal range of a UTM zone by @swdmike in #1107
Maintenance - Bugfix
- bugfix for
mintpy.network.aoiYX/LALOoptions by @yunjunz in #1103 - fix
np.abs(dtype)bug due tonumpybehavior change insimulation/fractalby @yunjunz in #1120
Maintenance - Documentation
Installation: usebrewsolution for the arg-complete setup on mac/bash by @yunjunz in #1069CONTRIBUTING: update comments onpre-commitby @yunjunz in #1087dir_structure: ppdate URL for HyP3 sample notebook by @hjkristenson in #1113
Maintenance - Dependency
- add
shapelyby @yunjunz in #1069 - del obsolete
docs/requirements4rtd.txtfile by @yunjunz in #1090 - docker/build: update to new versions by @dependabot in #1088, #1091, #1092, #1090
- pre-commit: update to new versions by @pre-commit-ci in #1093, #1094, #1099, #1104
New Contributors
- @swdmike made their first contribution in #1107
- @hjkristenson made their first contribution in #1113
Full Changelog: v1.5.2...v1.5.3
Version 1.5.2
Cut a release for the 2023 EarthScope InSAR short course (ISCE+).
Highlights
- UTM and lat/lon coordinates conversion support via the
utmpackage by @yunjunz in #1052, #1053 timeseries2velocity: add--polylineoption to estimate linear velocity changes by @yunjunz in #999diff: supportunw/offset - timeseriesandtimeseries - velocityby @yunjunz and @yuankailiu in #1011, #1018euler_pole: add PMM plotting functions by @yuankailiu in #935- initial NO_DATA_VALUE support via
readfile.auto_no_data_value()by @yunjunz in #962
What's Changed
geocode: support complex wrapped interferogram by @comma-never-coma in #957image_stitch: support non-hdf5 files by @yunjunz in #1021isce_utils: addunwrap_icu()andfilter_goldstein()by @yunjunz in #993 and #1058- main CLI: add logging control args by @yunjunz in #1020
multilook: support GDAL VRT file as input by @yunjunz in #959multilook: generate multilooked geometry files for CPU/GPUampcorproducts by @yunjunz in #963prep_fringe: load water mask into geometry file via--water-maskby @bbuzz31 in #983read/write/resample: improved support for GDAL complex file by @yunjunz in #1000save_qgis: add--zero-firstoption by @yunjunz in #1007sensor: add ICEYE parameters by @yunjunz in #974spatial_filter: use nan-ignoring filter forlowpass/highpass_gaussianby @yuankailiu and @scottstanie in #935 and #1030tsview: add--figsize-imgby @yunjunz in #1059view: add--faultlineand--interpolationoptions by @yunjunz and @scottstanie in #964, #1062, #1029
Maintenance
circleci: replace miniconda3 with mambaforge with 2X speedup by @yunjunz in #996mask: replace--thresholdwith--vmin/vmaxby @yunjunz in #1009numpy: replace expired numpy dtype deprecations (cont.) by @yjzhenglamarmota in #960resample: refactor default output step size calculation by @yunjunz in #997tsview/plot_tran*/plot_coh*_mat*: simplify object input args by @yunjunz in #982
Maintenance - Bugfixes
- remove the extra half-pixel shift while converting Y/X_FIRST between gdal and mintpy by @sssangha in #1034
utils0.median_abs_deviation(): divide byscaleinstead of multiply by @yi-chingchen in #946closure_phase_bias: bring back spatial referencing for ARIA while calc sequential closure phase by @yunjunz in #1063cluster.split_box2sub_boxes: bugfix for tiny last step by @yunjunz in #1024gamma: various bugfixes inreadfileandgeocodeforgammaproducts by @yunjunz in #1044hdfeos5: calc/write latitude/longitude if missing in geometry file by @yunjunz in #1050utils.plot: fix_tkinter.TclErrorviaplt.switch_backend('Agg')by @falkamelung in #947view: fix referencing error while read unwrapPhase* in 2D w/ multilook by @yunjunz in #956timeseries_rms: bugfix forrun_or_skipand*RMS.deramp = noby @yunjunz in #970isce_utils.get_processor(): use*.track.xmlfile to identifyalosStack/2Appby @yunjunz in #998readfile.read_attribute: translate DATA_TYPE ci2 to float32 for roipac by @yunjunz in #1064save_gdal: bugfix for boolean type by @yunjunz in #1024spatial_filter: fix thepad_widthintegral type error fordouble_differenceoption by @yunjunz in #1015unwrap_error_phase_closure: fixnumpy.random.choiceerror and zero step size bug by @yunjunz in #989, #1067
Maintenance - Documentation
- README/badge: flat-square style + docker status + conda download by @yunjunz in #948
- add doc string description for
defaults/objects/simulation/utilssub-modules by @yunjunz in #1005 - installation: add tab completion sub-section by @yunjunz in #1065
- typo fixes by @bjmarfito in #976, #978
Maintenance - Dependency
- add
argcomplete - add
utm - delete
environment.ymlfile by @yunjunz in #958 - unpin scipy<1.10 by @yunjunz in #968
- build(deps): bump docker/build-push-action from 3 to 4 by @dependabot in #954
- pre-commit(deps): bump isort (from 5.11 to 5.12) and pyupgrade (from 3.3 to 3.10) by @pre-commit-ci in #951, #995, #1001, #1022, #1028, #1039, #1043, #1051
New Contributors
- @yi-chingchen made their first contribution in #946
- @comma-never-coma made their first contribution in #957
Full Changelog: v1.5.1...v1.5.2
Version 1.5.1
This is a maintenance release for bug fixes.
- improved
closure_phase_bias: 1) remove spatial referencing for better physical presentation and robustness; 2) usewrapPhaseif available to remove the filtering effect (#922 by Yujie Zheng) temporal_filter: add a median filter fromscipyvia-f / —filteroption (#943)- I/O improvements:
- dependency: drop
defusedxml(#915) - improved documentation on the installation (#923, #939)
- remove the unused
legacy/los2enu.py(#943) - bug and style fixes: including updates for the expired deprecations of
numpy-1.24 (#914, #934, #940, #942, #943)
Contributors
- Zhang Yunjun
- Yujie Zheng
- Bryan Marfito
- Yuan-Kai Liu
Full Changelog: v1.5.0...v1.5.1
Version 1.5.0 - responsive command line interface
New Features
- responsive command line interface (CLI) via lazy imports of the
mintpy.clisub-module (#828, #854 by A. Valentino & Z. Yunjun). The newmintpy.clisub-module contains all the CLI-related functionality and provides a significant speedup for all command line interactions, e.g. the help message and arguments checking. - switch the source code structure to the standard
src/mintpylayout (#903, by Z. Yunjun & S. Staniewicz) plate_motionrefactoring (#851, #858, #868, #906 by Y. K. Liu & Z. Yunjun):- add
mintpy.objects.euler_polefor plate motion calculation and conversion. - drop the dependency on
astropyandplatemotion. - switch the default local coordinate translation from ECEF from sphere to spheroid.
- support azimuth output
- renamed from
bulk_plate_motiontoplate_motion
- add
timeseries2velocity: saveresidueandinterceptdataset (#835)dem_error: bugfix on the phase velocity minimization (#875, #890, #902, #905, by Z. Yunjun & S. Mirzaee):- change cutoff
condfrom 1e-15 to 1e-8 inscipy.linalg.lstsq()to avoid occasionally abnormal high residue. - remove the all-zero column in the design matrix, to avoid occasionally high fitting residue.
- change cutoff
- IO & utility:
objects.timeseries.read: auto-switch between array / single indexing to speedup (#851)load_data: support azimuth angle file for ASF HyP3 product (#865)readfile.read_attribute: allow ENVI files created with SUFFIX=ADD (#841 by S. Staniewicz)save_hdf5eos: calculatedata_footprintfor radar-coded dataset (#833 by A. Terrero)save_roipac: support non-velocity dataset from the velocity file (#874 by B. Marfito)geocode: copy dataset units, such as from velocity.h5 file (#910)constants: move frommintpy.objectsto the rootmintpylevel (#911)
- dependency change:
- bugs fix (#842, #843, #849, #851, #853, #860, #864, #871, #879, #883, #888, #901)
Technical Improvements
- add
pre-commithook (#852, #856, #866, #881, #907) - add
dependabotto auto-update GitHub Actions (#893, #894, #895, #896, #897, #898, #899) - enable building distributions for PRs by splitting it from upload to PyPI (#893)
- more unit tests for
dem_error,euler_pole - delete obsolete
mintpy/legacy/guifolder (#846)
Contributors
- Zhang Yunjun
- Antonio Valentino
- Yuan-Kai Liu
- Sara Mirzaee
- Scott Staniewicz
- Bryan Marfito
- Brett Buzzanga
- Alfredo Terrero
- Jiawei Li
- Mohammad Mohseni Aref
Full Changelog: v1.4.1...v1.5.0
Version 1.4.1
Version 1.4.0
Cut a release for the 2022 UNAVCO InSAR short course (ISCE+).
New Features
closure_phase_bias: add the phase non-closure induced bias estimation for small baseline approaches (Zheng et al., 2022) (#765 by Y. Zheng, Z. Yunjun).- add
bulk_plate_motionto estimate the tectonic plate motion in ENU/LOS direction from plate motion models (Stephenson et al., 2022, under review) (#769, #808 by Y. K. Liu, Z. Yunjun). smallbaselineApp: integrate complex time functions and uncertainty quantification into the routine workflow (#795) via:- mintpy.timeFunc.polynomial
- mintpy.timeFunc.periodic
- mintpy.timeFunc.stepDate
- mintpy.timeFunc.exp/log
- mintpy.timeFunc.uncertaintyQuantification
- mintpy.timeFunc.timeSeriesCovFile
load_data: load ionosphere stack fromisce2/topsStackintoionStack.h5file with auto-resize (#780, #796 by Y. K. Liu, Z. Yunjun) via:- mintpy.load.ionUnwFile
- mintpy.load.ionCorFile
- mintpy.load.ionConnCompFile
load_data: supportmeanandmedianinterpolation while loading stacks of observations (#797 by Y. K. Liu) via:- mintpy.multilook.x/ystep [renamed from mintpy.load.x/ystep]
- mintpy.multilook.method
- add the single entry point with sub-commands via
mintpy.__main__(#823 by A. Valentino) - add
s1ab_range_bias.pyfor the S1A/B range bias correction for range offset (Yunjun et al., 2022) (#787).
Technical Improvements
- auto build the
latestanddevelopdocker image and push to the GitHub container registry (#696 by J. Kennedy). - add
mintpyto the Debian ecosystem withapt installsupport (#812 by A. Valentino). - add
mintpy.objects.ionexfor IONEX file download/read, to replace part ofmintpy.simulation.iono(#794). tsview: switch to a new narrower slider and to usefig.canvas.draw_idel/flush_events()(#764)- repo structure change:
- reduced test data size for
SanFranSenDT42andWCapeSenAT29(#799) - various bugs fix
Contributors
- Zhang Yunjun
- Yuan-Kai Liu
- Yujie Zheng
- Antonio Valentino
- Joseph Kennedy
- Brett Buzzanga
- Scott Staniewicz
- Falk Amelung
- Kang Liang
- Bryan Marfito