Stack minor modification (#232)

* stackStripMap.py: change numbering style to match with topsStack

* Stack.py: separate parallel processors in topo.py from runfiles

* stackSentinel.py: add a new argument for parallel processors in topo.py

* Stack.py: remove extra num_process for unpackStackReferenceSLC

* stackSentinel.py:  tie numProcess4topo to numProcessif the first not specified
LT1AB
Sara Mirzaee 2021-02-15 14:24:56 -05:00 committed by GitHub
parent 4f0ed3a359
commit 68c7261b5d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 29 additions and 23 deletions

View File

@ -144,7 +144,7 @@ def slcStack(inps, acquisitionDates, stackReferenceDate, secondaryDates, pairs,
if inps.bbox: if inps.bbox:
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_crop") runObj.configure(inps, 'run_{:02d}_crop'.format(i))
config_prefix = "config_crop_" config_prefix = "config_crop_"
runObj.crop(acquisitionDates, config_prefix, native=not inps.zerodop, israw=not inps.nofocus) runObj.crop(acquisitionDates, config_prefix, native=not inps.zerodop, israw=not inps.nofocus)
runObj.finalize() runObj.finalize()
@ -152,41 +152,41 @@ def slcStack(inps, acquisitionDates, stackReferenceDate, secondaryDates, pairs,
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_reference") runObj.configure(inps, 'run_{:02d}_reference'.format(i))
config_prefix = "config_reference_" config_prefix = "config_reference_"
runObj.reference_focus_split_geometry(stackReferenceDate, config_prefix, split=splitFlag, focus=not inps.nofocus, native=not inps.zerodop) runObj.reference_focus_split_geometry(stackReferenceDate, config_prefix, split=splitFlag, focus=not inps.nofocus, native=not inps.zerodop)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_focus_split") runObj.configure(inps, 'run_{:02d}_focus_split'.format(i))
config_prefix = "config_focus_split" config_prefix = "config_focus_split"
runObj.secondarys_focus_split(secondaryDates, config_prefix, split=splitFlag, focus=not inps.nofocus, native=not inps.zerodop) runObj.secondarys_focus_split(secondaryDates, config_prefix, split=splitFlag, focus=not inps.nofocus, native=not inps.zerodop)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_geo2rdr_coarseResamp") runObj.configure(inps, 'run_{:02d}_geo2rdr_coarseResamp'.format(i))
config_prefix = "config_geo2rdr_coarseResamp_" config_prefix = "config_geo2rdr_coarseResamp_"
runObj.secondarys_geo2rdr_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, native=(not inps.nofocus) or (not inps.zerodop)) runObj.secondarys_geo2rdr_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, native=(not inps.nofocus) or (not inps.zerodop))
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_refineSecondaryTiming") runObj.configure(inps, 'run_{:02d}_refineSecondaryTiming'.format(i))
config_prefix = 'config_refineSecondaryTiming_' config_prefix = 'config_refineSecondaryTiming_'
runObj.refineSecondaryTiming_Network(pairs, stackReferenceDate, secondaryDates, config_prefix) runObj.refineSecondaryTiming_Network(pairs, stackReferenceDate, secondaryDates, config_prefix)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_invertMisreg") runObj.configure(inps, 'run_{:02d}_invertMisreg'.format(i))
runObj.invertMisregPoly() runObj.invertMisregPoly()
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_fineResamp") runObj.configure(inps, 'run_{:02d}_fineResamp'.format(i))
config_prefix = 'config_fineResamp_' config_prefix = 'config_fineResamp_'
runObj.secondarys_fine_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, split=splitFlag) runObj.secondarys_fine_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, split=splitFlag)
runObj.finalize() runObj.finalize()
@ -194,33 +194,33 @@ def slcStack(inps, acquisitionDates, stackReferenceDate, secondaryDates, pairs,
if rubberSheet: if rubberSheet:
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_denseOffset") runObj.configure(inps, 'run_{:02d}_denseOffset'.format(i))
config_prefix = 'config_denseOffset_' config_prefix = 'config_denseOffset_'
runObj.denseOffsets_Network(pairs, stackReferenceDate, secondaryDates, config_prefix) runObj.denseOffsets_Network(pairs, stackReferenceDate, secondaryDates, config_prefix)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_invertDenseOffsets") runObj.configure(inps, 'run_{:02d}_invertDenseOffsets'.format(i))
runObj.invertDenseOffsets() runObj.invertDenseOffsets()
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_resampleOffset") runObj.configure(inps, 'run_{:02d}_resampleOffset'.format(i))
config_prefix = 'config_resampOffsets_' config_prefix = 'config_resampOffsets_'
runObj.resampleOffset(secondaryDates, config_prefix) runObj.resampleOffset(secondaryDates, config_prefix)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_replaceOffsets") runObj.configure(inps, 'run_{:02d}_replaceOffsets'.format(i))
runObj.replaceOffsets(secondaryDates) runObj.replaceOffsets(secondaryDates)
runObj.finalize() runObj.finalize()
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_fineResamp") runObj.configure(inps, 'run_{:02d}_fineResamp'.format(i))
config_prefix = 'config_fineResamp_' config_prefix = 'config_fineResamp_'
runObj.secondarys_fine_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, split=splitFlag) runObj.secondarys_fine_resampleSlc(stackReferenceDate, secondaryDates, config_prefix, split=splitFlag)
runObj.finalize() runObj.finalize()
@ -229,7 +229,7 @@ def slcStack(inps, acquisitionDates, stackReferenceDate, secondaryDates, pairs,
i+=1 i+=1
config_prefix = 'config_baselinegrid_' config_prefix = 'config_baselinegrid_'
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_grid_baseline") runObj.configure(inps, 'run_{:02d}_grid_baseline'.format(i))
runObj.gridBaseline(stackReferenceDate, secondaryDates,config_prefix) runObj.gridBaseline(stackReferenceDate, secondaryDates,config_prefix)
runObj.finalize() runObj.finalize()
@ -244,7 +244,7 @@ def interferogramStack(inps, acquisitionDates, stackReferenceDate, secondaryDate
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_igram") runObj.configure(inps, 'run_{:02d}_igram'.format(i))
config_prefix = 'config_igram_' config_prefix = 'config_igram_'
low_or_high = "/" low_or_high = "/"
runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix) runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix)
@ -269,7 +269,7 @@ def interferogramIonoStack(inps, acquisitionDates, stackReferenceDate, secondary
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_igram") runObj.configure(inps, 'run_{:02d}_igram'.format(i))
config_prefix = 'config_igram_' config_prefix = 'config_igram_'
low_or_high = "/" low_or_high = "/"
runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix) runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix)
@ -277,7 +277,7 @@ def interferogramIonoStack(inps, acquisitionDates, stackReferenceDate, secondary
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_igramLowBand") runObj.configure(inps, 'run_{:02d}_igramLowBand'.format(i))
config_prefix = 'config_igramLowBand_' config_prefix = 'config_igramLowBand_'
low_or_high = "/LowBand/" low_or_high = "/LowBand/"
runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix) runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix)
@ -285,7 +285,7 @@ def interferogramIonoStack(inps, acquisitionDates, stackReferenceDate, secondary
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_igramHighBand") runObj.configure(inps, 'run_{:02d}_igramHighBand'.format(i))
config_prefix = 'config_igramHighBand_' config_prefix = 'config_igramHighBand_'
low_or_high = "/HighBand/" low_or_high = "/HighBand/"
runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix) runObj.igrams_network(pairs, acquisitionDates, stackReferenceDate, low_or_high, config_prefix)
@ -293,7 +293,7 @@ def interferogramIonoStack(inps, acquisitionDates, stackReferenceDate, secondary
i+=1 i+=1
runObj = run() runObj = run()
runObj.configure(inps, 'run_' + str(i) + "_iono") runObj.configure(inps, 'run_{:02d}_iono'.format(i))
config_prefix = 'config_iono_' config_prefix = 'config_iono_'
lowBand = '/LowBand/' lowBand = '/LowBand/'
highBand = '/HighBand/' highBand = '/HighBand/'

View File

@ -76,7 +76,7 @@ class config(object):
self.f.write('reference : ' + self.outDir + '\n') self.f.write('reference : ' + self.outDir + '\n')
self.f.write('dem : ' + self.dem + '\n') self.f.write('dem : ' + self.dem + '\n')
self.f.write('geom_referenceDir : ' + self.geom_referenceDir + '\n') self.f.write('geom_referenceDir : ' + self.geom_referenceDir + '\n')
self.f.write('numProcess : ' + str(self.numProcess) + '\n') self.f.write('numProcess : ' + str(self.numProcess4topo) + '\n')
self.f.write('##########################' + '\n') self.f.write('##########################' + '\n')
def geo2rdr(self,function): def geo2rdr(self,function):
@ -333,7 +333,6 @@ class run(object):
configObj.outDir = os.path.join(self.work_dir, 'reference') configObj.outDir = os.path.join(self.work_dir, 'reference')
configObj.geom_referenceDir = os.path.join(self.work_dir, 'geom_reference') configObj.geom_referenceDir = os.path.join(self.work_dir, 'geom_reference')
configObj.dem = os.path.join(self.work_dir, configObj.dem) configObj.dem = os.path.join(self.work_dir, configObj.dem)
configObj.numProcess = self.numProcess
configObj.Sentinel1_TOPS('[Function-1]') configObj.Sentinel1_TOPS('[Function-1]')
configObj.topo('[Function-2]') configObj.topo('[Function-2]')
configObj.finalize() configObj.finalize()

View File

@ -166,8 +166,11 @@ def createParser():
parser.add_argument('-useGPU', '--useGPU', dest='useGPU',action='store_true', default=False, parser.add_argument('-useGPU', '--useGPU', dest='useGPU',action='store_true', default=False,
help='Allow App to use GPU when available') help='Allow App to use GPU when available')
parser.add_argument('--num-proc', '--num-process', dest='numProcess', type=int, default=1, parser.add_argument('--num_proc', '--num_process', dest='numProcess', type=int, default=1,
help='number of parallel processes (where applicable) (default: %(default)s).') help='number of tasks running in parallel in each run file (default: %(default)s).')
parser.add_argument('--num_proc4topo', '--num_process4topo', dest='numProcess4topo', type=int, default=1,
help='number of parallel processes (for topo only) (default: %(default)s).')
parser.add_argument('-u', '--unw_method', dest='unwMethod', type=str, default='snaphu', choices=['icu', 'snaphu'], parser.add_argument('-u', '--unw_method', dest='unwMethod', type=str, default='snaphu', choices=['icu', 'snaphu'],
help='Unwrapping method (default: %(default)s).') help='Unwrapping method (default: %(default)s).')
@ -187,6 +190,10 @@ def cmdLineParse(iargs = None):
inps.work_dir = os.path.abspath(inps.work_dir) inps.work_dir = os.path.abspath(inps.work_dir)
inps.dem = os.path.abspath(inps.dem) inps.dem = os.path.abspath(inps.dem)
if any(i in iargs for i in ['--num_proc', '--num_process']) and all(
i not in iargs for i in ['--num_proc4topo', '--num_process4topo']):
inps.numProcess4topo = inps.numProcess
return inps return inps
@ -762,4 +769,4 @@ def main(iargs=None):
if __name__ == "__main__": if __name__ == "__main__":
# Main engine # Main engine
main() main(sys.argv[1:])