ISCE_INSAR/components/isceobj/Alos2burstProc/runFrameOffset.py

55 lines
2.1 KiB
Python

#
# Author: Cunren Liang
# Copyright 2015-present, NASA-JPL/Caltech
#
import os
import logging
import isceobj
from isceobj.Alos2Proc.runFrameOffset import frameOffset
logger = logging.getLogger('isce.alos2burstinsar.runFrameOffset')
def runFrameOffset(self):
'''estimate frame offsets.
'''
catalog = isceobj.Catalog.createCatalog(self._insar.procDoc.name)
self.updateParamemetersFromUser()
referenceTrack = self._insar.loadTrack(reference=True)
secondaryTrack = self._insar.loadTrack(reference=False)
mosaicDir = 'insar'
os.makedirs(mosaicDir, exist_ok=True)
os.chdir(mosaicDir)
if len(referenceTrack.frames) > 1:
#here we use reference amplitude image mosaicked from extracted bursts.
matchingMode=1
#compute swath offset
offsetReference = frameOffset(referenceTrack, os.path.join(self._insar.referenceBurstPrefix, self._insar.referenceMagnitude), self._insar.referenceFrameOffset,
crossCorrelation=self.frameOffsetMatching, matchingMode=matchingMode)
#only use geometrical offset for secondary
offsetSecondary = frameOffset(secondaryTrack, os.path.join(self._insar.secondaryBurstPrefix, self._insar.secondaryMagnitude), self._insar.secondaryFrameOffset,
crossCorrelation=False, matchingMode=matchingMode)
self._insar.frameRangeOffsetGeometricalReference = offsetReference[0]
self._insar.frameAzimuthOffsetGeometricalReference = offsetReference[1]
self._insar.frameRangeOffsetGeometricalSecondary = offsetSecondary[0]
self._insar.frameAzimuthOffsetGeometricalSecondary = offsetSecondary[1]
if self.frameOffsetMatching:
self._insar.frameRangeOffsetMatchingReference = offsetReference[2]
self._insar.frameAzimuthOffsetMatchingReference = offsetReference[3]
#self._insar.frameRangeOffsetMatchingSecondary = offsetSecondary[2]
#self._insar.frameAzimuthOffsetMatchingSecondary = offsetSecondary[3]
os.chdir('../')
catalog.printToLog(logger, "runFrameOffset")
self._insar.procDoc.addAllFromCatalog(catalog)