Skip to content

version 1.1.1#2

Merged
hfattahi merged 169 commits intoinsarlab:masterfrom
yunjunz:master
Mar 12, 2017
Merged

version 1.1.1#2
hfattahi merged 169 commits intoinsarlab:masterfrom
yunjunz:master

Conversation

@yunjunz
Copy link
Member

@yunjunz yunjunz commented Mar 11, 2017

  1. use argparse instead of get opt for input argument parsing, for some scripts, not all yet
  2. improved visualization, including lat/lon label, scale bar, various map projection, auto switch backend, transection with topographic profile, network plotting
  3. update support for UNAVCO InSAR Archive format
  4. update support for insarmaps - UM Web Viewer
  5. add more parallel processing using multiprocessing and job lib
  6. renamed some scripts: multi_look.py -> multilook.py, masking.py -> mask.py, etc.
  7. add precious radar2geo and geo2radar coord conversion, thus subset/reference using yx/lalo both work.
  8. add documentation, including auto API documentation using Doxygen and Github Wiki, in html and PDF format
  9. create Github Page
  10. add examples using jupyter notebook to show how to use PySAR as a python module
  11. separate automatic path for Miami file structure, and add easy turn off in init.py with variable miami_path
  12. more module-lized file loading
  13. renamed working directory from TSSAR to PYSAR, and create PYSAR/subset folder if subset option is specified.
  14. updated routine processing pysarApp.py
  15. bugs fixed

yunjunz and others added 30 commits December 23, 2016 17:21
delete igram_viewer.py and plot.py because they are not used anymore
and their function are available in view.py.
1. change all Usage() into usage() for all scripts
2. Adjust to uniform usage() content format for all scripts.
1. read_dis_lalo() in tsviewer.py to support point time series
displacement reading from lat and lon input
2. module import update for new version of scipy and bumpy
3. adjust name and content of usage() in baseline_trop.py
add support for multiple map projections available from Basemap, useful
for high latitude/polar areas
1. add function print_attributes() to print attributes dictionary in
key order and align them to the left
2. rename print_attrs() to print_structure(), and call
print_attributes()
3. use pysar._readfile.read_attributes() to support all file types
4. clean out code for info.py and _datetime.py
1. support .he5 file extension, which is used in HDF-EOS5 data model
2. _readfile.py: remove obsolete function read_dem()
3. info.py: support timeseries file from UNAVCO InSAR archive
4. info.py: add function print_timeseries_date_info()
5. info.py: rename print_structure() to print_hdf5_structure()
6. load_dem.py: update usage()
Add attributes to existing hdf5 file in root level
rewrite pysar2unavco.py based on isce2he5.py and roipac2hdf5.py
1. rename multi_looking.py to multilook.py
2. support parallel processing in multilook
3. use cmdLineParse() instead of usage()
4. update output message for _writefile.py and pysar2unavco.py
1. put all module import back to the top of scripts following PEP 008
style guide;
2. _network.py: fixed bug due to new matplolib.tri.Triangulation update
1. update __init__.py, pysarApp.py for renamed scripts
2. bug fixed for multilook.py
1. use argparse for input instead of getopt
2. add parallel processing and multiple input files support
3. renamed check_subset_range() to check_box_within_data_coverage()
4. use 4-tuple box instead of list for subset input variable
5. rename geo_box() to get_coverage_box()
6. rename box_overlap_index(0 to get_box_overlap_index()
7. add update_subset_input_from_box() to update subset input from
non-command line inputs
8. add subset_input_dict2box() to convert subset input from dict to
4-tuple box
9. add box_pixel2geo()
10. update subset_file() using subset_dict input
1. _readfile.py: in read_attributes(), move “UNIT” code in one place,
add ‘ref_date’ attribute for timeseries file
2. _readfile.py: in read(), change input option into 3items, including
file, box and epoch; update attribute dictionary using
subset_attributes() when reading part of the whole dataset; turn off
the conversion from 1 to dB when reading amplitude file
3. rename masking.py to mask.py
4. subset.py: add box_geo2pixel() function
5. _pysar_utilities.py: add ‘ref_date’ attribute when generating
timeseries from interferograms; and read it into dictionary attributes
if it’s not existed, for old pysar product;
1. _readfile.py: do not update attributes when reading partial data
2. subset.py: bug fixed for box_geo2pixel()
1. use cmdLineParse() and Namespace for plot input options
2. add auto_row_col_num() and plt.tight_layout() for multi-dataset
display
3. clean up disp_wrap/unit/scale conflict; so now disp_scale and
disp_unit are independent, while wrap and display unit will check
conflict.
4. update_plot_inps_with_meta_dict() and update_matrix_with_plot_inps()
5. introduce plot_matrxi() for easy external call
6. reduced size of main()
7. vector (point and line) input is removed for now, will be added
later.
8. original script is still working and renamed into view_legacy.py

And minor changes including:
1. add —lalo-label option and round_to_1() for nice lat/lon tick and
label displaying
2. move all module import to the top
3. delete obsolete functions: rewrap(), unit_and_scale(), unit_type(),
orbit_direction()
4. rename auto_flip_check() to auto_flip_direction()
5. update plot_dem_yx/lalo() with new inps namespace input
6. add auto_figure_title() for single dataset input
7. delete obsolete usage() and getopt code
8. add check_colormap_input(), check_multilook_input()
9. add get_epoch_full_list_from_input() to read all epoch related input
10. clean up new reference point and its display
11. delete template input option, because it’s not used often
12. add round_to_1() for nice lat/lon label display

_readfile.py: add optional input option ‘epoch’ to read_attributes() to
read specific epoch in multi-group files, like interferograms
add example folder to show some demo and examples of how to use PySAR
scripts and take advantage of its utility functions. It will mainly be
shell scripts and ipython notebook.

plot_single_dataset: simple command in python to plot an single dataset
file using PySAR function plot_matrix() from view.py
1. merge multi file matching - matching_all.py - into matching.py
2. use argparse instead of getopt for input interaction
3. put manual matching code into manual_offset_estimate()
4. put two files matching code into sub function match_two_files()
5. update corners()
6. delete obsolete funcitons: nearest_neighbor() and usage()
7. delete obsolete script matching_all.py
1. output message corrected for subset.py
2. view.py: update inps.seed_yx/lalo when check inps with data matrix
3. view.py: calculate digit number automatically when using —lalo-label
option
delete view4job.py, because view.py can now work during job queues.
1. add draw scale method to Basemap class.
2. add —scalebar and —noscalebar option for scale bar display
3. add automatic initiation for scale bar values.
yunjunz and others added 27 commits March 2, 2017 19:30
load_data.py
update auto_path_miami() to use DEMg/DEM option in template file if no
pysar.dem.geoCoord if specified. Now, miami user should not need to
specify any loading options.

pysarApp.py:
1. continue to run even if no DEM in geo coord found; it mean: for
timeseries/loaded data in radar coord, if no DEM in radar coord, skip
tropospheric delay correction and base trop cor; while for
timeseries/loaded data in geo coord, if no DEM in geo coord, also skip
tropospheric delay correction and base trop cor.

2. if no geomap.trans file existed, skip geocoding.
1. update radar2glob() and glob2radar() to use geomap*.trans file for
precise (pixel-wise level) coordinate conversion; if geomap*.trans file
is not provided, use corner lat/lon for simple 2D transformation
(existed before).

2. add coord_glob2radar_roipac and coord_radar2glob notebook for the
precision comparison between two methods of coord conversion.

3. update incidence_angle() to support 0 to 2 d output, more convenient.
“TIMESERIES”

_pysar_utilities.py: bug fixed when converting coord from glob2radar
for subsetted file

use progress bar for multiple dataset/group file reading/writing
add —trans option to input geomap*.trans file; if there are —lat/lon
input and input file is in radar coord, use ut.glob2radar() to convert
to y/x in radar coord;

for template input, ignore pysar.reference.yx/lalo = auto, to support
default/auto setting for pysarApp.py
1. interpret pysar.network.coherenceBase = auto to
pysar.network.coherenceBase = yes, mainly for default setting in
pysarApp.py

2. if no interferogram to drop, after input option checking, skip file
wirting.

3. use progress bar for file reading/writing
1. use ‘TIMESERIES’ instead of ‘TSSAR’ for default working directory
for Miami user

2. if subset is specified, create and put all result into “subset”
folder, for cleaner directory;

3. add subset in yx/lalo back, for radar coord input dataset; will add
subset support geo coord input dataset later

4. integrate reference.lalo for dataset in radar coord using
geomap*.trans file

5. add auto value for all pysar options except for input data, check
more details using “pysarApp.py -h”

6. make coherence.h5, DEM in radar/geo coord and geomap*.trans file
optional, so that pyasrApp.py will run without them, while if they are
input, pysarApp.py will use them for more advanced/smart processing,
including:

spatial coherence: used in coherence-based network modification;
calculate average_spatial_coherence for max-coherent referent point
selection;

DEM in radar/geo coord: used in tropospheric delay correction for input
dataset in radar/geo coord

geomap*.trans: used in geocoding, referencing in space using lat/lon
for dataset in radar coord, subset for dataset in radar coord

7. add check_isfile() to detect existed but corrupted files and removed
them

8. add check_subset_file(), check_geocode_file() for single file
subset/geocode

9. add subset_dataset() to create subset of dataset for time series,
which is independent, and contains all info for time series analysis.

10. switch order of subset and network_modification, now we subset
first and then modify the network, if both of them are specified.

11. merge code of geocoding, masking and save to KMZ file into one. bug
fixed for output to kml file
1. turn on latex option in Doxygen setup file
2. generate PDF version of PySAR documentation using latex
1. _pysar_utilities.py: add elapsed_time argument for print_progress()
and update the corresponding code in timeseries2velocity.py

2. fix bug for pysarApp.py about path of template_file/workding
directory, it happens when input template file does not contain
absolute path
1. support relative path for load data: its input path should be
referenced to the directory of template file and its output path should
be PySAR timeseries folder

2. sort updated date12 list
_pysar_utilities.py
1. add range_resolution() and azimuth_resolution() to get range/azimuth
ground resolution in meter from attribute dictionary

2. use attribute dict instead of file name for radar file info

3. bug fixed when calculating x/y_factor to get coord searching buffer
area by introducing lat/lon_step(_deg)

4. remove obsolete function radar_or_geo()

5. adjust the following scripts due to the above change:
pysarApp.py
seed_data.py
transect.py

geocode.py: calculating ref_lat/lon attributes during geocoding, using
ut.radar2glob()

view.py: bug fixed when input min/max option is 0
add —bbox option to create a subset of entire dataset in radar coord
using y/x or lat/lon option, including *.trans and *.dem files in geo
coord.

add subset_file_list() function to subset file list in parallel

update bbox_radar2geo/geo2radar() to use attributes dict instead of
file name in radar coord.
1. bug fixed related with --bbox option in subset
2. do not subset and return input File name if calculated subset range is the same as data coverage
…s; fixed lat/long mixups in both old and new unavco2insarmaps; renamed old unavco2insarmaps to unavco2insarmaps_legacy
@hfattahi hfattahi merged commit f1aa082 into insarlab:master Mar 12, 2017
yunjunz added a commit that referenced this pull request Apr 1, 2019
* mask: set int amp/pha to zero

* process_isce_stack: add masterDate
yunjunz pushed a commit that referenced this pull request Sep 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants