ISCE_INSAR/components/isceobj/ScansarProc/runPreprocessor.py

81 lines
2.7 KiB
Python
Raw Normal View History

2019-01-16 19:40:08 +00:00
#
# 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)