Esempio n. 1
0
def create_parser():
    parser = argparse.ArgumentParser(description='Interactive time-series viewer',
                                     formatter_class=argparse.RawTextHelpFormatter,
                                     epilog=EXAMPLE)
    parser.add_argument('file', nargs='+',
                        help='time-series file to display\n'
                             'i.e.: timeseries_ERA5_ramp_demErr.h5 (MintPy)\n'
                             '      LS-PARAMS.h5 (GIAnT)\n'
                             '      S1_IW12_128_0593_0597_20141213_20180619.he5 (HDF-EOS5)')
    parser.add_argument('--label', dest='file_label', nargs='*', help='labels to display for multiple input files')
    parser.add_argument('--ylim', dest='ylim', nargs=2, metavar=('YMIN', 'YMAX'), type=float, help='Y limits for point plotting.')
    parser.add_argument('--tick-right', dest='tick_right', action='store_true', help='set tick and tick label to the right')
    parser.add_argument('-l','--lookup', dest='lookup_file', type=str, help='lookup table file')

    parser.add_argument('-n', dest='idx', metavar='NUM', type=int, help='Epoch/slice number for initial display.')
    parser.add_argument('--error', dest='error_file', help='txt file with error for each date.')

    # time info
    parser.add_argument('--start-date', dest='start_date', type=str, help='start date of displacement to display')
    parser.add_argument('--end-date', dest='end_date', type=str, help='end date of displacement to display')
    parser.add_argument('--exclude', '--ex', dest='ex_date_list', nargs='*', default=['exclude_date.txt'], help='Exclude date shown as gray.')
    parser.add_argument('--zf', '--zero-first', dest='zero_first', action='store_true', help='Set displacement at first acquisition to zero.')
    parser.add_argument('--off','--offset', dest='offset', type=float, help='Offset for each timeseries file.')

    parser.add_argument('--noverbose', dest='print_msg', action='store_false', help='Disable the verbose message printing.')

    # temporal model fitting
    parser.add_argument('--nomodel', '--nofit', dest='plot_model', action='store_false',
                        help='Do not plot the prediction of the time function (deformation model) fitting.')
    parser.add_argument('--plot-model-conf-int', '--plot-fit-conf-int', dest='plot_model_conf_int', action='store_true',
                        help='Plot the time function prediction confidence intervals.\n'
                             '[!-- Preliminary feature alert! --!]\n'
                             '[!-- This feature is NOT throughly checked. Read the code before use. Interpret at your own risk! --!]')

    parser = arg_group.add_timefunc_argument(parser)

    # pixel of interest
    pixel = parser.add_argument_group('Pixel Input')
    pixel.add_argument('--yx', type=int, metavar=('Y', 'X'), nargs=2, help='initial pixel to plot in Y/X coord')
    pixel.add_argument('--lalo', type=float, metavar=('LAT', 'LON'), nargs=2, help='initial pixel to plot in lat/lon coord')

    pixel.add_argument('--marker', type=str, default='o', help='marker style (default: %(default)s).')
    pixel.add_argument('--ms', '--markersize', dest='marker_size', type=float, default=6.0, help='marker size (default: %(default)s).')
    pixel.add_argument('--lw', '--linewidth', dest='linewidth', type=float, default=0, help='line width (default: %(default)s).')
    pixel.add_argument('--ew', '--edgewidth', dest='edge_width', type=float, default=1.0, help='Edge width for the error bar (default: %(default)s)')

    # other groups
    parser = arg_group.add_data_disp_argument(parser)
    parser = arg_group.add_dem_argument(parser)
    parser = arg_group.add_figure_argument(parser)
    parser = arg_group.add_gps_argument(parser)
    parser = arg_group.add_mask_argument(parser)
    parser = arg_group.add_map_argument(parser)
    parser = arg_group.add_memory_argument(parser)
    parser = arg_group.add_reference_argument(parser)
    parser = arg_group.add_save_argument(parser)
    parser = arg_group.add_subset_argument(parser)

    return parser
Esempio n. 2
0
def create_parser():
    parser = argparse.ArgumentParser(description='Generate Google Earth KMZ file (overlay / placemarks for files in geo / radar coordinates).',
                                     formatter_class=argparse.RawTextHelpFormatter,
                                     epilog=EXAMPLE)

    parser.add_argument('file', help='file to be converted, in geo or radar coordinate.\n'
                        'Note: for files in radar-coordinate, the corresponding lookup table\n'
                        'in radar-coordinate (as provided by ISCE) is required.')
    parser.add_argument('dset', nargs='?', help='date of timeseries, or date12 of interferograms to be converted')
    parser.add_argument('-m','--mask', dest='mask_file', metavar='FILE', help='mask file for display')
    parser.add_argument('--zero-mask', dest='zero_mask', action='store_true', help='Mask pixels with zero value.')
    parser.add_argument('-o', '--output', dest='outfile', help='output file base name. Extension is fixed with .kmz')
    parser.add_argument('--kk','--keep-kml','--keep-kml-file', dest='keep_kml_file', action='store_true',
                        help='Do not remove KML and data/resource files after compressing into KMZ file.')

    # unique for point - file in radar coordinates
    parser.add_argument('-g','--geom', dest='geom_file', metavar='FILE',
                        help='geometry file with lat/lon. [required for file in radar coordinates]')
    parser.add_argument('--step', dest='step', type=int, default=5,
                        help='output one point per {step} pixels, to reduce file size (default: %(default)s).\n'
                             'For file in radar-coordinate ONLY.')

    # Data
    parser.add_argument('-v','--vlim', dest='vlim', nargs=2, metavar=('MIN', 'MAX'), type=float, help='Y/value limits for plotting.')
    parser.add_argument('-u', dest='disp_unit', metavar='UNIT', help='unit for display.')
    parser.add_argument('-c', '--cm', '--colormap', dest='colormap', default='jet', help='Colormap for plotting. Default: jet')
    parser.add_argument('--wrap', action='store_true', help='re-wrap data to display data in fringes.')
    parser.add_argument('--wrap-range', dest='wrap_range', type=float, nargs=2, default=[-1.*np.pi, np.pi], metavar=('MIN', 'MAX'),
                        help='range of one cycle after wrapping, default: [-pi, pi]')

    # Figure
    fig = parser.add_argument_group('Figure')
    fig.add_argument('--dpi', dest='fig_dpi', metavar='NUM', type=int, default=600,
                     help='Figure DPI (dots per inch). Default: 600')
    fig.add_argument('--figsize', dest='fig_size', metavar=('WID', 'LEN'), type=float, nargs=2,
                     help='Figure size in inches - width and length')
    fig.add_argument('--cbar-loc', dest='cbar_loc', choices=['lower left','lower right','upper left', 'upper right'],
                     default='lower left', help='Location of colorbar in the screen. Default: lower left.')
    fig.add_argument('--cbar-label', dest='cbar_label', metavar='LABEL', default='Mean LOS velocity',
                     help='Colorbar label. Default: Mean LOS velocity')
    fig.add_argument('--cbar-bin-num', dest='cbar_bin_num', metavar='NUM', type=int,
                     help='Colorbar bin number (default: %(default)s).')

    # Reference Pixel
    ref = parser.add_argument_group('Reference Pixel')
    ref.add_argument('--noreference', dest='disp_ref_pixel', action='store_false',
                     help='do not show reference point')
    ref.add_argument('--ref-color', dest='ref_marker_color', metavar='COLOR', default='k',
                     help='marker color of reference point')
    ref.add_argument('--ref-size', dest='ref_marker_size', metavar='NUM', type=int, default=5,
                     help='marker size of reference point (default: %(default)s).')
    ref.add_argument('--ref-marker', dest='ref_marker', metavar='SYMBOL', default='s',
                     help='marker symbol of reference point')

    # subset
    parser = arg_group.add_subset_argument(parser)

    return parser
Esempio n. 3
0
def create_parser():
    parser = argparse.ArgumentParser(description='Load binary data file(s) into an HDF5 file.',
                                     formatter_class=argparse.RawTextHelpFormatter,
                                     epilog=EXAMPLE)
    # input
    parser.add_argument('file', help='file to be loaded.')
    parser.add_argument('--dtype','--data-type', dest='data_type', choices=DATA_TYPE_STR2OBJ.keys(),
                        help='output data type')
    parser = arg_group.add_subset_argument(parser, geo=False)

    # output
    parser.add_argument('--dname','--dset-name', dest='dset_name', help='output dataset name(s)')
    parser.add_argument('--meta', dest='metadata', nargs='*', help='add custom metadata')

    parser.add_argument('-o', '--output', dest='outfile', required=True, help='output HDF5 file name')
    parser.add_argument('--force', dest='force', action='store_true', help='enforce output data overwrite.')
    return parser
Esempio n. 4
0
def create_parser():
    parser = argparse.ArgumentParser(
        description=
        f'Generate KITE ({KITE_URL}) npz and yaml from MintPy HDF5 file.',
        formatter_class=argparse.RawTextHelpFormatter,
        epilog=EXAMPLE)

    parser.add_argument('file',
                        type=str,
                        help='file to be converted, in geo coordinate.')
    parser.add_argument(
        '-d',
        '--dset',
        '--dataset',
        dest='dset',
        type=str,
        required=True,
        help='dataset of interest to be converted.\n' +
        'e.g.: velocity / stepYYYYMMDD for velocity HDF5 file,\n' +
        '      date12 in YYYYMMDD_YYYYMMDD for time-series HDF5 file,\n' +
        '      date12 in unwrapPhase-YYYYMMDD_YYYYMMDD for ifgramStack HDF5 file.'
    )
    parser.add_argument(
        '-g',
        '--geom',
        dest='geom_file',
        type=str,
        help='geometry file for incidence /azimuth angle and height.')
    parser.add_argument(
        '-m',
        '--mask',
        dest='mask_file',
        type=str,
        help='mask file, or run mask.py to mask the input file beforehand.')
    parser.add_argument('-o',
                        '--output',
                        dest='outfile',
                        type=str,
                        help='output filename')
    parser = arg_group.add_subset_argument(parser)
    return parser
Esempio n. 5
0
def create_parser():
    """Command Line Parser"""
    parser = argparse.ArgumentParser(
        description="Prepare FRInGE products for MintPy",
        formatter_class=argparse.RawTextHelpFormatter,
        epilog=EXAMPLE)

    parser.add_argument(
        '-u',
        '--unw-file',
        dest='unwFile',
        type=str,
        default='./PS_DS/unwrap/*.unw',
        help='path pattern of unwrapped interferograms (default: %(default)s).'
    )
    parser.add_argument('-c',
                        '--coh-file',
                        dest='cohFile',
                        type=str,
                        default='./PS_DS/tcorr_ds_ps.bin',
                        help='temporal coherence file (default: %(default)s).')
    parser.add_argument('--ps-mask',
                        dest='psMaskFile',
                        type=str,
                        default='./ampDispersion/ps_pixels',
                        help='PS pixels file (default: %(default)s).')
    parser.add_argument(
        '-g',
        '--geom-dir',
        dest='geomDir',
        type=str,
        default='./geometry',
        help='FRInGE geometry directory (default: %(default)s).\n'
        'This is used to grab 1) bounding box\n'
        '                 AND 2) geometry source directory where the binary files are.'
    )

    parser.add_argument(
        '-m',
        '--meta-file',
        dest='metaFile',
        type=str,
        default='../reference/IW*.xml',
        help='metadata file (default: %(default)s).\n'
        'e.g.: ./reference/IW1.xml        for ISCE/topsStack OR\n'
        '      ./referenceShelve/data.dat for ISCE/stripmapStack')
    parser.add_argument('-b',
                        '--baseline-dir',
                        dest='baselineDir',
                        type=str,
                        default='../baselines',
                        help='baseline directory (default: %(default)s).')

    parser.add_argument('-o',
                        '--out-dir',
                        dest='outDir',
                        type=str,
                        default='./mintpy',
                        help='output directory (default: %(default)s).')

    parser = arg_group.add_subset_argument(parser, geo=False)

    return parser
Esempio n. 6
0
def create_parser():
    parser = argparse.ArgumentParser(
        description='Interactive time-series viewer',
        formatter_class=argparse.RawTextHelpFormatter,
        epilog=EXAMPLE)
    parser.add_argument(
        'file',
        nargs='+',
        help='time-series file to display\n'
        'i.e.: timeseries_ERA5_ramp_demErr.h5 (MintPy)\n'
        '      LS-PARAMS.h5 (GIAnT)\n'
        '      S1_IW12_128_0593_0597_20141213_20180619.he5 (HDF-EOS5)')
    parser.add_argument('--label',
                        dest='file_label',
                        nargs='*',
                        help='labels to display for multiple input files')
    parser.add_argument('--ylim',
                        dest='ylim',
                        nargs=2,
                        metavar=('YMIN', 'YMAX'),
                        type=float,
                        help='Y limits for point plotting.')
    parser.add_argument('--tick-right',
                        dest='tick_right',
                        action='store_true',
                        help='set tick and tick label to the right')

    parser.add_argument('-l',
                        '--lookup',
                        dest='lookup_file',
                        type=str,
                        help='lookup table file')

    pixel = parser.add_argument_group('Pixel Input')
    pixel.add_argument('--yx',
                       type=int,
                       metavar=('Y', 'X'),
                       nargs=2,
                       help='initial pixel to plot in Y/X coord')
    pixel.add_argument('--lalo',
                       type=float,
                       metavar=('LAT', 'LON'),
                       nargs=2,
                       help='initial pixel to plot in lat/lon coord')

    pixel.add_argument('--ms',
                       '--markersize',
                       dest='marker_size',
                       type=float,
                       default=6.0,
                       help='Point marker size. Default: 6')
    pixel.add_argument('--ew',
                       '--edgewidth',
                       dest='edge_width',
                       type=float,
                       default=1.0,
                       help='Edge width. Default: 1.0')

    parser.add_argument('-n',
                        dest='idx',
                        metavar='NUM',
                        type=int,
                        help='Epoch/slice number to display.')
    parser.add_argument('--error',
                        dest='error_file',
                        help='txt file with error for each date.')

    parser.add_argument('--start-date',
                        dest='start_date',
                        type=str,
                        help='start date of displacement to display')
    parser.add_argument('--end-date',
                        dest='end_date',
                        type=str,
                        help='end date of displacement to display')
    parser.add_argument('--exclude',
                        '--ex',
                        dest='ex_date_list',
                        nargs='*',
                        default=['exclude_date.txt'],
                        help='Exclude date shown as gray.')
    parser.add_argument('--zf',
                        '--zero-first',
                        dest='zero_first',
                        action='store_true',
                        help='Set displacement at first acquisition to zero.')
    parser.add_argument('--off',
                        '--offset',
                        dest='offset',
                        type=float,
                        help='Offset for each timeseries file.')

    parser.add_argument('--noverbose',
                        dest='print_msg',
                        action='store_false',
                        help='Disable the verbose message printing.')

    parser = arg_group.add_data_disp_argument(parser)
    parser = arg_group.add_dem_argument(parser)
    parser = arg_group.add_figure_argument(parser)
    parser = arg_group.add_gps_argument(parser)
    parser = arg_group.add_mask_argument(parser)
    parser = arg_group.add_map_argument(parser)
    parser = arg_group.add_reference_argument(parser)
    parser = arg_group.add_save_argument(parser)
    parser = arg_group.add_subset_argument(parser)

    return parser