55 lines
2.1 KiB
Python
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)
|
|
|
|
|