2020-03-29 02:19:21 +00:00
|
|
|
#
|
|
|
|
# Author: Cunren Liang
|
|
|
|
# Copyright 2015-present, NASA-JPL/Caltech
|
|
|
|
#
|
|
|
|
|
|
|
|
import os
|
2020-05-12 01:05:30 +00:00
|
|
|
import glob
|
2020-03-29 02:19:21 +00:00
|
|
|
import logging
|
|
|
|
import numpy as np
|
|
|
|
|
|
|
|
import isceobj
|
|
|
|
from isceobj.Alos2Proc.runGeocode import geocode
|
|
|
|
from isceobj.Alos2Proc.Alos2ProcPublic import getBboxGeo
|
|
|
|
|
|
|
|
logger = logging.getLogger('isce.alos2insar.runGeocodeSd')
|
|
|
|
|
|
|
|
def runGeocodeSd(self):
|
|
|
|
'''geocode final products
|
|
|
|
'''
|
|
|
|
catalog = isceobj.Catalog.createCatalog(self._insar.procDoc.name)
|
|
|
|
self.updateParamemetersFromUser()
|
|
|
|
|
2020-07-02 19:40:49 +00:00
|
|
|
referenceTrack = self._insar.loadTrack(reference=True)
|
|
|
|
#secondaryTrack = self._insar.loadTrack(reference=False)
|
2020-03-29 02:19:21 +00:00
|
|
|
|
|
|
|
demFile = os.path.abspath(self._insar.demGeo)
|
|
|
|
|
|
|
|
sdDir = 'sd'
|
2020-04-13 19:40:32 +00:00
|
|
|
os.makedirs(sdDir, exist_ok=True)
|
2020-03-29 02:19:21 +00:00
|
|
|
os.chdir(sdDir)
|
|
|
|
|
|
|
|
if self.geocodeListSd == None:
|
|
|
|
geocodeList = self._insar.multilookCoherenceSd + self._insar.azimuthDeformationSd + self._insar.maskedAzimuthDeformationSd
|
|
|
|
else:
|
2020-05-12 01:05:30 +00:00
|
|
|
geocodeList = []
|
|
|
|
for xxx in self.geocodeListSd:
|
|
|
|
geocodeList += glob.glob(xxx)
|
2020-03-29 02:19:21 +00:00
|
|
|
|
|
|
|
if self.bbox == None:
|
2020-07-02 19:40:49 +00:00
|
|
|
bbox = getBboxGeo(referenceTrack)
|
2020-03-29 02:19:21 +00:00
|
|
|
else:
|
|
|
|
bbox = self.bbox
|
|
|
|
catalog.addItem('geocode bounding box', bbox, 'runGeocodeSd')
|
|
|
|
|
|
|
|
numberRangeLooks = self._insar.numberRangeLooks1 * self._insar.numberRangeLooksSd
|
|
|
|
numberAzimuthLooks = self._insar.numberAzimuthLooks1 * self._insar.numberAzimuthLooksSd
|
|
|
|
|
|
|
|
for inputFile in geocodeList:
|
|
|
|
if self.geocodeInterpMethodSd == None:
|
|
|
|
img = isceobj.createImage()
|
|
|
|
img.load(inputFile + '.xml')
|
|
|
|
if img.dataType.upper() == 'CFLOAT':
|
|
|
|
interpMethod = 'sinc'
|
|
|
|
else:
|
|
|
|
interpMethod = 'bilinear'
|
|
|
|
else:
|
|
|
|
interpMethod = self.geocodeInterpMethodSd.lower()
|
|
|
|
|
2020-07-02 19:40:49 +00:00
|
|
|
geocode(referenceTrack, demFile, inputFile, bbox, numberRangeLooks, numberAzimuthLooks, interpMethod, 0, 0)
|
2020-03-29 02:19:21 +00:00
|
|
|
|
|
|
|
|
|
|
|
os.chdir('../')
|
|
|
|
|
|
|
|
catalog.printToLog(logger, "runGeocodeSd")
|
|
|
|
self._insar.procDoc.addAllFromCatalog(catalog)
|
|
|
|
|