81 lines
2.7 KiB
Python
81 lines
2.7 KiB
Python
#
|
|
# Author: Piyush Agram
|
|
# Copyright 2016
|
|
#
|
|
|
|
import logging
|
|
import isceobj
|
|
import mroipac
|
|
from mroipac.baseline.Baseline import Baseline
|
|
import copy
|
|
import os
|
|
logger = logging.getLogger('isce.scansarinsar.runPreprocessor')
|
|
|
|
def runPreprocessor(self):
|
|
'''Extract images.
|
|
'''
|
|
|
|
virtual = self.useVirtualFiles
|
|
catalog = isceobj.Catalog.createCatalog(self._insar.procDoc.name)
|
|
|
|
|
|
###First set maximum number of swaths possible for a sensor.
|
|
self._insar.numberOfSwaths = self.master.maxSwaths
|
|
swathList = self._insar.getInputSwathList(self.swaths)
|
|
|
|
catalog.addItem('Input list of swaths to process: ', swathList, 'common')
|
|
|
|
self.master.configure()
|
|
|
|
##Processing master first.
|
|
self.master.configure()
|
|
self.master.swaths = swathList
|
|
self.master.virtualFiles = self.useVirtualFiles
|
|
|
|
##Assume a single folder is provided for now.
|
|
##Leaving room for future extensions.
|
|
self.master.inputDirList = self.master.inputDirList[0]
|
|
|
|
swaths = self.master.extractImage()
|
|
|
|
self.insar.masterSlcProduct = os.path.dirname(os.path.dirname(swaths[0].image.filename))
|
|
print('Master product: ', self.insar.masterSlcProduct)
|
|
|
|
for ind, swath in enumerate(swaths):
|
|
catalog.addInputsFrom(swath, 'master.sensor_{0}'.format(swathList[ind]))
|
|
catalog.addItem('swathWidth_{0}'.format(swathList[ind]), swath.numberOfSamples, 'master')
|
|
catalog.addItem('swathLength_{0}'.format(swathList[ind]), swath.numberOfLines, 'master')
|
|
#catalog.addItem('numberOfBursts_{0}'.format(swathList[ind]), len(swath.burstStartLines), 'master')
|
|
|
|
self._insar.saveProduct(swath, os.path.dirname(swath.image.filename) + '.xml')
|
|
|
|
|
|
|
|
##Processing slave next.
|
|
self.slave.configure()
|
|
self.slave.swaths = swathList
|
|
self.slave.virtualFiles = self.useVirtualFiles
|
|
|
|
##Assume a single folder is provided for now.
|
|
##Leaving room for future extensions.
|
|
self.slave.inputDirList = self.slave.inputDirList[0]
|
|
|
|
swaths = self.slave.extractImage()
|
|
|
|
self.insar.slaveSlcProduct = os.path.dirname( os.path.dirname(swaths[0].image.filename))
|
|
|
|
print('Slave Product: ', self.insar.slaveSlcProduct)
|
|
for ind, swath in enumerate(swaths):
|
|
catalog.addInputsFrom(swath, 'slave.sensor_{0}'.format(swathList[ind]))
|
|
catalog.addItem('swathWidth_{0}'.format(swathList[ind]), swath.numberOfSamples, 'slave')
|
|
catalog.addItem('swathLength_{0}'.format(swathList[ind]), swath.numberOfLines, 'slave')
|
|
#catalog.addItem('numberOfBursts_{0}'.format(swathList[ind]), len(swath.burstStartLines), 'master')
|
|
|
|
self._insar.saveProduct(swath, os.path.dirname(swath.image.filename) + '.xml')
|
|
|
|
|
|
|
|
|
|
catalog.printToLog(logger, "runPreprocessor")
|
|
self._insar.procDoc.addAllFromCatalog(catalog)
|