def main(argv): inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] Mdate = templateDict['masterDate'] processDir = scratchDir + '/' + projectName + "/PROCESS" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" dateList = ut.get_project_slcList(projectName) for i in range(len(dateList)): slc_dir = slcDir + '/' + dateList[i] print(slc_dir) for j in range(3): kk = j SLC = slc_dir + '/' + dateList[i] + '.IW' + str(kk + 1) + '.slc' SLCPar = slc_dir + '/' + dateList[i] + '.IW' + str(kk + 1) + '.slc.par' TOPPar = slc_dir + '/' + dateList[i] + '.IW' + str( kk + 1) + '.slc.TOPS_par' BURST = slc_dir + '/' + dateList[i] + '.IW' + str(kk + 1) + '.burst.par' call_str = 'SLC_burst_corners ' + SLCPar + ' ' + TOPPar + ' > ' + BURST os.system(call_str) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName processor = inps.processor scratchDir = os.getenv('SCRATCHDIR') slcDir = scratchDir + '/' + projectName + "/SLC" KK = os.listdir(slcDir) templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) masterDate = templateDict['masterDate'] SLC_PAR = slcDir + '/' + masterDate + '/' + masterDate + '.slc.par' demDir = os.getenv('DEMDIR') if not os.path.isdir(demDir): os.mkdir(demDir) demDir1 = demDir + '/' + projectName if not os.path.isdir(demDir1): os.mkdir(demDir1) os.chdir(demDir1) call_str = 'makedem.py ' + '-s ' + SLC_PAR + ' -p ' + processor + ' -o ' + projectName os.system(call_str) print('Generate DEM for project %s is done.' % projectName) sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() Mdate = inps.Mdate Sdate = inps.Sdate projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] downDir = scratchDir + '/' + projectName + '/DOWNLOAD' M_raw = glob.glob(downDir + '/S1*_' + ut.yyyymmdd(Mdate) + '*')[0] S_raw = glob.glob(downDir + '/S1*_' + ut.yyyymmdd(Sdate) + '*')[0] slcDir = scratchDir + '/' + projectName + '/SLC' ######### down 2 slc ############# call_str = 'down2slc_sen.py ' + M_raw + ' ' + slcDir os.system(call_str) call_str = 'down2slc_sen.py ' + S_raw + ' ' + slcDir os.system(call_str) ########## extract common bursts ## #call_str = 'extract_s1_bursts.py ' + projectName + ' ' + Mdate #os.system(call_str) #call_str = 'extract_s1_bursts.py ' + projectName + ' ' + Sdate #os.system(call_str) ######### generate rdc_dem ########## call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) ########## coregister SLC ######## call_str = 'coreg_s1_gamma.py ' + projectName + ' ' + Mdate os.system(call_str) call_str = 'coreg_s1_gamma.py ' + projectName + ' ' + Sdate os.system(call_str) ######## Interferometry process ########### call_str = 'diff_gamma.py ' + projectName + ' ' + Mdate + ' ' + Sdate os.system(call_str) call_str = 'unwrap_gamma.py ' + projectName + ' ' + Mdate + ' ' + Sdate os.system(call_str) call_str = 'geocode_gamma.py ' + projectName + ' ' + Mdate + '-' + Sdate os.system(call_str) print("Generate Ifg from raw-TOPs data is done! ") ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" projectDir = scratchDir + '/' + projectName ifgDir = scratchDir + '/' + projectName + '/ifgrams' templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] if inps.ifgarmListTxt: ifgramList_txt = inps.ifgarmListTxt else: ifgramList_txt = scratchDir + '/' + projectName + '/ifgram_list.txt' ifgList0 = ut.read_txt2array(ifgramList_txt) ifgList = ifgList0[:, 0] err_txt = scratchDir + '/' + projectName + '/geocode_gamma_all.err' if os.path.isfile(err_txt): os.remove(err_txt) data_para = [] for i in range(len(ifgList)): #m0 = ut.yyyymmdd(ifgList[i].split('-')[0]) #s0 = ut.yyyymmdd(ifgList[i].split('-')[1]) cmd0 = ['geocode_gamma.py', projectName, ifgList[i]] data0 = [cmd0, err_txt] geo_file0 = ifgDir + '/' + ifgList[i] + '/geo_' + ifgList[ i] + '_' + rlks + 'rlks.diff_filt.unw.bmp' k00 = 0 if os.path.isfile(geo_file0): if os.path.getsize(geo_file0) > 0: k00 = 1 if k00 == 0: data_para.append(data0) data_para.append(data0) ut.parallel_process(data_para, work, n_jobs=inps.parallelNumb, use_kwargs=False) print("Geocode interferograms for project %s is done! " % projectName) ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName Date = inps.date scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" if not os.path.isdir(rslcDir): os.mkdir(rslcDir) #workDir = processDir + '/' + igramDir workDir = rslcDir + '/' + Date if not os.path.isdir(workDir): os.mkdir(workDir) templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] Mdate = templateDict['masterDate'] rslc = workDir + '/' + Date + '.rslc' rslcPar = workDir + '/' + Date + '.rslc.par' amp = workDir + '/' + Date + '_' + rlks + 'rlks.amp' ampPar = workDir + '/' + Date + '_' + rlks + 'rlks.amp.par' k0 = 0 if os.path.isfile(ampPar): if os.path.getsize(ampPar) > 0: k0 = 1 if k0 == 0: call_str = 'multi_look ' + rslc + ' ' + rslcPar + ' ' + amp + ' ' + ampPar + ' ' + rlks + ' ' + azlks os.system(call_str) nWIDTH = ut.read_gamma_par(ampPar, 'read', 'range_samples') call_str = 'raspwr ' + amp + ' ' + nWIDTH os.system(call_str) print("Generate amplitude image for RSLC %s is done !!" % Date) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) templateDict['network_method'] = inps.method templateDict['conNumb'] = inps.conNumb processDir = scratchDir + '/' + projectName slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + '/RSLC' #slc_list = ut.get_project_slcList(projectName) masterDate = templateDict['masterDate'] if inps.coreg: slcDir = rslcDir slc0 = '.rslc' slcpar0 = '.rslc.par' else: slc0 = '.slc' slcpar0 = '.slc.par' slc_list0 = [os.path.basename(fname) for fname in sorted(glob.glob(slcDir + '/*'))] slc_list = [] for k0 in slc_list0: if ut.is_number(k0): slc_list.append(k0) slc_list = sorted(slc_list) SLCfile = [] SLCParfile = [] for kk in range(len(slc_list)): str_slc = slcDir + "/" + slc_list[kk] +"/" + slc_list[kk] + slc0 str_slc_par = slcDir + "/" + slc_list[kk] +"/" + slc_list[kk] + slcpar0 SLCfile.append(str_slc) SLCParfile.append(str_slc_par) RefPar = slcDir + "/" + masterDate +"/" + masterDate + slcpar0 SLC_Tab = scratchDir + '/' + projectName + "/SLC_Tab" SLC_Tab_all = processDir + "/SLC_Tab_all" TS_Berp_all = processDir + "/TS_Berp_all" TS_Itab_all = processDir + "/TS_Itab_all" itab_type = '1' pltflg = '0' if os.path.isfile(SLC_Tab): os.remove(SLC_Tab) with open(SLC_Tab, 'a') as f: for kk in range(len(SLCfile)): f.write(str(SLCfile[kk])+ ' '+str(SLCParfile[kk])+'\n') ## Get all of the pairs using GAMMA call_str = "base_calc " + SLC_Tab + " " + RefPar + " " + TS_Berp_all + " " + TS_Itab_all + " " + '1 0 ' + '- - - - >/dev/null' os.system(call_str) with open(TS_Berp_all, 'r') as f: lines = f.readlines() TS_Net_all = ut.read_txt2array(TS_Berp_all) if len(lines) ==1: TS_Net_all = TS_Net_all.reshape(1,9) TS_Net = TS_Net_all[0:(len(SLCfile)-1),:] date_list, tbase_list, pbase_list = get_datelist_bperplist(TS_Net) bl_list_txt = scratchDir + '/' + projectName + '/bl_list.txt' with open(bl_list_txt, 'w') as f: for kk in range(len(SLCfile)): f.write(str(date_list[kk])+ ' '+str(pbase_list[kk])+'\n') exclude_list = [] if 'exclude_date' in templateDict: exclude_list = templateDict['exclude_date'].split(',')[:] if inps.excludeDate: exclude_list0 = inps.excludeDate for k0 in exclude_list0: exclude_list.append(k0) templateDict['exclude_list'] = exclude_list if inps.startDate: templateDict['startDate'] = inps.startDate if inps.endDate: templateDict['endDate'] = inps.endDate if inps.maxTB: templateDict['max_tb'] = inps.maxTB if inps.maxSB: templateDict['max_sb'] = inps.maxSB date_list, tbase_list, pbase_list = prune_datelist(date_list, tbase_list, pbase_list, templateDict) date12_list, ifgram_tbase_list, ifgram_pbase_list = select_network_candidate(date_list,tbase_list,pbase_list,templateDict) date12_list_final, ifgram_tbase_list_final, ifgram_pbase_list_final = prune_network(date12_list, ifgram_tbase_list, ifgram_pbase_list, templateDict) if inps.outfile: out_file = inps.outfile else: out_file = scratchDir + '/' + projectName + "/ifgram_list.txt" write_ifgram_list(date12_list_final,ifgram_tbase_list_final,ifgram_pbase_list_final, out_file) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName Sdate = inps.Sdate scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] Mdate = templateDict['masterDate'] processDir = scratchDir + '/' + projectName + "/PROCESS" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" workDir0 = rslcDir + '/' + Sdate #if not os.path.isdir(rslcDir): # os.mkdir(rslcDir) MslcDir = slcDir + '/' + Mdate SslcDir = slcDir + '/' + Sdate #MBurst_Par = slcDir + '/' + Mdate + '/' + workDir = slcDir + '/' + Sdate BURST = workDir + '/' + Mdate + '_' + Sdate + '.common_burst_ref' MslcImg = workDir + '/'+Mdate + '.slc' MslcPar = workDir + '/'+Mdate + '.slc.par' MamprlksImg = workDir + '/'+Mdate + '_' + rlks + 'rlks' + '.amp' MamprlksPar = workDir + '/'+Mdate + '_' + rlks +'rlks' + '.amp.par' SslcImg = workDir + '/'+ Sdate + '.slc' SslcPar = workDir + '/'+ Sdate + '.slc.par' SamprlksImg = workDir + '/'+ Sdate + '_' + rlks + 'rlks' + '.amp' SamprlksPar = workDir + '/'+ Sdate + '_' + rlks + 'rlks' + '.amp.par' if not os.path.isdir(workDir): os.mkdir(workDir) get_common_burst(MslcDir,SslcDir,BURST) AA = ut.read_txt2array(BURST) NL = ut.get_txt_lines(BURST) if NL ==1: AA = AA.reshape(1,len(AA)) SW = templateDict['start_swath'] EW = templateDict['end_swath'] SB = templateDict['start_burst'] EB = templateDict['end_burst'] SLC2_tab = workDir + '/' + Sdate + '_SLC_Tab0' SLC2_INF_tab = workDir + '/' + Sdate + '_SLC_Tab' SLC2_RSLC_tab = workDir + '/' + Sdate + '_RSLC_Tab' BURST2_tab = workDir + '/' + Sdate + '_Burst_Tab' if os.path.isfile(SLC2_tab): os.remove(SLC2_tab) if os.path.isfile(SLC2_INF_tab): os.remove(SLC2_INF_tab) if os.path.isfile(SLC2_RSLC_tab): os.remove(SLC2_RSLC_tab) if os.path.isfile(BURST2_tab): os.remove(BURST2_tab) for kk in range(int(EW)-int(SW)+1): call_str = 'echo ' + SslcDir + '/' + Sdate+'.IW'+str(int(SW)+kk) + '.slc' + ' ' + SslcDir + '/'+ Sdate + '.IW'+str(int(SW)+kk) +'.slc.par' + ' ' + SslcDir + '/'+ Sdate+'.IW'+str(int(SW)+kk) + '.slc.TOPS_par >>' + SLC2_tab os.system(call_str) ii = int(SW) + kk SB1=int(AA[ii-1,0]) EB1=int(AA[ii-1,1]) SB2=int(AA[ii-1,2]) EB2=int(AA[ii-1,3]) if not int(SB)==1: SB2 = SB2 + int(SB) - int(SB1) if not int(EB)==100: EB2 = SB2 + int(EB) - int(SB) call_str = 'echo ' + workDir + '/'+ Sdate+ '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+str(int(SW)+kk)+ '.slc' + ' ' + workDir + '/' + Sdate + '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+ str(int(SW)+kk)+ '.slc.par' + ' ' + workDir + '/'+ Sdate+'_'+ str(int(SB2)) + str(int(EB2)) + '.IW'+str(int(SW)+kk)+ '.slc.TOPS_par >>' + SLC2_INF_tab os.system(call_str) call_str = 'echo ' + workDir0 + '/'+ Sdate+ '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+str(int(SW)+kk)+ '.rslc' + ' ' + workDir + '/' + Sdate + '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+ str(int(SW)+kk)+ '.rslc.par' + ' ' + workDir + '/'+ Sdate+'_'+ str(int(SB2)) + str(int(EB2)) + '.IW'+str(int(SW)+kk)+ '.rslc.TOPS_par >>' + SLC2_RSLC_tab os.system(call_str) call_str = 'echo ' + str(int(SB2)) + ' ' + str(int(EB2)) + ' >>' + BURST2_tab os.system(call_str) TEST = SamprlksPar k0 = 0 if os.path.isfile(TEST): if os.path.getsize(TEST) > 0: k0 = 1 if k0==0: call_str = 'SLC_copy_ScanSAR ' + SLC2_tab + ' ' + SLC2_INF_tab + ' ' + BURST2_tab os.system(call_str) call_str = 'SLC_mosaic_S1_TOPS ' + SLC2_INF_tab + ' ' + SslcImg + ' ' + SslcPar + ' ' + rlks + ' ' +azlks os.system(call_str) call_str = 'multi_look ' + SslcImg + ' ' + SslcPar + ' ' + SamprlksImg + ' ' + SamprlksPar + ' ' + rlks + ' ' + azlks os.system(call_str) nWidth = ut.read_gamma_par(SamprlksPar, 'read', 'range_samples') call_str = 'raspwr ' + SamprlksImg + ' ' + nWidth os.system(call_str) sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() projectName = inps.projectName templateDir = os.getenv('TEMPLATEDIR') scratchDir = os.getenv('SCRATCHDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) masterDate = templateDict['masterDate'] rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] HGTSIM = scratchDir + '/' + projectName + '/DEM/' + ut.yyyymmdd(masterDate) + '_' + rlks + 'rlks.rdc.dem' ### download data if templateDict['download_data'] == '1': print('Start to download SAR data using SSARA...') call_str = 'ssara_federated_query.py -p ' + templateDict['sensor'] + ' -r ' + templateDict['track'] + ' -f ' + templateDict['frame'] + ' -s ' + templateDict['start_time'] + ' -e ' + templateDict['end_time'] + ' --print --download --parallel ' + templateDict['down_parallel'] print(call_str) os.system(call_str) ### raw 2 slc if templateDict['raw2slc_all'] == '1': # only for S1 data now print('Start to convert downloaded-raw data into SLC ...') print('Number of processor: %s' % str(templateDict['raw2slc_all_parallel'])) call_str = 'down2slc_sen_all.py ' + projectName + ' --parallel ' + templateDict['raw2slc_all_parallel'] os.system(call_str) ### extract bursts if templateDict['extract_burst_all'] == '1': print('Start to extract common bursts ...') print('Number of processor: %s' % str(templateDict['extract_all_parallel'])) call_str = 'extract_s1_bursts_all.py ' + projectName + ' --parallel ' + templateDict['extract_all_parallel'] os.system(call_str) ### generate rdc_dem if not os.path.isfile(HGTSIM): print('Start to generate geometry file ...') call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) ### coreg SLC if templateDict['coreg_all'] == '1': print('Start to coregister SLCs ...') print('Number of processor: %s' % str(templateDict['coreg_all_parallel'])) call_str = 'coreg_gamma_all.py ' + projectName + ' --parallel ' + templateDict['coreg_all_parallel'] os.system(call_str) ### select interferometric pairs if templateDict['select_pairs'] == '1': print('Start to select interferometric pairs ...') print('Network selection method: %s' % templateDict['network_method']) #print('Meximum temporal baseline threshold: %s' % templateDict['max_tb']) #print('Meximum spatial baseline threshold: %s' % templateDict['max_sb']) call_str = 'select_pairs.py ' + projectName os.system(call_str) ### diff ifg if templateDict['diff_all'] == '1': print('Start to generate differential interferograms ...') print('Number of processor: %s' % str(templateDict['diff_all_parallel'])) call_str = 'diff_gamma_all.py ' + projectName + ' --parallel ' + templateDict['diff_all_parallel'] os.system(call_str) ### unw ifg if templateDict['unwrap_all'] == '1': print('Start to unwrap interferometric phases ...') print('Number of processor: %s' % str(templateDict['unwrap_all_parallel'])) call_str = 'unwrap_gamma_all.py ' + projectName + ' --parallel ' + templateDict['unwrap_all_parallel'] os.system(call_str) ### geocode ifg if templateDict['geocode_all'] == '1': print('Start to geocode Ifgs ...') print('Number of processor: %s' % str(templateDict['geocode_all_parallel'])) call_str = 'geocode_gamma_all.py ' + projectName + ' --parallel ' + templateDict['geocode_all_parallel'] os.system(call_str) ### load data if templateDict['load_data'] == '1': print('Start to load data for mintPy time-series analysis ...') call_str = 'load_mintpy.py ' + projectName os.system(call_str) print("PyINT processing for project %s is done." % projectName) ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName Sdate = inps.sdate scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" if not os.path.isdir(rslcDir): os.mkdir(rslcDir) #workDir = processDir + '/' + igramDir workDir = rslcDir + '/' + Sdate if not os.path.isdir(workDir): os.mkdir(workDir) templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] Mdate = templateDict['masterDate'] demDir = scratchDir + '/' + projectName + '/DEM' SslcDir = slcDir + '/' + Sdate Samp = slcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar = slcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Sramp = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SrampPar = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Sslc = slcDir + '/' + Sdate + '/' + Sdate + '.slc' SslcPar = slcDir + '/' + Sdate + '/' + Sdate + '.slc.par' SrslcDir = rslcDir + "/" + Sdate Srslc = rslcDir + "/" + Sdate + ".rslc" SrslcPar = rslcDir + "/" + Sdate + ".rslc.par" Srslc0 = rslcDir + "/" + Sdate + ".rslc0" SrslcPar0 = rslcDir + "/" + Sdate + ".rslc0.par" ##################################################### ## copy all of the master files into slave folder for parallel processing remove_file = [] Mslc0 = slcDir + '/' + Mdate + '/' + Mdate + '.slc' MslcPar0 = slcDir + '/' + Mdate + '/' + Mdate + '.slc.par' Mamp0 = slcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar0 = slcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' HGTSIM0 = demDir + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' if not os.path.isfile(HGTSIM0): call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) Mslc = slcDir + '/' + Sdate + '/' + Mdate + '.slc' MslcPar = slcDir + '/' + Sdate + '/' + Mdate + '.slc.par' Mamp = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' HGTSIM = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' ut.copy_file(HGTSIM0, HGTSIM) ut.copy_file(Mslc0, Mslc) ut.copy_file(MslcPar0, MslcPar) ut.copy_file(Mamp0, Mamp) ut.copy_file(MampPar0, MampPar) ####################################################### # define process files # lt0 = workDir + "/lt0" lt1 = workDir + "/lt1" mli0 = workDir + "/mli0" diff0 = workDir + "/diff0" offs0 = workDir + "/offs0" snr0 = workDir + "/snr0" offsets0 = workDir + "/offsets0" coffs0 = workDir + "/coffs0" coffsets0 = workDir + "/coffsets0" off = workDir + "/" + IFGPair + ".off" offs = workDir + "/offs" snr = workDir + "/snr" offsets = workDir + "/offsets" coffs = workDir + "/coffs" coffsets = workDir + "/coffsets" ############################################## call_str = "rdc_trans " + MampPar + " " + HGTSIM + " " + SampPar + " " + lt0 os.system(call_str) width_Mamp = ut.read_gamma_par(MampPar, 'read', 'range_samples') width_Samp = ut.read_gamma_par(SampPar, 'read', 'range_samples') line_Samp = ut.read_gamma_par(SampPar, 'read', 'azimuth_lines') call_str = "geocode " + lt0 + " " + MamprlksImg + " " + width_Mamp + " " + mli0 + " " + width_Samp + " " + line_Samp + " 2 0" os.system(call_str) call_str = "create_diff_par " + SampPar + " - " + diff0 + " 1 0" os.system(call_str) call_str = "init_offsetm " + mli0 + " " + Samp + " " + diff0 + " 1 1" os.system(call_str) call_str = "offset_pwrm " + mli0 + " " + Samp + " " + diff0 + " " + offs0 + " " + snr0 + " 256 256 " + offsets0 + " 2 32 32" os.system(call_str) call_str = "offset_fitm " + offs0 + " " + snr0 + " " + diff0 + " " + coffs0 + " " + coffsets0 + " - 4" os.system(call_str) call_str = "gc_map_fine " + lt0 + " " + width_Mamp + " " + diff0 + " " + lt1 os.system(call_str) call_str = "SLC_interp_lt " + Sslc + " " + MslcPar + " " + SslcPar + " " + lt1 + " " + MampPar + " " + SampPar + " - " + Srslc0 + " " + Srslc0Par os.system(call_str) # further refinement processing for resampled SLC call_str = "create_offset " + MslcPar + " " + Srslc0Par + " " + off + " 1 - - 0" os.system(call_str) #call_str = "offset_pwr " + MslcImg + " " + Srslc0Img + " " + MslcPar + " " + Srslc0Par + " " + off + " " + offs + " " + snr + " 128 128 " + offsets + " 2 32 64" #os.system(call_str) #call_str = "offset_fit " + offs + " " + snr + " " + off + " " + coffs + " " + coffsets + " - 3" #os.system(call_str) call_str = "offset_pwr " + Mslc + " " + Srslc0 + " " + MslcPar + " " + Srslc0Par + " " + off + " " + offs + " " + snr + " " + templateDict[ 'rwin4cor'] + " " + templateDict[ 'azwin4cor'] + " " + offsets + " 2 " + templateDict[ 'rsample4cor'] + " " + templateDict['azsample4cor'] os.system(call_str) call_str = "offset_fit " + offs + " " + snr + " " + off + " " + coffs + " " + coffsets + " - 3" os.system(call_str) rfwin4cor = str(int(1 / 2 * int(templateDict['rwin4cor']))) azfwin4cor = str(int(1 / 2 * int(templateDict['azwin4cor']))) rfsample4cor = str(2 * int(templateDict['rsample4cor'])) azfsample4cor = str(2 * int(templateDict['azsample4cor'])) call_str = "offset_pwr " + MslcImg + " " + Srslc0 + " " + MslcPar + " " + Srslc0Par + " " + off + " " + offs + " " + snr + " " + rfwin4cor + " " + azfwin4cor + " " + offsets + " 2 " + rfsample4cor + " " + azfsample4cor os.system(call_str) call_str = "offset_fit " + offs + " " + snr + " " + off + " " + coffs + " " + coffsets + " - 3 >" + OFFSTD os.system(call_str) ############################################ Resampling ############################################ call_str = "SLC_interp_lt " + Sslc + " " + MslcPar + " " + SslcPar + " " + lt1 + " " + MampPar + " " + SampPar + " " + off + " " + Srslc + " " + SrslcPar os.system(call_str) call_str = 'multi_look ' + Srslc + ' ' + SrslcPar + ' ' + Sramp + ' ' + SrampPar + ' ' + rlks + ' ' + azlks os.system(call_str) nWidth = ut.read_gamma_par(SrampPar, 'read', 'range_samples') call_str = 'raspwr ' + Sramp + ' ' + nWidth os.system(call_str) os.remove(lt0) os.remove(lt1) os.remove(mli0) os.remove(diff0) os.remove(offs0) os.remove(snr0) os.remove(offsets0) os.remove(coffs0) os.remove(coffsets0) os.remove(off) os.remove(offs) os.remove(snr) os.remove(offsets) os.remove(coffs) os.remove(coffsets) os.remove(Srslc0) os.remove(Srslc0Par) os.remove(Mslc) os.remove(Mamp) os.remove(HGTSIM) print("Coregistration with DEM is done!") sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() Mdate = inps.Mdate Sdate = inps.Sdate projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) track = templateDict['track'] frame = templateDict['frame'] rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] projectDir = scratchDir + '/' + projectName downDir = scratchDir + '/' + projectName + '/DOWNLOAD' slcDir = scratchDir + '/' + projectName + '/SLC' rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] demDir = scratchDir + '/' + projectName + '/DEM' ######### download data ############ print('Start to download data ...') if not os.path.isdir(projectDir): os.mkdir(projectDir) if not os.path.isdir(downDir): os.mkdir(downDir) os.chdir(downDir) call_str = 'ssara_federated_query.py -p Sentinel-1A,Sentinel-1B -r ' + track + ' -f ' + frame + ' --date ' + Mdate + ',' + Sdate + ' --print --download --parallel 10' print(call_str) os.system(call_str) ######### down 2 slc ############# #M_raw = glob.glob(downDir + '/S1*_' + ut.yyyymmdd(Mdate)+'*')[0] #S_raw = glob.glob(downDir + '/S1*_' + ut.yyyymmdd(Sdate)+'*')[0] call_str = 'down2slc_sen.py ' + projectName + ' ' + Mdate os.system(call_str) call_str = 'down2slc_sen.py ' + projectName + ' ' + Sdate os.system(call_str) ########## extract common bursts ## #call_str = 'extract_s1_bursts.py ' + projectName + ' ' + Mdate #os.system(call_str) #call_str = 'extract_s1_bursts.py ' + projectName + ' ' + Sdate #os.system(call_str) ######### generate rdc_dem ########## Masterdate = templateDict['masterDate'] HGTSIM = demDir + '/' + Masterdate + '_' + rlks + 'rlks.rdc.dem' if not os.path.isfile(HGTSIM): call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) #call_str = 'generate_rdc_dem.py ' + projectName #os.system(call_str) ########## coregister SLC ######## call_str = 'coreg_s1_gamma.py ' + projectName + ' ' + Mdate os.system(call_str) call_str = 'coreg_s1_gamma.py ' + projectName + ' ' + Sdate os.system(call_str) ######## Interferometry process ########### call_str = 'diff_gamma.py ' + projectName + ' ' + Mdate + ' ' + Sdate os.system(call_str) call_str = 'unwrap_gamma.py ' + projectName + ' ' + Mdate + ' ' + Sdate os.system(call_str) call_str = 'geocode_gamma.py ' + projectName + ' ' + Mdate + '-' + Sdate os.system(call_str) print("Generate Ifg from raw-TOPs data is done! ") ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName Sdate = inps.sdate scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" if not os.path.isdir(rslcDir): os.mkdir(rslcDir) #workDir = processDir + '/' + igramDir workDir = rslcDir + '/' + Sdate if not os.path.isdir(workDir): os.mkdir(workDir) templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] Mdate = templateDict['masterDate'] demDir = scratchDir + '/' + projectName + '/DEM' # Definition of file MslcDir = slcDir + '/' + Mdate SslcDir = slcDir + '/' + Sdate Samp = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Sampbmp = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.bmp' Mslc = slcDir + '/' + Mdate + '/' + Mdate + '.slc' Mslcpar = slcDir + '/' + Mdate + '/' + Mdate + '.slc.par' Mamp = slcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar = slcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Mampbmp = slcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.bmp' SLC1_INF_tab0 = MslcDir + '/' + Mdate + '_SLC_Tab' SLC2_INF_tab = SslcDir + '/' + Sdate + '_SLC_Tab' RSLC_tab = SslcDir + '/' + Sdate + '_RSLC_Tab' SLC1_INF_tab = SslcDir + '/' + Mdate + '_SLC_Tab_coreg' HGTSIM = demDir + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' if not os.path.isfile(HGTSIM): call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) ############## copy master files into slave folder for parallel process ########### #if not templateDict['coreg_all_parallel'] == '1': # Mslc = slcDir + '/' + Sdate + '/' + Mdate + '.slc' # Mslcpar = slcDir + '/' + Sdate + '/' + Mdate + '.slc.par' # Mamp = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp' # MampPar = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' # HGTSIM = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' #else: # Mslc = Mslc0 # Mslcpar = Mslcpar0 # Mamp = Mamp0 # MampPar = MampPar0 # HGTSIM = HGTSIM0 #Mslc = slcDir + '/' + Sdate + '/' + Mdate + '.slc' #Mslcpar = slcDir + '/' + Sdate + '/' + Mdate + '.slc.par' #Mamp = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp' #MampPar = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' #HGTSIM = slcDir + '/' + Sdate + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' SLC1_INF_tab1 = SslcDir + '/' + Mdate + '_SLC_Tab' ut.copy_file(SLC1_INF_tab0, SLC1_INF_tab1) ############################################################################## with open(SLC1_INF_tab1, "r") as f: lines = f.readlines() with open(SLC1_INF_tab, "w") as fw: lines_coreg = [] for k0 in lines: k00 = k0.replace(MslcDir, SslcDir) lines_coreg.append(k00) fw.write(k00) S_IW = ut.read_txt2array(SLC1_INF_tab1) S_IW = S_IW.flatten() #M_IW = ut.read_txt2array(SLC1_INF_tab1) #M_IW = M_IW.flatten() #S_IW = ut.read_txt2array(SLC1_INF_tab) #S_IW = S_IW.flatten() #RSLC_tab = workDir + '/' + Sdate + '_RSLC_tab' #if os.path.isfile(RSLC_tab): # os.remove(RSLC_tab) #BURST = SslcDir + '/' + Sdate + '_Burst_Tab' #AA = np.loadtxt(BURST) #if EW==SW: # AA = AA.reshape([1,2]) # #for kk in range(int(EW)-int(SW)+1): # ii = int(int(kk) + 1) # SB2=AA[ii-1,0] # EB2=AA[ii-1,1] # call_str = 'echo ' + workDir + '/'+ Sdate+ '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+str(int(SW)+kk)+ '.rslc' + ' ' + workDir + '/' + Sdate + '_'+ str(int(SB2)) + str(int(EB2)) +'.IW'+ str(int(SW)+kk)+ '.rslc.par' + ' ' + workDir + '/'+ Sdate+'_'+ str(int(SB2)) + str(int(EB2)) + '.IW'+str(int(SW)+kk)+ '.rslc.TOPS_par >>' + RSLC_tab # os.system(call_str) os.chdir(workDir) #TEST = workDir + '/' + Sdate +'_' + rlks + 'rlks.amp.par' TEST = workDir + '/' + Sdate + '.rslc.par' k0 = 0 if os.path.isfile(TEST): if os.path.getsize(TEST) > 0: k0 = 1 if k0 == 0: if not Mdate == Sdate: call_str = 'S1_coreg_TOPS ' + SLC1_INF_tab1 + ' ' + Mdate + ' ' + SLC2_INF_tab + ' ' + Sdate + ' ' + RSLC_tab + ' ' + HGTSIM + ' ' + rlks + ' ' + azlks + ' - - 0.6 0.01 1.2 1' os.system(call_str) #### clean large file #### mslc = workDir + '/' + Mdate + '.slc' mrslc = workDir + '/' + Mdate + '.rslc' sslc = workDir + '/' + Sdate + '.slc' srslc = workDir + '/' + Sdate + '.rslc' srslcPar = workDir + '/' + Sdate + '.rslc.par' call_str = 'multi_look ' + srslc + ' ' + srslcPar + ' ' + Samp + ' ' + SampPar + ' ' + rlks + ' ' + azlks os.system(call_str) nWIDTH = ut.read_gamma_par(SampPar, 'read', 'range_samples') if os.path.isfile(mslc): os.remove(mslc) if os.path.isfile(mrslc): os.remove(mrslc) if os.path.isfile(sslc): os.remove(sslc) call_str = 'raspwr ' + Samp + ' ' + nWIDTH os.system(call_str) #call_str = 'rm *mli*' #os.system(call_str) #call_str = 'rm *IW*' #os.system(call_str) #call_str = 'rm *off*' #os.system(call_str) #call_str = 'rm *diff' #os.system(call_str) #call_str = 'rm *diff_par*' #os.system(call_str) #call_str = 'rm ' + Mdate + '.*' #os.system(call_str) else: call_str = 'cp ' + Mslc + ' ' + workDir + '/' + Mdate + '.rslc' os.system(call_str) call_str = 'cp ' + Mslcpar + ' ' + workDir + '/' + Mdate + '.rslc.par' os.system(call_str) call_str = 'cp ' + Mamp + ' ' + workDir + '/' + Mdate + '_' + rlks + 'rlks.amp' os.system(call_str) call_str = 'cp ' + MampPar + ' ' + workDir + '/' + Mdate + '_' + rlks + 'rlks.amp.par' os.system(call_str) ut.copy_file(Mampbmp, Sampbmp) ################ clean redundant files ############# #if not Mdate ==Sdate: # if not templateDict['diff_all_parallel'] == '1': # for i in range(len(S_IW)): # if os.path.isfile(S_IW[i]): # os.remove(S_IW[i]) # if os.path.isfile(Mslc): os.remove(Mslc) # if os.path.isfile(Mslcpar): os.remove(Mslcpar) # if os.path.isfile(Mamp): os.remove(Mamp) # if os.path.isfile(HGTSIM): os.remove(HGTSIM) print("Coregister TOP SLC image to the reference TOPS image is done !!") sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName date = inps.date scratchDir = os.getenv('SCRATCHDIR') projectDir = scratchDir + '/' + projectName templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) slc_dir = projectDir + '/SLC' rslc_dir = projectDir + '/RSLC' down_dir = projectDir + '/DOWNLOAD' opod_dir = projectDir + '/OPOD' if not os.path.isdir(slc_dir): os.mkdir(slc_dir) if not os.path.isdir(opod_dir): os.mkdir(opod_dir) work_dir = slc_dir + '/' + date if not os.path.isdir(work_dir): os.mkdir(work_dir) os.chdir(work_dir) master_burst_numb = down_dir + '/master.burst_numb_table' if not os.path.isfile(master_burst_numb): call_str = 'get_master_burst_numb.py ' + projectDir os.system(call_str) t_date = 't_' + date call_str = 'ls ' + down_dir + '/S1*' + date + '*.zip > ' + t_date os.system(call_str) start_swath = templateDict['start_swath'] end_swath = templateDict['end_swath'] if (start_swath == '1') and (end_swath == '1'): k_swath = '1' elif (start_swath == '2') and (end_swath == '2'): k_swath = '2' elif (start_swath == '3') and (end_swath == '3'): k_swath = '3' elif (start_swath == '1') and (end_swath == '2'): k_swath = '4' elif (start_swath == '2') and (end_swath == '3'): k_swath = '5' elif (start_swath == '1') and (end_swath == '3'): k_swath = '0' raw_files = ut.read_txt2list(t_date) satellite = get_satellite(raw_files[0]) orbit_file = ut.download_s1_orbit(date,opod_dir,satellite=satellite) call_str = 'S1_import_SLC_from_zipfiles ' + t_date + ' ' + master_burst_numb + ' vv 0 ' + k_swath + ' ' + opod_dir + ' 1 1 ' os.system(call_str) os.chdir(work_dir) call_str = "rename 's/vv.slc.iw1/IW1.slc/g' *" os.system(call_str) call_str = "rename 's/vv.slc.iw2/IW2.slc/g' *" os.system(call_str) call_str = "rename 's/vv.slc.iw3/IW3.slc/g' *" os.system(call_str) call_str = "rename 's/.tops_par/.TOPS_par/g' *" os.system(call_str) SLC_Tab = work_dir + '/' + date+'_SLC_Tab' RSLC_Tab = work_dir + '/' + date+'_RSLC_Tab' SLC_list = glob.glob(work_dir + '/*IW*.slc') SLC_par_list = glob.glob(work_dir + '/*IW*.slc.par') TOP_par_list = glob.glob(work_dir + '/*IW*.slc.TOPS_par') if os.path.isfile(SLC_Tab): os.remove(SLC_Tab) if os.path.isfile(RSLC_Tab): os.remove(RSLC_Tab) SLC_list = sorted(SLC_list) SLC_par_list = sorted(SLC_par_list) TOP_par_list = sorted(TOP_par_list) for kk in range(len(SLC_list)): call_str = 'echo ' + SLC_list[kk] + ' ' + SLC_par_list[kk] + ' ' + TOP_par_list[kk] + ' >> ' + SLC_Tab os.system(call_str) call_str = 'echo ' + rslc_dir + '/' + date + '/' + os.path.basename(SLC_list[kk]).replace('.slc','.rslc') + ' ' + rslc_dir + '/' + date + '/'+ os.path.basename(SLC_par_list[kk]).replace('.slc','.rslc') + ' ' + rslc_dir + '/' + date + '/' + os.path.basename(TOP_par_list[kk]).replace('.slc','.rslc') + ' >> ' + RSLC_Tab os.system(call_str) BURST = SLC_par_list[kk].replace('slc.par','burst.par') KML = SLC_par_list[kk].replace('slc.par','kml') call_str = 'ScanSAR_burst_corners ' + SLC_par_list[kk] + ' ' + TOP_par_list[kk] + ' ' + KML + ' > ' +BURST os.system(call_str) print("Down to SLC for %s is done! " % date) sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() Mdate = inps.Mdate Sdate = inps.Sdate projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] projectDir = scratchDir + '/' + projectName demDir = scratchDir + '/' + projectName + '/DEM' slcDir = scratchDir + '/' + projectName + '/SLC' rslcDir = scratchDir + '/' + projectName + '/RSLC' ifgDir = projectDir + '/ifgrams' if not os.path.isdir(ifgDir): os.mkdir(ifgDir) Pair = Mdate + '-' + Sdate workDir = ifgDir + '/' + Pair if not os.path.isdir(workDir): os.mkdir(workDir) ####################################################################### Mamp0 = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar0 = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Samp0 = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar0 = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Mrslc = rslcDir + '/' + Mdate + '/' + Mdate + '.rslc' MrslcPar = rslcDir + '/' + Mdate + '/' + Mdate + '.rslc.par' Srslc = rslcDir + '/' + Sdate + '/' + Sdate + '.rslc' SrslcPar = rslcDir + '/' + Sdate + '/' + Sdate + '.rslc.par' HGT0 = demDir + '/' + masterDate + '_' + rlks + 'rlks.rdc.dem' MasterPar0 = rslcDir + '/' + masterDate + '/' + masterDate + '.rslc.par' ################# copy file for parallel processing ########################## Mamp = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Samp = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp.par' #Mrslc = workDir + '/' + Mdate + '.rslc' #MrslcPar = workDir + '/' + Mdate + '.rslc.par' #Srslc = workDir + '/' + Sdate + '.rslc' #SrslcPar = workDir + '/' + Sdate + '.rslc.par' HGT = workDir + '/' + masterDate + '_' + rlks + 'rlks.rdc.dem' MasterPar = workDir + '/' + masterDate + '.rslc.par' if not os.path.isfile(Mamp): ut.copy_file(Mamp0, Mamp) if not os.path.isfile(MampPar): ut.copy_file(MampPar0, MampPar) if not os.path.isfile(Samp): ut.copy_file(Samp0, Samp) if not os.path.isfile(SampPar): ut.copy_file(SampPar0, SampPar) #if not os.path.isfile(Mrslc): ut.copy_file(Mrslc0,Mrslc) #if not os.path.isfile(MrslcPar): ut.copy_file(MrslcPar0,MrslcPar) #if not os.path.isfile(Srslc):ut.copy_file(Srslc0,Srslc) #if not os.path.isfile(SrslcPar):ut.copy_file(SrslcPar0,SrslcPar) if not os.path.isfile(HGT): ut.copy_file(HGT0, HGT) if not os.path.isfile(MasterPar): ut.copy_file(MasterPar0, MasterPar) nWidth = ut.read_gamma_par(MampPar, 'read', 'range_samples') nLine = ut.read_gamma_par(MampPar, 'read', 'azimuth_lines') ###################### Output files ################################# ionoDir = workDir + '/ionosphere' if not os.path.isdir(ionoDir): os.mkdir(ionoDir) workDir = ionoDir Mrslc_low = ionoDir + '/' + Mdate + '.low.rslc' MrslcPar_low = ionoDir + '/' + Mdate + '.low.rslc.par' Mrslc_high = ionoDir + '/' + Mdate + '.high.rslc' MrslcPar_high = ionoDir + '/' + Mdate + '.high.rslc.par' Srslc_low = ionoDir + '/' + Sdate + '.low.rslc' SrslcPar_low = ionoDir + '/' + Sdate + '.low.rslc.par' Srslc_high = ionoDir + '/' + Sdate + '.high.rslc' SrslcPar_high = ionoDir + '/' + Sdate + '.high.rslc.par' ######################################################### TEST0 = MrslcPar_high k0 = 0 if os.path.isfile(TEST0): if os.path.getsize(TEST0) > 0: k0 = 1 TEST1 = SrslcPar_high k1 = 0 if os.path.isfile(TEST1): if os.path.getsize(TEST1) > 0: k1 = 1 if k0 == 0: call_str = 'bpf_ssi ' + Mrslc + ' ' + MrslcPar + ' ' + Mrslc_low + ' ' + MrslcPar_low + ' ' + Mrslc_high + ' ' + MrslcPar_high os.system(call_str) if k1 == 0: call_str = 'bpf_ssi ' + Srslc + ' ' + SrslcPar + ' ' + Srslc_low + ' ' + SrslcPar_low + ' ' + Srslc_high + ' ' + SrslcPar_high os.system(call_str) ################## interferometry ##################### off_low = workDir + '/' + Pair + '_' + rlks + 'rlks.low.off' call_str = 'create_offset ' + MrslcPar_low + ' ' + SrslcPar_low + ' ' + off_low + ' 1 ' + rlks + ' ' + azlks + ' 0' os.system(call_str) sim_low_unw = workDir + '/' + Pair + '.low.sim_unw' call_str = 'phase_sim_orb ' + MrslcPar_low + ' ' + SrslcPar_low + ' ' + off_low + ' ' + HGT + ' ' + sim_low_unw + ' ' + MasterPar + ' - - 1 1' os.system(call_str) diff_low = workDir + '/' + Pair + '_' + rlks + 'rlks.low.diff' call_str = 'SLC_diff_intf ' + Mrslc_low + ' ' + Srslc_low + ' ' + MrslcPar_low + ' ' + SrslcPar_low + ' ' + off_low + ' ' + sim_low_unw + ' ' + diff_low + ' ' + rlks + ' ' + azlks + ' ' + ' 1 0 0.25' os.system(call_str) off_low = workDir + '/' + Pair + '_' + rlks + 'rlks.high.off' call_str = 'create_offset ' + MrslcPar_high + ' ' + SrslcPar_high + ' ' + off_high + ' 1 ' + rlks + ' ' + azlks + ' 0' os.system(call_str) sim_high_unw = workDir + '/' + Pair + '.high.sim_unw' call_str = 'phase_sim_orb ' + MrslcPar_high + ' ' + SrslcPar_high + ' ' + off_high + ' ' + HGT + ' ' + sim_high_unw + ' ' + MasterPar + ' - - 1 1' os.system(call_str) diff_high = workDir + '/' + Pair + '_' + rlks + 'rlks.high.diff' call_str = 'SLC_diff_intf ' + Mrslc_high + ' ' + Srslc_high + ' ' + MrslcPar_high + ' ' + SrslcPar_high + ' ' + off_high + ' ' + sim_high_unw + ' ' + diff_high + ' ' + rlks + ' ' + azlks + ' ' + ' 1 0 0.25' os.system(call_str) ###################################################### hl_diff = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff' hl_diff_cc = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff.cc' hl_diff_mask = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff.cc_mask.bmp' hl_diff1 = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff1' hl_diff2 = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff2' hl_diff3 = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff3' hl_diff4 = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff4' hl_diff4_phase = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff4_phase' hl_diff_jpg = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff.jpg' diff_low_phase = workDir + '/' + Pair + '_' + rlks + 'rlks.low.diff_phase' call_str = 'cpx_to_real ' + diff_low_phase + ' ' + nWidth + ' 4' os.system(call_str) call_str = 'subtract_phase ' + diff_high + ' ' + diff_low_phase + ' ' + hl_diff + ' ' + nWidth + ' 1' os.system(call_str) call_str = 'rasmph_pwr ' + Mamp + ' ' + hl_diff + ' ' + nWidth #call_str = 'vismph_pwr.py ' + hl_diff + ' ' + Mamp + ' ' + nWidth + ' -f 1.0 ' + ' -z 1000 ' + ' -p ' + hl_diff_jpg os.system(call_str) #### filter call_str = 'adf ' + hl_diff + ' ' + hl_diff1 + ' ' + hl_diff_cc + ' ' + nWidth + ' 0.2 512 7 128' os.system(call_str) call_str = 'adf ' + hl_diff1 + ' ' + hl_diff2 + ' ' + hl_diff_cc + ' ' + nWidth + ' 0.3 256 7 64' os.system(call_str) call_str = 'adf ' + hl_diff2 + ' ' + hl_diff3 + ' ' + hl_diff_cc + ' ' + nWidth + ' 0.3 128 7 64' os.system(call_str) call_str = 'adf ' + hl_diff3 + ' ' + hl_diff4 + ' ' + hl_diff_cc + ' ' + nWidth + ' 0.3 128 7 16' os.system(call_str) # unwrawp call_str = 'cpx_to_real ' + hl_diff4 + ' ' + hl_diff4_phase + ' ' + nWidth + ' 4' os.system(call_str) # shift to zero # mask very low coherence call_str = 'cc_ad ' + hl_diff + ' ' + Mamp + ' ' + Samp + ' - - ' + hl_diff_cc + ' ' + nWidth + ' 3 9' os.system(call_str) call_str = 'rascc_mask ' + hl_diff_cc + ' ' + Mamp + ' ' + nWidth + ' 1 1 0 1 1 0.15 0.0 0.1 0.9 1.0 0.35 1 ' + hl_diff_mask os.system(call_str) nWidth_half = str(float(nWidth) / 2) image_report = workDir + '/' + Pair + '.image_stat.report' call_str = 'image_stat ' + hl_diff4_phase + ' ' + nWidth + ' ' + nWidth_half + ' 200 200 ' + image_report os.system(call_str) mean_phase = ut.read_gamma_par(image_report, 'read', 'mean') std_phase = ut.read_gamma_par(image_report, 'read', 'stdev') hl_diff_phase_shift = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff.ph_shift' hl_diff_shifted = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff4.shifted' hl_diff_shifted_phase = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff4.shifted.phase' call_str = 'lin_comb 1 ' + hl_diff4_phase + ' ' + mean_phase + ' 0.0 ' + hl_diff_phase_shift + ' ' + nWidth + ' 1 ' + nLine os.system(call_str) call_str = 'subtract_phase ' + hl_diff4_phase + ' ' + hl_diff_phase_shift + ' ' + hl_diff_shifted + ' ' + nWidth + ' 1' os.system(call_str) call_str = 'cpx_to_real ' + hl_diff_shifted + ' ' + hl_diff_shifted_phase + ' ' + nWidth + ' 4' os.system(call_str) call_str = 'lin_comb 1 ' + hl_diff_shifted_phase + ' ' + mean_phase + ' 1.0 ' + hl_diff4_phase + ' ' + nWidth + ' 1 ' + nLine os.system(call_str) ############# determine trend considering cc_mask using unwrapping with multi_cpx before unwrapping ### diff_par = workDir + '/' + Pair + 'ddiff.par' call_str = 'create_diff_par ' + MampPar + ' - ' + diff_par + ' 1 0' os.system(call_str) ddiff_phase_trend = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff4_phase.trend' call_str = 'quad_fit ' + hl_diff4_phase + ' ' + diff_par + ' 5 5 ' + hl_diff_mask + ' - 3 ' + ddiff_phase_trend os.system(call_str) #call_str = 'vistd_pwr.py ' + ddiff_phase_trend + ' ' + Mamp + ' ' + nWidth + ' -c 12.6 -z 1000 -f 1.0 -m rmg -p ' + ddiff_phase_trend + '.jpg' #os.system(call_str) hl_diff_detrend = hl_diff + '.detrend' call_str = 'subtract_phase ' + hl_diff + ' ' + ddiff_phase_trend + ' ' + hl_diff_detrend + ' ' + nWidth + ' 1.' os.system(call_str) #call_str = 'vismph_pwr.py ' + hl_diff_detrend + ' ' + Mamp + ' ' + nWidth + ' -f 1.0 -z 1000 -p ' + hl_diff_detrend+'.jpg' #os.system(call_str) call_str = 'adf ' + hl_diff_detrend + ' ' + hl_diff1 + ' ' + hl_diff + '.smcc' + ' ' + nWidth + ' 0.2 512 7 128' os.system(call_str) call_str = 'adf ' + hl_diff1 + ' ' + hl_diff2 + ' ' + hl_diff + '.smcc' + ' ' + nWidth + ' 0.3 256 7 64' os.system(call_str) call_str = 'adf ' + hl_diff2 + ' ' + hl_diff3 + ' ' + hl_diff + '.smcc' + ' ' + nWidth + ' 0.3 128 7 64' os.system(call_str) hl_diff4_detrend = hl_diff4 + '.detrend' hl_diff_cc = hl_diff + '.sm4.cc' call_str = 'adf ' + hl_diff3 + ' ' + hl_diff4_detrend + ' ' + hl_diff_cc + ' ' + nWidth + ' 0.3 128 7 16' os.system(call_str) off1 = workDir + '/' + Pair + '.off1' call_str = 'create_offset ' + MampPar + ' ' + MampPar + ' ' + off1 + ' 1 1 1 0' os.system(call_str) hl_diff4_mask = hl_diff + '.sm4.cc_mask.bmp' call_str = 'rascc_mask ' + hl_diff_cc + ' ' + Mamp + ' ' + nWidth + ' 1 1 0 1 1 0.95 0.0 0.1 0.1 0.9 1.0 0.35 1 ' + hl_diff4_mask os.system(call_str) call_str = 'mask_class ' + hl_diff_mask + ' ' + hl_diff4_detrend + ' ' + hl_diff4_detrend + '.masked.tmp ' + ' 1 1 1 1 0 0.0 0.0' os.system(call_str) call_str = 'mask_class ' + hl_diff4_mask + ' ' + hl_diff4_detrend + '.masked.tmp ' + ' ' + hl_diff4_detrend + '.masked' + + ' 1 1 1 1 0 0.0 0.0' os.system(call_str) ddiff5 = workDir + '/' + Pair + '_' + rlks + 'rlks.hl.diff5' off5 = workDir + '/' + Pair + '.off5' call_str = 'multi_cpx ' + hl_diff4_detrend + '.masked' + ' ' + off1 + ddiff5 + ' ' + off5 + ' 5 5' os.system(call_str) call_str = 'multi_real ' + Mamp + ' ' + off1 + ' ' + Mamp + '.5' + off5 + ' 5 5' os.system(call_str) call_str = 'multi_real ' + hl_diff_cc + ' ' + off1 + ' ' + hl_diff_cc + '.5' + off5 + ' 5 5' os.system(call_str) nWidth5 = ut.read_gamma_par(off5, 'read', 'interferogram_width') ddiff5_phase_tmp = ddiff5 + '.phase.tmp' ddiff5_phase_interp = ddiff5 + '.phase.interp' call_str = 'cpx_to_real ' + ddiff5 + ' ' + ddiff5_phase_tmp + ' ' + nWidth5 + ' 4' os.system(call_str) call_str = 'fill_gaps ' + ddiff5_phase_tmp + ' ' + nWidth5 + ' ' + ddiff5_phase_interp + ' 0 4 - 1 100 4 400' os.system(call_str) #### remove outliers ddiff5_fspf = ddiff5_phase_interp + '.fspf' call_str = 'fspf ' + ddiff5_phase_interp + ' ' + ddiff5_fspf + ' ' + nWidth5 + ' 2 64 3' os.system(call_str) ddiff5_phase_interp_outliers = ddiff5_phase_interp + '.outliers' call_str = 'lin_comb 2 ' + ddiff5_phase_interp + ' ' + ddiff5_fspf + ' 100 1.0 -1.0 ' + ddiff5_phase_interp_outliers + ' ' + nWidth5 os.system(call_str) hl_diff_cc5 = hl_diff_cc + '.5' hl_diff5_mask = ddiff5 + '.mask.bmp' call_str = 'single_class_mapping 2 ' + ddiff5_phase_interp_outliers + ' 99.95 100.05 ' + hl_diff_cc5 + ' 0.15 1.0 ' + hl_diff5_mask + ' ' + nWidth5 os.system(call_str) ddiff5_phase_tmp1 = ddiff5_phase_tmp + '1' call_str = 'mask_class ' + hl_diff5_mask + ' ' + ddiff5_phase_tmp + ' ' + ddiff5_phase_tmp1 + ' 0 1 1 1 0 0.0 0.0' os.system(call_str) call_str = 'fill_gaps ' + ddiff5_phase_tmp1 + ' ' + ddiff5_phase_interp + ' 0 4 - 1 100 4 400' os.system(call_str) ddiff_detrend_interp_phase = hl_diff + '.detrend' + '.interp.phase' call_str = 'multi_real ' + ddiff5_phase_interp + ' ' + off5 + ' ' + ddiff_detrend_interp_phase + ' ' + off1 + ' -5 -5' os.system(call_str) call_str = 'fspf ' + ddiff_detrend_interp_phase + ' ' + ddiff_detrend_interp_phase + '.fspf' + ' ' + nWidth + ' 2 8 3' os.system(call_str) #call_str = ' visdt_pwr.py ' + ddiff_detrend_interp_phase + '.fspf' + ' ' + Mamp + ' ' + nWidth + ' -c 1.6 -z 1000 -f 1.0 -m rmg -p ' + ddiff_detrend_interp_phase + '.fspf.jpg' #os.system(call_str) ###### add the solutions ddiff_phase_fspf = hl_diff + ' .phase.fspf' call_str = 'lin_comb 2 ' + ddiff_phase_trend + ' ' + ddiff_detrend_interp_phase + '.fspf' + ' 0.0 1.0 1.0 ' + ddiff_phase_fspf + ' ' + nWidth + ' 1 ' + nLine os.system(call_str) #call_str ='visdt_pwr.py ' + ddiff_phase_fspf + ' ' + Mamp + ' ' + nWidth + ' -c 1.6 -z 1000 -f 1.0 -m rmg -p ' + ddiff_phase_fspf + '.jpg' #os.system(call_str) ###################### determin scaling factor using bpf_ssi bpf_ssi_out = workDir + '/bpf_ssi.out' call_str = 'bpf_ssi ' + Mrslc + ' ' + MrslcPar + ' - - - - 0.6666 > ' + bpf_ssi_out os.system(call_str) a0 = ut.read_gamma_par(bpf_ssi_out, 'read', 'a') b0 = ut.read_gamma_par(bpf_ssi_out, 'read', 'b') x0 = ut.read_gamma_par(bpf_ssi_out, 'read', 'x') y0 = ut.read_gamma_par(bpf_ssi_out, 'read', 'y') z0 = ut.read_gamma_par(bpf_ssi_out, 'read', 'z') zz0 = str(float(z0) * 2) ddiff_phase_fspf_scaled = ddiff_phase_fspf + '.scaled' call_str = 'lin_comb 1 ' + ddiff_phase_fspf + ' 0.0 ' + zz0 + ' ' + ddiff_phase_fspf_scaled + ' ' + nWidth os.system(call_str) call_str = 'rasrmg ' + ddiff_phase_fspf_scaled + ' ' + Mamp + ' ' + nWidth #call_str = 'vismph_pwr.py ' + hl_diff + ' ' + Mamp + ' ' + nWidth + ' -f 1.0 ' + ' -z 1000 ' + ' -p ' + hl_diff_jpg os.system(call_str) #call_str ='visdt_pwr.py ' + ddiff_phase_fspf_scaled + ' ' + Mamp + ' ' + nWidth + ' -c 1.6 -z 1000 -f 1.0 -m rmg -p ' + ddiff_phase_fspf_scaled + '.jpg' #os.system(call_str) # 2_phi_iono = phi0 + zz * ddiff_phase_fspf # 2_phi_non-dispersive = phi0 - zz * ddiff_phase_fspf #call_str = ' subtract_phase ' + print("Estimating the scaled ionospheric phases is done!") ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') projectDir = scratchDir + '/' + projectName templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) masterDate = templateDict['masterDate'] date = masterDate slc_dir = projectDir + '/SLC' down_dir = projectDir + '/DOWNLOAD' opod_dir = projectDir + '/OPOD' if not os.path.isdir(slc_dir): os.mkdir(slc_dir) if not os.path.isdir(opod_dir): os.mkdir(opod_dir) work_dir = slc_dir + '/' + date if not os.path.isdir(work_dir): os.mkdir(work_dir) work_dir = down_dir os.chdir(work_dir) t_date = down_dir + '/t_' + date t_burst_numb = down_dir + '/t_burst_numb_' + date call_str = 'ls ' + down_dir + '/S1*' + date + '*.zip > ' + t_date os.system(call_str) zip_files = ut.read_txt2list(t_date) print(zip_files) for i in range(len(zip_files)): call_str = 'S1_BURST_tab_from_zipfile - ' + zip_files[i] + ' - ' os.system(call_str) call_str = 'ls ' + down_dir + '/S1*' + date + '*.burst_number_table > ' + t_burst_numb os.system(call_str) burst_files = ut.read_txt2list(t_burst_numb) iw1_burst_node = [] iw2_burst_node = [] iw3_burst_node = [] print(burst_files) for i in range(len(burst_files)): print(burst_files[i]) iw1_first = ut.read_gamma_par(str(burst_files[i]),'read','iw1_first_burst') iw1_last = ut.read_gamma_par(str(burst_files[i]),'read','iw1_last_burst') iw1_burst_node.append(float(iw1_first)) iw1_burst_node.append(float(iw1_last)) iw2_first = ut.read_gamma_par(str(burst_files[i]),'read','iw2_first_burst') iw2_last = ut.read_gamma_par(str(burst_files[i]),'read','iw2_last_burst') iw2_burst_node.append(float(iw2_first)) iw2_burst_node.append(float(iw2_last)) iw3_first = ut.read_gamma_par(str(burst_files[i]),'read','iw3_first_burst') iw3_last = ut.read_gamma_par(str(burst_files[i]),'read','iw3_last_burst') iw3_burst_node.append(float(iw3_first)) iw3_burst_node.append(float(iw3_last)) if 'iw1_first_burst' in templateDict: IW1_0 = templateDict['iw1_first_burst'] else: IW1_0 = '1' if 'iw1_last_burst' in templateDict: IW1_1 = templateDict['iw1_last_burst'] else: IW1_1 = str(round(max(iw1_burst_node) - min(iw1_burst_node) + 1)) if 'iw2_first_burst' in templateDict: IW2_0 = templateDict['iw2_first_burst'] else: IW2_0 = '1' if 'iw2_last_burst' in templateDict: IW2_1 = templateDict['iw2_last_burst'] else: IW2_1 = str(round(max(iw2_burst_node) - min(iw2_burst_node) + 1)) if 'iw3_first_burst' in templateDict: IW3_0 = templateDict['iw3_first_burst'] else: IW3_0 = '1' if 'iw3_last_burst' in templateDict: IW3_1 = templateDict['iw3_last_burst'] else: IW3_1 = str(round(max(iw3_burst_node) - min(iw3_burst_node) + 1)) if int(IW1_1) > round(max(iw1_burst_node) - min(iw1_burst_node) + 1): IW1_1 = str(round(max(iw1_burst_node) - min(iw1_burst_node) + 1)) if int(IW2_1) > round(max(iw2_burst_node) - min(iw2_burst_node) + 1): IW2_1 = str(round(max(iw2_burst_node) - min(iw2_burst_node) + 1)) if int(IW3_1) > round(max(iw3_burst_node) - min(iw3_burst_node) + 1): IW3_1 = str(round(max(iw3_burst_node) - min(iw3_burst_node) + 1)) D_IW1_first = int(IW1_0) - 1 DD_IW1_numb = int(IW1_1) - int(IW1_0) + 1 D_IW2_first = int(IW2_0) - 1 DD_IW2_numb = int(IW2_1) - int(IW2_0) + 1 D_IW3_first = int(IW3_0) - 1 DD_IW3_numb = int(IW3_1) - int(IW3_0) + 1 master_busrt = down_dir + '/master.burst_numb_table' if os.path.isfile(master_busrt): os.remove(master_busrt) with open(master_busrt, 'a') as f: STR0 = 'iw1_number_of_bursts: ' + str(DD_IW1_numb) + '\n' STR00 = 'iw1_number_of_bursts: ' + str(DD_IW1_numb) print(STR00) f.write(STR0) STR0 = 'iw1_first_burst: ' + str(min(iw1_burst_node) + D_IW1_first) + '\n' STR00 = 'iw1_first_burst: ' + str(min(iw1_burst_node) + D_IW1_first) print(STR00) f.write(STR0) STR0 = 'iw1_last_burst: ' + str(min(iw1_burst_node) + DD_IW1_numb - 1) + '\n' STR00 = 'iw1_last_burst: ' + str(min(iw1_burst_node) + DD_IW1_numb - 1) print(STR00) f.write(STR0) STR0 = 'iw2_number_of_bursts: ' + str(DD_IW2_numb) + '\n' STR00 = 'iw2_number_of_bursts: ' + str(DD_IW2_numb) print(STR00) f.write(STR0) STR0 = 'iw2_first_burst: ' + str(min(iw2_burst_node) + D_IW1_first) + '\n' STR00 = 'iw2_first_burst: ' + str(min(iw2_burst_node) + D_IW1_first) print(STR00) f.write(STR0) STR0 = 'iw2_last_burst: ' + str(min(iw2_burst_node) + DD_IW2_numb - 1) + '\n' STR00 = 'iw2_last_burst: ' + str(min(iw2_burst_node) + DD_IW2_numb - 1) print(STR00) f.write(STR0) STR0 = 'iw3_number_of_bursts: ' + str(DD_IW3_numb) + '\n' STR00 = 'iw3_number_of_bursts: ' + str(DD_IW3_numb) print(STR00) f.write(STR0) STR0 = 'iw3_first_burst: ' + str(min(iw3_burst_node) + D_IW3_first) + '\n' STR00 = 'iw3_first_burst: ' + str(min(iw3_burst_node) + D_IW3_first) print(STR00) f.write(STR0) STR0 = 'iw3_last_burst: ' + str(min(iw3_burst_node) + DD_IW3_numb - 1) + '\n' STR00 = 'iw3_last_burst: ' + str(min(iw3_burst_node) + DD_IW3_numb - 1) print(STR00) f.write(STR0) print("Get burst number table for master date is done! ") sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) Mdate = templateDict['masterDate'] DEMDir = os.getenv('DEMDIR') processDir = scratchDir + '/' + projectName + "/ifgrams" slcDir = scratchDir + '/' + projectName + "/SLC" rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] if not os.path.isdir(processDir): call_str = 'mkdir ' + processDir os.system(call_str) simDir = scratchDir + '/' + projectName + "/DEM" if not os.path.isdir(simDir): call_str = 'mkdir ' + simDir workDir = simDir if 'DEM' in templateDict: dem = templateDict['DEM'] if not os.path.isfile(dem): dem = DEMDir + '/' + projectName + '/' + projectName + '.dem' call_str = 'echo DEM= ' + dem + ' >> ' + templateFile os.system(call_str) templateDict['DEM'] = dem else: dem = DEMDir + '/' + projectName + '/' + projectName + '.dem' call_str = 'echo DEM = ' + dem + ' >> ' + templateFile os.system(call_str) demPar = dem + ".par" if not os.path.isfile(dem): call_str = 'makedem_pyint.py ' + projectName os.system(call_str) # Parameter setting for simPhase latovrSimphase = templateDict['dem_lat_ovr'] lonovrSimphase = templateDict['dem_lon_ovr'] rposSimphase = templateDict['Simphase_rpos'] azposSimphase = templateDict['Simphase_azpos'] rwinSimphase = templateDict['Simphase_rwin'] azwinSimphase = templateDict['Simphase_azwin'] #rwinSimphase = '128' #azwinSimphase = '128' threshSimphase = templateDict['Simphase_thresh'] # Definition of file MslcDir = slcDir + '/' + Mdate MslcImg = MslcDir + '/' + Mdate + '.slc' MslcPar = MslcDir + '/' + Mdate + '.slc.par' OFFSTD = workDir + '/' + Mdate + '_dem.off_std' BLANK = workDir + '/' + Mdate + '.blk' MamprlksImg = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp' MamprlksPar = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp.par' UTMDEMpar = simDir + '/' + Mdate + '_' + rlks + 'rlks.utm.dem.par' UTMDEM = simDir + '/' + Mdate + '_' + rlks + 'rlks.utm.dem' UTM2RDC = simDir + '/' + Mdate + '_' + rlks + 'rlks.utm_to_rdc0' SIMSARUTM = simDir + '/' + Mdate + '_' + rlks + 'rlks.sim_sar_utm' PIX = simDir + '/' + Mdate + '_' + rlks + 'rlks.pix' LSMAP = simDir + '/' + Mdate + '_' + rlks + 'rlks.ls_map' SIMSARRDC = simDir + '/' + Mdate + '_' + rlks + 'rlks.sim_sar_rdc' SIMDIFFpar = simDir + '/' + Mdate + '_' + rlks + 'rlks.diff_par' SIMOFFS = simDir + '/' + Mdate + '_' + rlks + 'rlks.offs' SIMSNR = simDir + '/' + Mdate + '_' + rlks + 'rlks.snr' SIMOFFSET = simDir + '/' + Mdate + '_' + rlks + 'rlks.offset' SIMCOFF = simDir + '/' + Mdate + '_' + rlks + 'rlks.coff' SIMCOFFSETS = simDir + '/' + Mdate + '_' + rlks + 'rlks.coffsets' UTMTORDC = simDir + '/' + Mdate + '_' + rlks + 'rlks.UTM_TO_RDC' HGTSIM = simDir + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' if not (os.path.isdir(simDir)): os.makedirs(simDir) ut.createBlankFile(BLANK) ### remove DEM look up table if it existed for considering gamma overlapping if os.path.isfile(UTMDEM): os.remove(UTMDEM) if os.path.isfile(UTMDEMpar): os.remove(UTMDEMpar) if os.path.isfile(UTM2RDC): os.remove(UTM2RDC) nWidthUTMDEM0 = ut.read_gamma_par(demPar, 'read', 'width') DateFormat = ut.read_gamma_par(demPar, 'read', 'data_format:') if DateFormat == 'INTEGER*2': DF_type = '4' else: DF_type = '2' #tmp_dem = dem + '_tmp' #if not os.path.isfile(tmp_dem): # #call_str = 'replace_values ' + dem + ' -10000 0 ' + tmp_dem + ' ' + nWidthUTMDEM0 + ' 2 ' + DF_type # call_str = 'replace_values ' + dem + ' -10000 0 ' + tmp_dem + ' ' + nWidthUTMDEM0 + ' 2 ' + DF_type + ' 1 ' # os.system(call_str) # call_str = 'cp ' + tmp_dem + ' ' + dem # os.system(call_str) call_str = "multi_look " + MslcImg + " " + MslcPar + " " + MamprlksImg + " " + MamprlksPar + " " + rlks + " " + azlks os.system(call_str) #call_str = 'gc_map ' + MamprlksPar + ' ' + '-' + ' ' + demPar + ' ' + dem + ' ' + UTMDEMpar + ' ' + UTMDEM + ' ' + UTM2RDC + ' ' + latovrSimphase + ' ' + lonovrSimphase + ' ' + SIMSARUTM + ' - - - - ' + PIX + ' ' + LSMAP + ' - 3 128' #call_str = 'gc_map ' + MamprlksPar + ' ' + '-' + ' ' + demPar + ' ' + dem + ' ' + UTMDEMpar + ' ' + UTMDEM + ' ' + UTM2RDC + ' ' + latovrSimphase + ' ' + lonovrSimphase + ' ' + SIMSARUTM + ' - - - - ' + PIX + ' ' + LSMAP + ' - 3 128' call_str = 'gc_map ' + MamprlksPar + ' ' + '-' + ' ' + demPar + ' ' + dem + ' ' + UTMDEMpar + ' ' + UTMDEM + ' ' + UTM2RDC + ' ' + latovrSimphase + ' ' + lonovrSimphase + ' ' + SIMSARUTM + ' - - - - ' + PIX + ' ' + LSMAP + ' - 1' os.system(call_str) nWidthUTMDEM = ut.read_gamma_par(UTMDEMpar, 'read', 'width') nLinePWR1 = ut.read_gamma_par(MamprlksPar, 'read', 'azimuth_lines') nWidth = ut.read_gamma_par(MamprlksPar, 'read', 'range_samples') call_str = 'geocode ' + UTM2RDC + ' ' + SIMSARUTM + ' ' + nWidthUTMDEM + ' ' + SIMSARRDC + ' ' + nWidth + ' ' + nLinePWR1 + ' 0 0' os.system(call_str) call_str = 'create_diff_par ' + MamprlksPar + ' ' + MamprlksPar + ' ' + SIMDIFFpar + ' 1 < ' + BLANK os.system(call_str) call_str = 'init_offsetm ' + SIMSARRDC + ' ' + MamprlksImg + ' ' + SIMDIFFpar + ' 2 2 ' + rposSimphase + ' ' + azposSimphase #+ ' - - - 512' os.system(call_str) call_str = 'offset_pwrm ' + SIMSARRDC + ' ' + MamprlksImg + ' ' + SIMDIFFpar + ' ' + SIMOFFS + ' ' + SIMSNR + ' ' + rwinSimphase + ' ' + azwinSimphase + ' ' + SIMOFFSET #+ ' - 128 128 ' + threshSimphase os.system(call_str) call_str = 'offset_fitm ' + SIMOFFS + ' ' + SIMSNR + ' ' + SIMDIFFpar + ' ' + SIMCOFF + ' ' + SIMCOFFSETS + ' - > ' + OFFSTD os.system(call_str) call_str = 'gc_map_fine ' + UTM2RDC + ' ' + nWidthUTMDEM + ' ' + SIMDIFFpar + ' ' + UTMTORDC + ' 1' #print(call_str) os.system(call_str) call_str = 'geocode ' + UTMTORDC + ' ' + UTMDEM + ' ' + nWidthUTMDEM + ' ' + HGTSIM + ' ' + nWidth + ' ' + nLinePWR1 + ' 0 0 - - 1 1 1' os.system(call_str) print("Create DEM in Radar Coordinates is done!") sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') projectDir = scratchDir + '/' + projectName slcDir = scratchDir + '/' + projectName + '/SLC' rslcDir = scratchDir + '/' + projectName + '/RSLC' if not os.path.isdir(rslcDir): os.mkdir(rslcDir) templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) demDir = scratchDir + '/' + projectName + '/DEM' Mdate = templateDict['masterDate'] rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] ################## generate SLC of the mater date for S1 if 'S1' in projectName: SLC_Tab = slcDir + '/' + Mdate + '/' + Mdate + '_SLC_Tab' TSLC = slcDir + '/' + Mdate + '/' + Mdate + '.slc' TSLCPar = slcDir + '/' + Mdate + '/' + Mdate + '.slc.par' k0 = 0 if os.path.isfile(TSLCPar): if os.path.getsize(TSLCPar) > 0: k0 = 1 if k0 ==0: call_str = 'SLC_mosaic_S1_TOPS ' + SLC_Tab + ' ' + TSLC + ' ' + TSLCPar + ' ' + rlks + ' ' + azlks os.system(call_str) ###################################################### HGTSIM = demDir + '/' + Mdate + '_' + rlks + 'rlks.rdc.dem' if not os.path.isfile(HGTSIM): call_str = 'generate_rdc_dem.py ' + projectName os.system(call_str) if 'S1' in projectName: cmd_command = 'coreg_s1_gamma.py' else: cmd_command = 'coreg_gamma.py' err_txt = scratchDir + '/' + projectName + '/coreg_gamma_all.err' if os.path.isfile(err_txt): os.remove(err_txt) data_para = [] #slc_list = [os.path.basename(fname) for fname in sorted(glob.glob(slcDir + '/*'))] slc_list = ut.get_project_slcList(projectName) for i in range(len(slc_list)): cmd0 = [cmd_command,projectName,slc_list[i]] data0 = [cmd0,err_txt] data_para.append(data0) ut.parallel_process(data_para, work, n_jobs=inps.parallelNumb, use_kwargs=False) print("Coregister all of the SLCs %s is done! " % projectName) ut.print_process_time(start_time, time.time()) sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName Pair = inps.pair scratchDir = os.getenv('SCRATCHDIR') ifgDir = scratchDir + '/' + projectName + "/ifgrams" demDir = scratchDir + '/' + projectName + "/DEM" workDir = ifgDir + '/' + Pair templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict=ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + "/RSLC" demDir = scratchDir + '/' + projectName + '/DEM' ######### copy common file for parallel processing ############# Mamp0 = rslcDir + '/' + masterDate + '/' + masterDate + '_' + rlks + 'rlks.amp' MampPar0 = rslcDir + '/' + masterDate + '/' + masterDate + '_' + rlks + 'rlks.amp.par' Mamp = workDir + '/' + masterDate + '_' + rlks + 'rlks.amp' MampPar = workDir + '/' + masterDate + '_' + rlks + 'rlks.amp.par' ut.copy_file(Mamp0,Mamp) ut.copy_file(MampPar0,MampPar) ################################################################# UNWIFG = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt.unw' DIFFIFG = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt' CORIFG = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt.cor' GeoMamp = workDir + '/geo_' + masterDate + '_' + rlks + 'rlks.amp' GeoCOR = workDir + '/geo_' + masterDate + '_' + rlks + 'rlks.diff_filt.cor' GeoUNW = workDir + '/geo_' + Pair + '_' + rlks + 'rlks.diff_filt.unw' GeoDIFF = workDir + '/geo_' + Pair + '_' + rlks + 'rlks.diff_filt' UTMTORDC0 = demDir + '/' + masterDate + '_' + rlks + 'rlks.UTM_TO_RDC' UTMDEMpar0 = demDir + '/' + masterDate + '_' + rlks + 'rlks.utm.dem.par' UTMTORDC = workDir + '/' + masterDate + '_' + rlks + 'rlks.UTM_TO_RDC' UTMDEMpar = workDir + '/' + masterDate + '_' + rlks + 'rlks.utm.dem.par' ut.copy_file(UTMTORDC0,UTMTORDC) ut.copy_file(UTMDEMpar0,UTMDEMpar) nWidth = ut.read_gamma_par(MampPar, 'read', 'range_samples') nWidthUTMDEM = ut.read_gamma_par(UTMDEMpar, 'read', 'width') nLineUTMDEM = ut.read_gamma_par(UTMDEMpar, 'read', 'nlines') print(nWidth) if 'geo_interp' in templateDict: geo_interp = templateDict['geo_interp'] else: geo_interp = '0' geocode(Mamp, GeoMamp, UTMTORDC, nWidth, nWidthUTMDEM, nLineUTMDEM, geo_interp) geocode(CORIFG, GeoCOR, UTMTORDC, nWidth, nWidthUTMDEM, nLineUTMDEM, geo_interp) geocode(DIFFIFG, GeoDIFF, UTMTORDC, nWidth, nWidthUTMDEM, nLineUTMDEM, geo_interp) geocode(UNWIFG, GeoUNW, UTMTORDC, nWidth, nWidthUTMDEM, nLineUTMDEM, geo_interp) call_str = 'rasmph_pwr ' + GeoDIFF + ' ' + GeoMamp + ' ' + nWidthUTMDEM + ' - - - - - - - - - ' + GeoCOR + ' - - ' os.system(call_str) call_str = 'raspwr ' + GeoMamp + ' ' + nWidthUTMDEM + ' - - - - - - - - - - ' os.system(call_str) call_str = 'rasrmg ' + GeoUNW + ' ' + GeoMamp + ' ' + nWidthUTMDEM + ' - - - - - - - - - - - ' + GeoCOR + ' - - ' os.system(call_str) os.remove(Mamp) #os.remove(MampPar) os.remove(UTMTORDC) os.remove(UTMDEMpar) print("Geocoding is done!") sys.exit(1)
def main(argv): inps = cmdLineParse() projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') scratchDir0 = os.getenv('SCRATCHDIR0') projectDir = scratchDir + '/' + projectName projectDir0 = scratchDir0 + '/' + projectName if not os.path.isdir(projectDir0): os.mkdir(projectDir0) demDir = scratchDir + '/' + projectName + '/DEM' rslcDir = scratchDir + '/' + projectName + '/RSLC' ifgDir = projectDir + '/ifgrams' unwFile = projectDir + '/ifgrams/*/2*rlks.diff_filt.unw' # considering geocode unw file corFile = projectDir + '/ifgrams/*/2*rlks.diff_filt.cor' #print(unwFile) templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] MampPar = rslcDir + '/' + masterDate + '/' + masterDate + '_' + rlks + 'rlks.amp.par' date_list = ut.get_project_slcList(projectName) date_list = sorted(date_list) slc_par_list = [ rslcDir + '/' + date0 + '/' + date0 + '.rlsc.par' for date0 in date_list ] ifgdir_list = glob.glob(ifgDir + '/*') for k0 in ifgdir_list: pair0 = os.path.basename(k0) m0 = pair0.split('-')[0] s0 = pair0.split('-')[1] workDir = k0 mamppar0 = rslcDir + '/' + m0 + '/' + m0 + '_' + rlks + 'rlks.amp.par' samppar0 = rslcDir + '/' + s0 + '/' + s0 + '_' + rlks + 'rlks.amp.par' mrslcpar0 = rslcDir + '/' + m0 + '/' + m0 + '.rslc.par' srslcpar0 = rslcDir + '/' + s0 + '/' + s0 + '.rslc.par' mamppar = workDir + '/' + m0 + '_' + rlks + 'rlks.amp.par' samppar = workDir + '/' + s0 + '_' + rlks + 'rlks.amp.par' mrslcpar = workDir + '/' + m0 + '.rslc.par' srslcpar = workDir + '/' + s0 + '.rslc.par' ut.copy_file(mamppar0, mamppar) ut.copy_file(samppar0, samppar) ut.copy_file(mrslcpar0, mrslcpar) ut.copy_file(srslcpar0, srslcpar) #unw_list = glob.glob(ifgDir + '/*/*rlks.diff_filt.unw') #cor_list = glob.glob(ifgDir + '/*/*rlks.diff_filt.cor') dem_geo = glob.glob(demDir + '/*rlks.utm.dem')[0] geo_par = glob.glob(demDir + '/*rlks.utm.dem.par')[0] dem_rdc = glob.glob(demDir + '/*_' + rlks + 'rlks.rdc.dem')[0] rdc_par = glob.glob(demDir + '/*_' + rlks + 'rlks.diff_par')[0] # diff_par lt = glob.glob(demDir + '/*_' + rlks + 'rlks.UTM_TO_RDC')[0] strPro = 'mintpy.load.processor = gamma' strUNW = "mintpy.load.unwFile = " + unwFile strCOR = 'mintpy.load.corFile = ' + corFile strCon = 'mintpy.load.connCompFile = auto' strInt = 'mintpy.load.intFile = auto' strIon = 'mintpy.load.ionoFile = auto' strDem = 'mintpy.load.demFile = ' + dem_rdc strDemGeo = 'mintpy.load.demFile = ' + dem_geo strLtY = 'mintpy.load.lookupYFile = ' + lt strLtX = 'mintpy.load.lookupXFile = ' + lt strInc = 'mintpy.load.incAngleFile = auto' strAza = 'mintpy.load.azAngleFile = auto' strSha = 'mintpy.load.shadowMaskFile = auto' strWat = 'mintpy.load.waterMaskFile = auto' strBrp = 'mintpy.load.bperpFile = auto' templateFile0 = projectDir + '/mintpy.template' if 'mintpy.load.processor' not in templateDict: write_template(strPro, templateFile0) if 'mintpy.load.unwFile' not in templateDict: write_template(strUNW, templateFile0) if 'mintpy.load.corFile' not in templateDict: write_template(strCOR, templateFile0) if 'mintpy.load.demFile' not in templateDict: write_template(strDem, templateFile0) if 'mintpy.load.lookupYFile' not in templateDict: write_template(strLtY, templateFile0) if 'mintpy.load.lookupXFile' not in templateDict: write_template(strLtX, templateFile0) if 'mintpy.load.connCompFile' not in templateDict: write_template(strCon, templateFile0) if 'mintpy.load.intFile' not in templateDict: write_template(strInt, templateFile0) if 'mintpy.load.ionoFile' not in templateDict: write_template(strIon, templateFile0) if 'mintpy.load.incAngleFile' not in templateDict: write_template(strInc, templateFile0) if 'mintpy.load.azAngleFile' not in templateDict: write_template(strAza, templateFile0) if 'mintpy.load.shadowMaskFile' not in templateDict: write_template(strSha, templateFile0) if 'mintpy.load.waterMaskFile' not in templateDict: write_template(strWat, templateFile0) if 'mintpy.load.bperpFile' not in templateDict: write_template(strBrp, templateFile0) os.chdir(projectDir0) call_str = 'load_data.py -t ' + templateFile0 os.system(call_str) os.chdir(projectDir0) write_template(strDemGeo, templateFile0) call_str = 'load_data.py -t ' + templateFile0 os.system(call_str) sys.exit(1)
def main(argv): inps = cmdLineParse() Mdate = inps.Mdate Sdate = inps.Sdate projectName = inps.projectName Sdate = inps.Sdate Mdate = inps.Mdate scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] processDir = scratchDir + '/' + projectName + "/PROCESS" slcDir = scratchDir + '/' + projectName + "/SLC" rslcDir = scratchDir + '/' + projectName + '/RSLC' ifgDir = scratchDir + '/' + projectName + '/ifgrams' Pair = Mdate + '-' + Sdate workDir = ifgDir + '/' + Pair ################ copy file for parallel processing ############### Mamp0 = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar0 = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Samp0 = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar0 = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Mamp = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Samp = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp.par' ut.copy_file(Mamp0, Mamp) ut.copy_file(Samp0, Samp) ut.copy_file(MampPar0, MampPar) ut.copy_file(SampPar0, SampPar) ############################################################### nWidth = ut.read_gamma_par(MampPar, 'read', 'range_samples') nLine = ut.read_gamma_par(MampPar, 'read', 'azimuth_lines') CORMASK = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt.cor' WRAPlks = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt' UNWlks = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt.unw' CORMASKbmp = CORMASK.replace('.diff_filt.cor', '.diff_filt.cor_mask.bmp') if os.path.isfile(CORMASKbmp): os.remove(CORMASKbmp) call_str = 'rascc_mask ' + CORMASK + ' ' + Mamp + ' ' + nWidth + ' 1 1 0 1 1 ' + templateDict[ 'unwrapThreshold'] + ' 0.0 0.1 0.9 1. .35 1 ' + CORMASKbmp # based on int coherence os.system(call_str) call_str = 'mcf ' + WRAPlks + ' ' + CORMASK + ' ' + CORMASKbmp + ' ' + UNWlks + ' ' + nWidth + ' ' + templateDict[ 'mcf_triangular'] + ' - - - - ' + templateDict[ 'unwrap_patr'] + ' ' + templateDict['unwrap_pataz'] os.system(call_str) call_str = 'rasrmg ' + UNWlks + ' ' + Mamp + ' ' + nWidth + ' - - - - - - - - - - ' os.system(call_str) os.remove(Mamp) os.remove(Samp) #os.remove(MampPar) #os.remove(SampPar) print("Uwrapping interferometric phase is done!") sys.exit(1)
def main(argv): start_time = time.time() inps = cmdLineParse() Mdate = inps.Mdate Sdate = inps.Sdate projectName = inps.projectName scratchDir = os.getenv('SCRATCHDIR') templateDir = os.getenv('TEMPLATEDIR') templateFile = templateDir + "/" + projectName + ".template" templateDict = ut.update_template(templateFile) rlks = templateDict['range_looks'] azlks = templateDict['azimuth_looks'] masterDate = templateDict['masterDate'] projectDir = scratchDir + '/' + projectName demDir = scratchDir + '/' + projectName + '/DEM' slcDir = scratchDir + '/' + projectName + '/SLC' rslcDir = scratchDir + '/' + projectName + '/RSLC' ifgDir = projectDir + '/ifgrams' if not os.path.isdir(ifgDir): os.mkdir(ifgDir) Pair = Mdate + '-' + Sdate workDir = ifgDir + '/' + Pair if not os.path.isdir(workDir): os.mkdir(workDir) ####################################################################### Mamp = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp' MampPar = rslcDir + '/' + Mdate + '/' + Mdate + '_' + rlks + 'rlks.amp.par' Samp = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp' SampPar = rslcDir + '/' + Sdate + '/' + Sdate + '_' + rlks + 'rlks.amp.par' Mrslc = rslcDir + '/' + Mdate + '/' + Mdate + '.rslc' MrslcPar = rslcDir + '/' + Mdate + '/' + Mdate + '.rslc.par' Srslc = rslcDir + '/' + Sdate + '/' + Sdate + '.rslc' SrslcPar = rslcDir + '/' + Sdate + '/' + Sdate + '.rslc.par' HGT = demDir + '/' + masterDate + '_' + rlks + 'rlks.rdc.dem' MasterPar = rslcDir + '/' + masterDate + '/' + masterDate + '.rslc.par' ################# copy file for parallel processing ########################## #Mamp = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp' #MampPar = workDir + '/' + Mdate + '_' + rlks + 'rlks.amp.par' #Samp = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp' #SampPar = workDir + '/' + Sdate + '_' + rlks + 'rlks.amp.par' #if not templateDict['diff_all_parallel'] == '1': # Mrslc = workDir + '/' + Mdate + '.rslc' # MrslcPar = workDir + '/' + Mdate + '.rslc.par' # Srslc = workDir + '/' + Sdate + '.rslc' # SrslcPar = workDir + '/' + Sdate + '.rslc.par' # ut.copy_file(Mrslc0,Mrslc) # ut.copy_file(MrslcPar0,MrslcPar) # ut.copy_file(Srslc0,Srslc) # ut.copy_file(SrslcPar0,SrslcPar) #else: # Mrslc = Mrslc0 # MrslcPar = MrslcPar0 # Srslc = Srslc0 # SrslcPar = SrslcPar0 # HGT = HGT0 # MasterPar = MasterPar0 #ut.copy_file(Mamp0,Mamp) #ut.copy_file(MampPar0,MampPar) #ut.copy_file(Samp0,Samp) #ut.copy_file(SampPar0,SampPar) #ut.copy_file(HGT0,HGT) #ut.copy_file(MasterPar0,MasterPar) ############################################################################ OFF = workDir + '/' + Pair + '_' + rlks + 'rlks.off' call_str = 'create_offset ' + MrslcPar + ' ' + SrslcPar + ' ' + OFF + ' 1 ' + rlks + ' ' + azlks + ' 0' os.system(call_str) SIM_UNW = workDir + '/' + Pair + '.sim_unw' call_str = 'phase_sim_orb ' + MrslcPar + ' ' + SrslcPar + ' ' + OFF + ' ' + HGT + ' ' + SIM_UNW + ' ' + MasterPar + ' - - 1 1' os.system(call_str) DIFF_IFG = workDir + '/' + Pair + '_' + rlks + 'rlks.diff' call_str = 'SLC_diff_intf ' + Mrslc + ' ' + Srslc + ' ' + MrslcPar + ' ' + SrslcPar + ' ' + OFF + ' ' + SIM_UNW + ' ' + DIFF_IFG + ' ' + rlks + ' ' + azlks + ' ' + templateDict[ 'Igram_Spsflg'] + ' ' + templateDict['Igram_Azfflg'] + ' - 1 1' os.system(call_str) ##### filtering process & coherence estimation ########### DIFFFILT = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt' COHFILT = workDir + '/' + Pair + '_' + rlks + 'rlks.diff_filt.cor' nWIDTH = ut.read_gamma_par(OFF, 'read', 'interferogram_width') call_str = 'adf ' + DIFF_IFG + ' ' + DIFFFILT + ' ' + COHFILT + ' ' + nWIDTH + ' ' + templateDict[ 'adf_alpha'] + ' - ' + templateDict['Igram_Cor_Win'] os.system(call_str) ################# coherence estimation ##################### call_str = 'cc_wave ' + DIFFFILT + ' ' + Mamp + ' ' + Samp + ' ' + COHFILT + ' ' + nWIDTH + ' ' + templateDict[ 'Igram_Cor_rwin'] + ' ' + templateDict['Igram_Cor_awin'] os.system(call_str) ################ save images ##################### call_str = 'rasmph_pwr ' + DIFFFILT + ' ' + Mamp + ' ' + nWIDTH + ' - - - - - - - - - ' + COHFILT + ' - 0.1' os.system(call_str) call_str = 'rasmph_pwr ' + DIFF_IFG + ' ' + Mamp + ' ' + nWIDTH + ' - - - - - - - - - ' + COHFILT + ' - 0.1' os.system(call_str) call_str = 'rascc ' + COHFILT + ' ' + Mamp + ' ' + nWIDTH os.system(call_str) #os.remove(Mamp) #os.remove(MampPar) #os.remove(Samp) #os.remove(SampPar) #if not templateDict['diff_all_parallel'] == '1': # if os.path.isfile(Mrslc): os.remove(Mrslc) # if os.path.isfile(Srslc):os.remove(Srslc) # if os.path.isfile(HGT):os.remove(HGT) print("Subtraction of topography and flattening phase is done!") ut.print_process_time(start_time, time.time()) sys.exit(1)