Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggestions for dem-error-in-radar-coordinates plotting script #523

Open
falkamelung opened this issue Dec 24, 2022 · 0 comments
Open

Suggestions for dem-error-in-radar-coordinates plotting script #523

falkamelung opened this issue Dec 24, 2022 · 0 comments

Comments

@falkamelung
Copy link
Member

falkamelung commented Dec 24, 2022

Hi @fari65 , Here some suggestions for the script, whenever you have time.

  • Scripts name: view_scatterplot.py, view_radar.py, scatterplot.py ???
  • project_dir : avoid. It should write in the directory where it is called (in a second stage we may introduce view_scatterplot.py $TE/MiamiSenAT48.template and read plot parameters from the *template file).
  • to define area:
    --subset.lalo -0.86:-0.81,-91.19:-91.13 —-subset.yx y0:y1,x0:x1
  • outfile: have a meaningful default name depending on what it shows, e.g scatter_backscatter.png, scatter_backscatter_dem.png, or radar_backscatter.png, etc. Here examples from mintpy: http://149.165.154.65/data/HDF5EOS/MiamiSenAT48/miaplpy_Surfside_2015_202211/network_single_reference/pic/
  • Below option names of view.py that give you some ideas on names.
  • instead of vrange use -v VMIN VMAX, --vlim VMIN VMAX (see view.py options below)
  • instead of SRTM and dsm_reprojected_wgs84.tif use --dem and --high-res-dem ?? (Edit 12/24: --digital-surface-model or similar as used in the code also works)
  • instead --srtml 0 --srtmh 50 use -dl 0 50``--dem-lim 0 50. (if not given it should calculate a default from the data)
  • similarly --dem-error-lim, --dem-estimated-lim
  • -ps --point-size
  • for --offset say what it is: The geoid deviation??
  • if I am not mistaken according to the view.py convention we would use --font-size, --fig-siz-y (please check with the view.py help).

@fari65: For naming suggestions see here.
03aaeb8#diff-7b08d886831f50539708768d92043fd30ae436d0c51c18d6a59f21201d9eb44fR70

python Dem4Radar.py --help
usage: Dem4Radar.py [-h] [--vrange VRANGE] [--srtml SRTML] [--srtmh SRTMH] [--demerl DEMERL] [--demerh DEMERH] [--elel ELEL] [--eleh ELEH] [--psize PSIZE] [--offset OFFSET]
                    [--fontsize FONTSIZE] [--figsizey FIGSIZEY] [--figsizex FIGSIZEX]
                    project_dir lat1 lon1 lat2 lon2 outfile

plots velocity, DEM error, and estimated elevation on the backscatter

positional arguments:
  project_dir           enter your data address that includes input files for either sequential network or single reference defined as ../../dsm_reprojected_wgs84.tif, demErr.h5, velocity.h5, ../inputs/geometryRadar.h5, /../inputs/slcStack.h5, timeseries_demErr.h5, maskPS.h5, maskTempCoh.h5
  lat1                  low latitude of the box
  lon1                  low longitude of the box
  lat2                  high latitude of the box
  lon2                  high longitude of the box
  outfile               output png file name

options:
  -h, --help            show this help message and exit
  --vrange VRANGE, -v VRANGE
                        velocity range
  --srtml SRTML, -dsl SRTML
                        Dem SRTM low limit for color bar
  --srtmh SRTMH, -dsh SRTMH
                        Dem SRTM high limit for color bar
  --demerl DEMERL, -el DEMERL
                        Dem error low limit for color bar
  --demerh DEMERH, -eh DEMERH
                        Dem error high limit for color bar
  --elel ELEL, -elel ELEL
                        Estimated elevation low limit for color bar
  --eleh ELEH, -eleh ELEH
                        Estimated elevation high limit for color bar
  --psize PSIZE, -s PSIZE
                        points size
  --offset OFFSET, -d OFFSET
                        dem offset e.g., it is 26 for Miami
  --fontsize FONTSIZE, -f FONTSIZE
                        font size
  --figsizey FIGSIZEY, -figy FIGSIZEY
                        figure size in y direction
  --figsizex FIGSIZEX, -figx FIGSIZEX
                        figure size in x direction

view.py --help
usage: view.py [-h] [-n [NUM ...]] [--nosearch] [--ex [Dset ...]] [--show-kept] [--noverbose] [--math {reverse,deg2rad,rad2deg,square,sqrt,inverse}] [-v VMIN VMAX] [-u UNIT] [--nd NO_DATA_VALUE] [--wrap] [--wrap-range MIN MAX]
               [--flip-lr] [--flip-ud] [--noflip] [--nmli NUM] [--nomultilook] [--alpha TRANSPARENCY] [-d DEM_FILE] [--mask-dem] [--dem-noshade] [--dem-nocontour] [--contour-smooth DEM_CONTOUR_SMOOTH] [--contour-step NUM]
               [--contour-lw NUM] [--shade-az DEG] [--shade-alt DEG] [--shade-min MIN] [--shade-max MAX] [--shade-exag SHADE_EXAG] [--fontsize FONT_SIZE] [--fontcolor FONT_COLOR] [--nowhitespace] [--noaxis] [--notick]
               [--ylabel-rot YLABEL_ROT] [-c COLORMAP] [--cm-lut NUM] [--cm-vlist CMAP_VLIST CMAP_VLIST CMAP_VLIST] [--nocbar] [--cbar-nbins NUM] [--cbar-ext {max,both,neither,min,None}] [--cbar-label CBAR_LABEL] [--cbar-loc CBAR_LOC]
               [--cbar-size CBAR_SIZE] [--notitle] [--title-in] [--title FIG_TITLE] [--title4sen] [--figsize WID LEN] [--dpi DPI] [--figext {.emf,.eps,.pdf,.png,.ps,.raw,.rgba,.svg,.svgz}] [--fignum NUM] [--nrows NUM] [--ncols NUM]
               [--wspace FIG_WID_SPACE] [--hspace FIG_HEI_SPACE] [--no-tight-layout] [--coord {radar,geo}] [--animation] [--show-gps] [--mask-gps] [--gps-label] [--gps-ms GPS_MARKER_SIZE] [--gps-comp {horz,vert,hz2los,up2los,enu2los}]
               [--gps-redo] [--ref-gps REF_GPS_SITE] [--ex-gps [EX_GPS_SITES ...]] [--gps-start-date YYYYMMDD] [--gps-end-date YYYYMMDD] [--horz-az HORZ_AZ_ANGLE] [-m FILE] [--mask-vmin MASK_VMIN] [--mask-vmax MASK_VMAX] [--zm]
               [--coastline {110m,50m,10m}] [--coastline-lw NUM] [--lalo-label] [--lalo-step DEG] [--lalo-max-num NUM] [--lalo-loc left right top bottom] [--lalo-off LALO_OFFSET LALO_OFFSET] [--lalo-fs LALO_FONT_SIZE]
               [--scalebar LEN X Y] [--noscalebar] [--scalebar-pad SCALEBAR_PAD] [--ram MAXMEMORY] [--pts-marker PTS_MARKER] [--pts-ms PTS_MARKER_SIZE] [--pts-yx Y X | --pts-lalo LAT LON | --pts-file PTS_FILE] [--ref-date DATE]
               [--ref-lalo LAT LON] [--ref-yx Y X] [--noreference] [--ref-marker REF_MARKER] [--ref-size NUM] [-o [OUTFILE ...]] [--save] [--nodisplay] [--update] [--sub-x XMIN XMAX] [--sub-y YMIN YMAX] [--sub-lat LATMIN LATMAX]
               [--sub-lon LONMIN LONMAX]
               file [dset ...]

Plot InSAR Product in 2D

optional arguments:
  -h, --help            show this help message and exit
  --show-kept, --show-kept-ifgram
                        display kept interferograms only, without dropped interferograms
  --noverbose           Disable the verbose message printing (default: True).
  --math {reverse,deg2rad,rad2deg,square,sqrt,inverse}
                        Apply the math operation before displaying [for single subplot ONLY].
                        E.g. plot the std. dev. of the variance file.
                          square  = x^2
                          sqrt    = x^1/2
                          reverse = x * -1
                          inverse = 1 / x
  --ram MAXMEMORY, --memory MAXMEMORY
                        Max amount of memory in GB to use (default: 4.0).
                        Adjust according to your computer memory.

Input File:
  File/Dataset to display

  file                  file for display
  dset                  optional - dataset(s) to display (default: []).
  -n [NUM ...], --dset-num [NUM ...]
                        optional - order number of date/dataset(s) to display (default: []).
  --nosearch            Disable glob search for input dset.
  --ex [Dset ...], --exclude [Dset ...]
                        dates will not be displayed (default: []).

Data Display Options:
  Options to adjust the dataset display

  -v VMIN VMAX, --vlim VMIN VMAX
                        Display limits for matrix plotting.
  -u UNIT, --unit UNIT  unit for display.  Its priority > wrap
  --nd NO_DATA_VALUE, --no-data-val NO_DATA_VALUE, --no-data-value NO_DATA_VALUE
                        Specify the no-data-value to be ignored and masked.
  --wrap                re-wrap data to display data in fringes.
  --wrap-range MIN MAX  range of one cycle after wrapping (default: [-3.141592653589793, 3.141592653589793]).
  --flip-lr             flip left-right
  --flip-ud             flip up-down
  --noflip              turn off auto flip for radar coordinate file
  --nmli NUM, --num-multilook NUM, --multilook-num NUM
                        multilook data in X and Y direction with a factor for display (default: 1).
  --nomultilook, --no-multilook
                        do not multilook, for high quality display. 
                        If multilook is True and multilook_num=1, multilook_num will be estimated automatically.
                        Useful when displaying big datasets.
  --alpha TRANSPARENCY  Data transparency. 
                        0.0 - fully transparent, 1.0 - no transparency.

DEM:
  display topography in the background

  -d DEM_FILE, --dem DEM_FILE
                        DEM file to show topography as background
  --mask-dem            Mask out DEM pixels not coincident with valid data pixels
  --dem-noshade         do not show DEM shaded relief
  --dem-nocontour       do not show DEM contour lines
  --contour-smooth DEM_CONTOUR_SMOOTH
                        Background topography contour smooth factor - sigma of Gaussian filter. 
                        Set to 0.0 for no smoothing; (default: 3.0).
  --contour-step NUM    Background topography contour step in meters (default: 200.0).
  --contour-lw NUM, --contour-linewidth NUM
                        Background topography contour linewidth (default: 0.5).
  --shade-az DEG        The azimuth (0-360, degrees clockwise from North) of the light source (default: 315.0).
  --shade-alt DEG       The altitude (0-90, degrees up from horizontal) of the light source (default: 45.0).
  --shade-min MIN       The min height in m of colormap of shaded relief topography (default: -4000.0).
  --shade-max MAX       The max height of colormap of shaded relief topography (default: max(DEM)+2000).
  --shade-exag SHADE_EXAG
                        Vertical exaggeration ratio (default: 0.5).

Figure:
  Figure settings for display

  --fontsize FONT_SIZE  font size
  --fontcolor FONT_COLOR
                        font color (default: k).
  --nowhitespace        do not display white space
  --noaxis              do not display axis
  --notick              do not display tick in x/y axis
  --ylabel-rot YLABEL_ROT
                        Y-axis tick label rotation in degree anti-clockwisely (default: None).
                        Set to 90 for a vertical y-axis tick labels
  -c COLORMAP, --colormap COLORMAP
                        colormap used for display, i.e. jet, cmy, RdBu, hsv, jet_r, viridis, etc.
                        More at https://mintpy.readthedocs.io/en/latest/api/colormaps/
  --cm-lut NUM, --cmap-lut NUM
                        number of increment of colormap lookup table (default: 256).
  --cm-vlist CMAP_VLIST CMAP_VLIST CMAP_VLIST, --cmap-vlist CMAP_VLIST CMAP_VLIST CMAP_VLIST
                        list of 3 float numbers, for truncated colormap only (default: [0.0, 0.7, 1.0]).
  --nocbar, --nocolorbar
                        do not display colorbar
  --cbar-nbins NUM      number of bins for colorbar.
  --cbar-ext {max,both,neither,min,None}
                        Extend setting of colorbar; based on data stat by default.
  --cbar-label CBAR_LABEL
                        colorbar label
  --cbar-loc CBAR_LOC   colorbar location for single plot (default: right).
  --cbar-size CBAR_SIZE
                        colorbar size and pad (default: 2%).
  --notitle             do not display title
  --title-in            draw title in/out of axes
  --title FIG_TITLE, --fig-title FIG_TITLE, --figtitle FIG_TITLE
                        Title shown in the figure.
  --title4sen, --title4sentinel1
                        display Sentinel-1 A/B and IPF info in title.
  --figsize WID LEN     figure size in inches - width and length
  --dpi DPI             DPI - dot per inch - for display/write (default: 300).
  --figext {.emf,.eps,.pdf,.png,.ps,.raw,.rgba,.svg,.svgz}
                        File extension for figure output file (default: .png).
  --fignum NUM          number of figure windows
  --nrows NUM           subplot number in row
  --ncols NUM           subplot number in column
  --wspace FIG_WID_SPACE
                        width space between subplots in inches
  --hspace FIG_HEI_SPACE
                        height space between subplots in inches
  --no-tight-layout     disable automatic tight layout for multiple subplots
  --coord {radar,geo}   Display in radar/geo coordination system (for geocoded file only; default: geo).
  --animation           enable animation mode

GPS:
  GPS data to display

  --show-gps            Show UNR GPS location within the coverage.
  --mask-gps            Mask out GPS stations not coincident with valid data pixels
  --gps-label           Show GPS site name
  --gps-ms GPS_MARKER_SIZE
                        Plot GPS value as scatter in size of ms**2 (default: 6).
  --gps-comp {horz,vert,hz2los,up2los,enu2los}
                        Plot GPS in color indicating deformation velocity direction
  --gps-redo            Re-calculate GPS observations in LOS direction, instead of read from existing CSV file.
  --ref-gps REF_GPS_SITE
                        Reference GPS site
  --ex-gps [EX_GPS_SITES ...]
                        Exclude GPS sites, require --gps-comp.
  --gps-start-date YYYYMMDD
                        start date of GPS data, default is date of the 1st SAR acquisition
  --gps-end-date YYYYMMDD
                        start date of GPS data, default is date of the last SAR acquisition
  --horz-az HORZ_AZ_ANGLE, --hz-az HORZ_AZ_ANGLE
                        Azimuth angle (anti-clockwise from the north) of the horizontal movement in degrees
                        E.g.: -90. for east  direction [default]
                               0.  for north direction
                        Set to the azimuth angle of the strike-slip fault to show the fault-parallel displacement.

Mask:
  Mask file/options

  -m FILE, --mask FILE  mask file for display. "no" to turn OFF masking.
  --mask-vmin MASK_VMIN
                        hide pixels with mask value < vmin (default: None).
  --mask-vmax MASK_VMAX
                        hide pixels with mask value > vmax (default: None).
  --zm, --zero-mask     mask pixels with zero value.

Map:
  for one subplot in geo-coordinates only

  --coastline {110m,50m,10m}
                        Draw coastline with specified resolution (default: None).
                        This will enable --lalo-label option.
                        Link: https://scitools.org.uk/cartopy/docs/latest/matplotlib/geoaxes.html#cartopy.mpl.geoaxes.GeoAxes.coastlines
  --coastline-lw NUM, --coastline-linewidth NUM
                        Coastline linewidth (default: 1).
  --lalo-label          Show N, S, E, W tick label for plot in geo-coordinate.
                        Useful for final figure output.
  --lalo-step DEG       Lat/lon step for lalo-label option.
  --lalo-max-num NUM    Maximum number of lalo tick label (default: 3).
  --lalo-loc left right top bottom
                        Draw lalo label in [left, right, top, bottom] (default: [1, 0, 0, 1]).
  --lalo-off LALO_OFFSET LALO_OFFSET, --lalo-offset LALO_OFFSET LALO_OFFSET
                        Distance between tick and label in points (default: None).
                        Set to negative value, e.g. -36 -18, to move the ticklabel inside the plot.
  --lalo-fs LALO_FONT_SIZE, --lalo-fontsize LALO_FONT_SIZE
                        Lalo label font size in points (default: None).
  --scalebar LEN X Y    scale bar distance and location in ratio (default: [0.2, 0.2, 0.1]).
                        	distance in ratio of total width
                        	location in X/Y in ratio with respect to the lower left corner
                        --scalebar 0.2 0.2 0.1  #for lower left  corner
                        --scalebar 0.2 0.2 0.8  #for upper left  corner
                        --scalebar 0.2 0.8 0.1  #for lower right corner
                        --scalebar 0.2 0.8 0.8  #for upper right corner
  --noscalebar, --nosbar
                        do not display scale bar.
  --scalebar-pad SCALEBAR_PAD, --sbar-pad SCALEBAR_PAD
                        scale bar label pad in ratio of scalebar width (default: 0.05).

Point:
  Plot points defined by y/x or lat/lon

  --pts-marker PTS_MARKER
                        Marker of points of interest (default: k^).
  --pts-ms PTS_MARKER_SIZE
                        Marker size for points of interest (default: 6.0).
  --pts-yx Y X          Point in Y/X
  --pts-lalo LAT LON    Point in Lat/Lon
  --pts-file PTS_FILE   Text file for point(s) in lat/lon column

Reference date / point:
  Modify reference in time / space for display

  --ref-date DATE       Change reference date for display
  --ref-lalo LAT LON    Change reference point in LAT/LON for display
  --ref-yx Y X          Change reference point in Y/X for display
  --noreference         do not show reference point
  --ref-marker REF_MARKER
                        marker of reference pixel (default: ks).
  --ref-size NUM        marker size of reference point (default: 6).

Save/Output:
  Save figure and write to file(s)

  -o [OUTFILE ...], --outfile [OUTFILE ...]
                        save the figure with assigned filename.
                        By default, it's calculated based on the input file name.
  --save                save the figure
  --nodisplay           save and do not display the figure
  --update              enable update mode for save figure: skip running if
                        	1) output file already exists AND
                        	2) output file is newer than input file.

Subset:
  Display dataset in subset range

  --sub-x XMIN XMAX, --subx XMIN XMAX, --subset-x XMIN XMAX
                        subset display in x/cross-track/range direction
  --sub-y YMIN YMAX, --suby YMIN YMAX, --subset-y YMIN YMAX
                        subset display in y/along-track/azimuth direction
  --sub-lat LATMIN LATMAX, --sublat LATMIN LATMAX, --subset-lat LATMIN LATMAX
                        subset display in latitude
  --sub-lon LONMIN LONMAX, --sublon LONMIN LONMAX, --subset-lon LONMIN LONMAX
                        subset display in longitude

example:
  view.py velocity.h5
  view.py velocity.h5 velocity --wrap --wrap-range -2 2 -c cmy --lalo-label
  view.py velocity.h5 --ref-yx  210 566                              #change reference pixel for display
  view.py velocity.h5 --sub-lat 31.05 31.10 --sub-lon 130.05 130.10  #subset in lalo / yx

  view.py timeseries.h5
  view.py timeseries.h5 -m no                   #do not use auto mask
  view.py timeseries.h5 --ref-date 20101120     #change reference date
  view.py timeseries.h5 --ex drop_date.txt      #exclude dates to plot
  view.py timeseries.h5 '*2017*' '*2018*'       #all acquisitions in 2017 and 2018
  view.py timeseries.h5 20200616_20200908       #reconstruct interferogram on the fly

  view.py ifgramStack.h5 coherence
  view.py ifgramStack.h5 unwrapPhase-           #unwrapPhase only in the presence of unwrapPhase_bridging
  view.py ifgramStack.h5 -n 6                   #the 6th slice
  view.py ifgramStack.h5 20171010_20171115      #all data      related with 20171010_20171115
  view.py ifgramStack.h5 'coherence*20171010*'  #all coherence related with 20171010
  view.py ifgramStack.h5 unwrapPhase-20070927_20100217 --zero-mask --wrap     #wrapped phase
  view.py ifgramStack.h5 unwrapPhase-20070927_20100217 --mask ifgramStack.h5  #mask using connected components

  # GPS (for one subplot in geo-coordinates only)
  view.py geo_velocity_msk.h5 velocity --show-gps --gps-label   #show locations of available GPS
  view.py geo_velocity_msk.h5 velocity --show-gps --gps-comp enu2los --ref-gps GV01
  view.py geo_timeseries_ERA5_ramp_demErr.h5 20180619 --ref-date 20141213 --show-gps --gps-comp enu2los --ref-gps GV01

  # Save and Output
  view.py velocity.h5 --save
  view.py velocity.h5 --nodisplay
  view.py geo_velocity.h5 velocity --nowhitespace
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

No branches or pull requests

1 participant