示例#1
0
def output_manager_coseismic(x, y, average_coseismic, outdir):
    rwr.produce_output_netcdf(x, y, average_coseismic, 'mm',
                              outdir + '/coseismic.grd')
    netcdf_plots.produce_output_plot(outdir + '/coseismic.grd',
                                     'LOS Displacement',
                                     outdir + '/coseismic.png', 'disp (mm)')
    return
示例#2
0
def stack_corr_for_ref_unwrapped_isce(intf_files,
                                      rowref,
                                      colref,
                                      ts_output_dir,
                                      label=""):
    # WE MAKE SIGNAL SPREAD FOR CUT IMAGES
    cor_files = [
        i.replace("fully_processed.unwrappedphase", "cut.cor")
        for i in intf_files
    ]
    # get for isce
    netcdfname = ts_output_dir + '/signalspread_cut_ref' + label + '.nc'
    cor_value = np.nan
    cor_data = readmytupledata.reader_isce(cor_files)
    a = stack_corr.stack_corr(cor_data, cor_value)
    rwr.produce_output_netcdf(cor_data.xvalues, cor_data.yvalues, a,
                              'Percentage', netcdfname)
    netcdf_plots.produce_output_plot(
        netcdfname,
        'Signal Spread above cor=' + str(cor_value),
        ts_output_dir + '/signalspread_cut_ref' + label + '.png',
        'Percentage of coherence',
        aspect=1 / 4,
        invert_yaxis=False,
        dot_points=[[colref], [rowref]])
    signal_spread_ref = a[rowref, colref]
    print("Signal Spread of the reference pixel = %.2f " % signal_spread_ref)
    if signal_spread_ref < 50:
        print(
            "WARNING: Your reference pixel has very low coherence. Consider picking a different one."
        )
        print("STOPPING ON PURPOSE.")
        sys.exit(0)
    return
示例#3
0
def drive_signal_spread_isce(corr_files, cutoff, output_dir, output_filename):
    cor_data = rmd.reader_isce(corr_files);
    a = stack_corr(cor_data, cutoff);
    netcdf_read_write.produce_output_netcdf(cor_data.xvalues, cor_data.yvalues, a, 'Percentage', output_dir+'/' +
                                            output_filename);
    netcdf_plots.produce_output_plot(output_dir + '/' + output_filename, 'Signal Spread above cor=' + str(cutoff),
                                     output_dir + '/signalspread_full.png', 'Percentage of coherence', aspect=1 / 4,
                                     invert_yaxis=False);
    return;
示例#4
0
def drive_signal_spread_calculation(corr_files, cutoff, output_dir, output_filename):
    print("Making stack_corr")
    output_file = output_dir + "/" + output_filename
    mytuple = rmd.reader(corr_files)  
    a = stack_corr(mytuple, cutoff)  # if unwrapped files, we use Nan to show when it was unwrapped successfully.
    netcdf_read_write.produce_output_netcdf(mytuple.xvalues, mytuple.yvalues, a, 'Percentage', output_file)
    netcdf_plots.produce_output_plot(output_file, 'Signal Spread', output_dir + '/signalspread.png',
                                     'Percentage of coherence (out of ' + str(len(corr_files)) + ' images)',
                                     aspect=1.2);
    return;
示例#5
0
def dummy_signal_spread(intfs, output_dir, output_filename):
    """ Make a perfect signal spread for passing to other applications """
    print("Making a dummy signal spread that matches interferograms' dimensions (perfect 100).");
    output_filename = output_dir + "/" + output_filename;
    [xdata, ydata, zdata] = netcdf_read_write.read_netcdf4(intfs[0]);
    a = np.add(np.zeros(np.shape(zdata)), 100);
    netcdf_read_write.produce_output_netcdf(xdata, ydata, a, 'Percentage', output_filename, dtype=np.float32)
    netcdf_plots.produce_output_plot(output_filename, 'Signal Spread', output_dir + '/signalspread.png',
                                     'Percentage of coherence (out of ' + str(len(intfs)) + ' images)', aspect=1.2);
    return;
示例#6
0
def output_manager_simple_stack(x, y, velocities, rowref, colref,
                                signal_spread_data, outdir):
    rwr.produce_output_netcdf(x, y, velocities, 'mm/yr',
                              outdir + '/velo_simple_stack.grd')
    netcdf_plots.produce_output_plot(outdir + '/velo_simple_stack.grd',
                                     'LOS Velocity ',
                                     outdir + '/velo_simple_stack.png',
                                     'velocity (mm/yr)')
    stacking_utilities.report_on_refpixel(rowref, colref, signal_spread_data,
                                          outdir)
    return
示例#7
0
def make_vel_unc_from_ts_grids(ts_slice_files, outdir):
    """
    Given existing TS grid files, create an estimate of velocity uncertainty.
    I have called this function from outside of the program.  Can be called separately.
    """
    mydata = rmd.reader_from_ts(ts_slice_files)
    # read filelist of time series grids
    unc = velo_uncertainties.empirical_uncertainty(mydata)
    rwr.produce_output_netcdf(mydata.xvalues, mydata.yvalues, unc, 'mm/yr',
                              outdir + '/velo_unc.grd')
    netcdf_plots.produce_output_plot(outdir + '/velo_unc.grd',
                                     'LOS Uncertainty',
                                     outdir + '/velo_unc.png',
                                     'Uncertainty (mm/yr)')
    return
示例#8
0
def make_vels_from_ts_grids(param_dictionary, ts_slice_files):
    """
    Given existing TS grid files, create an estimate of velocity.
    """
    mydata = rmd.reader_from_ts(ts_slice_files)
    # read filelist of time series grids
    vel = nsbas.Velocities_from_TS(mydata)
    rwr.produce_output_netcdf(
        mydata.xvalues, mydata.yvalues, vel, 'mm/yr',
        param_dictionary["ts_output_dir"] + '/velo_nsbas.grd')
    netcdf_plots.produce_output_plot(
        param_dictionary["ts_output_dir"] + '/velo_nsbas.grd', 'LOS Velocity',
        param_dictionary["ts_output_dir"] + '/velo_nsbas.png',
        'velocity (mm/yr)')
    return
示例#9
0
def write_output_metrics(param_dict, intf_tuple, metrics):
    """Unpack the dictionary that contains output metrics (if any), write into files. """
    if param_dict["dem_error"]:
        gridshape = np.shape(metrics)
        Kz_grid = np.zeros(gridshape)
        for i in range(gridshape[0]):
            for j in range(gridshape[1]):
                if "Kz_error" in metrics[i][j].keys():
                    Kz_grid[i][j] = metrics[i][j]["Kz_error"]
        rwr.produce_output_netcdf(
            intf_tuple.xvalues, intf_tuple.yvalues, Kz_grid, 'm',
            param_dict["ts_output_dir"] + '/kz_error.grd')
        netcdf_plots.produce_output_plot(
            param_dict["ts_output_dir"] + '/kz_error.grd', 'DEM Error',
            param_dict["ts_output_dir"] + '/kz_error.png', 'DEM Error (m)')
    return
示例#10
0
def drive_velocity(param_dict, intf_files, coh_files):
    intf_tuple, coh_tuple, baseline_tuple = param_dict["reader"](
        intf_files, coh_files, param_dict["baseline_file"],
        param_dict["ts_type"], param_dict["dem_error"])
    [_, _, signal_spread_tuple
     ] = rwr.read_any_grd(param_dict["signal_spread_filename"])
    velocities, metrics = nsbas.Velocities(param_dict, intf_tuple,
                                           signal_spread_tuple, baseline_tuple,
                                           coh_tuple)
    rwr.produce_output_netcdf(intf_tuple.xvalues, intf_tuple.yvalues,
                              velocities, 'mm/yr',
                              param_dict["ts_output_dir"] + '/velo_nsbas.grd')
    netcdf_plots.produce_output_plot(
        param_dict["ts_output_dir"] + '/velo_nsbas.grd', 'LOS Velocity',
        param_dict["ts_output_dir"] + '/velo_nsbas.png', 'velocity (mm/yr)')
    return