2019-01-16 19:40:08 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import isce
|
|
|
|
import isceobj
|
|
|
|
import argparse
|
|
|
|
import os
|
|
|
|
import shelve
|
|
|
|
import logging
|
2023-12-06 09:44:22 +00:00
|
|
|
import glob
|
|
|
|
import shutil
|
|
|
|
from osgeo import gdal
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
def createParser():
|
2020-07-02 19:40:49 +00:00
|
|
|
parser = argparse.ArgumentParser( description='Duplicating the reference SLC')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
parser.add_argument('-i', '--input_slc', dest='input_slc', type=str, required=True,
|
2020-07-02 19:40:49 +00:00
|
|
|
help = 'Directory with reference acquisition for reference')
|
2019-01-16 19:40:08 +00:00
|
|
|
parser.add_argument('-o', '--output_slc', dest='output_slc', type=str, required=True,
|
2020-07-02 19:40:49 +00:00
|
|
|
help='Directory with secondary acquisition')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
return parser
|
|
|
|
|
|
|
|
def cmdLineParse(iargs = None):
|
|
|
|
parser = createParser()
|
|
|
|
|
|
|
|
inps = parser.parse_args(args=iargs)
|
|
|
|
|
|
|
|
return inps
|
|
|
|
|
|
|
|
|
|
|
|
def main(iargs=None):
|
|
|
|
'''
|
|
|
|
Main driver.
|
|
|
|
'''
|
|
|
|
inps = cmdLineParse(iargs)
|
|
|
|
|
|
|
|
# providing absolute paths
|
|
|
|
inps.output_slc = os.path.abspath(inps.output_slc)
|
|
|
|
inps.input_slc = os.path.abspath(inps.input_slc)
|
|
|
|
|
|
|
|
# making the output direcory is non-existent
|
|
|
|
outDir = os.path.dirname(inps.output_slc)
|
|
|
|
inDir = os.path.dirname(inps.input_slc)
|
2020-04-13 19:40:32 +00:00
|
|
|
os.makedirs(outDir, exist_ok=True)
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
# copying shelf files as backup
|
2020-07-02 19:40:49 +00:00
|
|
|
referenceShelveDir = os.path.join(outDir, 'referenceShelve')
|
|
|
|
secondaryShelveDir = os.path.join(outDir, 'secondaryShelve')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
2020-07-02 19:40:49 +00:00
|
|
|
os.makedirs(referenceShelveDir, exist_ok=True)
|
|
|
|
os.makedirs(secondaryShelveDir, exist_ok=True)
|
2019-01-16 19:40:08 +00:00
|
|
|
|
2023-12-06 09:44:22 +00:00
|
|
|
sec_files = glob.glob(os.path.join(inDir, 'data*'))
|
|
|
|
for file in sec_files:
|
|
|
|
shutil.copy(file, secondaryShelveDir)
|
|
|
|
# cmd = 'cp '+ inDir + '/data* ' + secondaryShelveDir
|
|
|
|
# os.system(cmd)
|
2019-01-16 19:40:08 +00:00
|
|
|
|
2023-12-06 09:44:22 +00:00
|
|
|
ref_files = glob.glob(os.path.join(inDir, 'data*'))
|
|
|
|
for file in ref_files:
|
|
|
|
shutil.copy(file, referenceShelveDir)
|
|
|
|
# cmd = 'cp '+ inDir + '/data* ' + referenceShelveDir
|
|
|
|
# os.system(cmd)
|
2019-01-16 19:40:08 +00:00
|
|
|
|
2023-12-06 09:44:22 +00:00
|
|
|
translate_options = gdal.TranslateOptions(format='ENVI')
|
|
|
|
gdal.Translate(inps.output_slc, inps.input_slc, options=translate_options)
|
2019-01-16 19:40:08 +00:00
|
|
|
cmd = 'gdal_translate -of ENVI ' + inps.input_slc + " " + inps.output_slc
|
|
|
|
os.system(cmd)
|
2023-12-06 09:44:22 +00:00
|
|
|
translate_options = gdal.TranslateOptions(format='VRT')
|
|
|
|
gdal.Translate(inps.output_slc + ".vrt", inps.output_slc, options=translate_options)
|
2019-01-16 19:40:08 +00:00
|
|
|
cmd = 'gdal_translate -of VRT ' + inps.output_slc + " " + inps.output_slc + ".vrt"
|
|
|
|
os.system(cmd)
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
'''
|
|
|
|
Main driver.
|
|
|
|
'''
|
|
|
|
main()
|
|
|
|
|