ISCE_INSAR/components/isceobj/Alos2burstProc/runLookSd.py

57 lines
2.1 KiB
Python

#
# Author: Cunren Liang
# Copyright 2015-present, NASA-JPL/Caltech
#
import os
import logging
import isceobj
from isceobj.Alos2Proc.Alos2ProcPublic import create_xml
from contrib.alos2proc.alos2proc import look
from isceobj.Alos2Proc.Alos2ProcPublic import waterBodyRadar
logger = logging.getLogger('isce.alos2burstinsar.runLookSd')
def runLookSd(self):
'''take looks
'''
catalog = isceobj.Catalog.createCatalog(self._insar.procDoc.name)
self.updateParamemetersFromUser()
#referenceTrack = self._insar.loadTrack(reference=True)
#secondaryTrack = self._insar.loadTrack(reference=False)
wbdFile = os.path.abspath(self._insar.wbd)
sdDir = 'sd'
os.makedirs(sdDir, exist_ok=True)
os.chdir(sdDir)
sd = isceobj.createImage()
sd.load(self._insar.interferogramSd[0]+'.xml')
width = sd.width
length = sd.length
width2 = int(width / self._insar.numberRangeLooksSd)
length2 = int(length / self._insar.numberAzimuthLooksSd)
if not ((self._insar.numberRangeLooksSd == 1) and (self._insar.numberAzimuthLooksSd == 1)):
#take looks
for sd, sdMultilook in zip(self._insar.interferogramSd, self._insar.multilookInterferogramSd):
look(sd, sdMultilook, width, self._insar.numberRangeLooksSd, self._insar.numberAzimuthLooksSd, 4, 0, 1)
create_xml(sdMultilook, width2, length2, 'int')
look(os.path.join('../insar', self._insar.latitude), self._insar.multilookLatitudeSd, width,
self._insar.numberRangeLooksSd, self._insar.numberAzimuthLooksSd, 3, 0, 1)
look(os.path.join('../insar', self._insar.longitude), self._insar.multilookLongitudeSd, width,
self._insar.numberRangeLooksSd, self._insar.numberAzimuthLooksSd, 3, 0, 1)
create_xml(self._insar.multilookLatitudeSd, width2, length2, 'double')
create_xml(self._insar.multilookLongitudeSd, width2, length2, 'double')
#water body
waterBodyRadar(self._insar.multilookLatitudeSd, self._insar.multilookLongitudeSd, wbdFile, self._insar.multilookWbdOutSd)
os.chdir('../')
catalog.printToLog(logger, "runLookSd")
self._insar.procDoc.addAllFromCatalog(catalog)