ISCE_INSAR/components/isceobj/TopsProc/runMergeSLCs.py

48 lines
1.5 KiB
Python
Raw Normal View History

2025-01-16 09:33:42 +00:00
#
# Author: Joshua Cohen
# Copyright 2016
#
from isceobj.TopsProc.runMergeBursts import mergeBursts
import os
import isce
import isceobj
import logging
logger = logging.getLogger('isce.insar.MergeSLCs')
def runMergeSLCs(self):
'''
Merge SLCs using the same format/tools in runMergeBursts.py to get the
full SLC to use in denseOffsets
'''
print('\nMerging reference and secondary SLC bursts...')
reference = self._insar.loadProduct(self._insar.referenceSlcProduct + '.xml')
coreg = self._insar.loadProduct(self._insar.fineCoregDirname + '.xml')
_, minBurst, maxBurst = reference.getCommonBurstLimits(coreg)
print('\nMerging bursts %02d through %02d.' % (minBurst,maxBurst))
mSlcList = [os.path.join(self._insar.referenceSlcProduct, 'burst_%02d.slc'%(x+1)) for x in range(minBurst, maxBurst)]
sSlcList = [os.path.join(self._insar.fineCoregDirname, 'burst_%02d.slc'%(x+1)) for x in range(minBurst, maxBurst)]
mergedir = self._insar.mergedDirname
os.makedirs(mergedir, exist_ok=True)
suffix = '.full'
if (self.numberRangeLooks == 1) and (self.numberAzimuthLooks==1):
suffix=''
print('Merging reference bursts to: %s' % ('reference.slc'+suffix))
mergeBursts(coreg, mSlcList, os.path.join(mergedir, 'reference.slc'+suffix))
print('Merging secondary bursts to: %s' % ('secondary.slc'+suffix))
mergeBursts(coreg, sSlcList, os.path.join(mergedir, 'secondary.slc'+suffix))
if __name__ == '__main__' :
'''
Default routine to merge SLC products burst-by-burst.
'''
main()