Added iterative multiplication for interferogram flattening
parent
4631aff062
commit
44cdd7dbf1
|
@ -56,19 +56,14 @@ def compute_FlatEarth(self,width,length):
|
|||
|
||||
# Open the interferogram
|
||||
ifgFilename= os.path.join(self.insar.ifgDirname, self.insar.ifgFilename)
|
||||
ds = gdal.Open(ifgFilename+'.full',gdal.GA_ReadOnly)
|
||||
intf = ds.GetRasterBand(1).ReadAsArray()
|
||||
ds = None
|
||||
intf = np.memmap(ifgFilename+'.full',dtype=np.complex64,mode='r+',shape=(length,width))
|
||||
|
||||
intf *= np.exp(cJ*fact*rng2)
|
||||
for ll in range(length):
|
||||
intf[ll,:] *= np.exp(cJ*fact*rng2[ll,:])
|
||||
|
||||
del rng2
|
||||
del intf
|
||||
|
||||
# Write the interferogram
|
||||
intf.tofile(ifgFilename+'.full')
|
||||
write_xml(ifgFilename+'.full',width,length,1,"CFLOAT","BIL")
|
||||
|
||||
intf=None
|
||||
return
|
||||
|
||||
|
||||
|
@ -203,7 +198,7 @@ def generateIgram(self,imageSlc1, imageSlc2, resampName, azLooks, rgLooks):
|
|||
multilook(resampInt+'.full', outname=resampInt, alks=azLooks, rlks=rgLooks) #takeLooks(objAmp,azLooks,rgLooks)
|
||||
multilook(resampAmp+'.full', outname=resampAmp, alks=azLooks, rlks=rgLooks) #takeLooks(objInt,azLooks,rgLooks)
|
||||
|
||||
os.system('rm ' + resampInt+'.full* ' + resampAmp + '.full* ')
|
||||
#os.system('rm ' + resampInt+'.full* ' + resampAmp + '.full* ')
|
||||
# End of modification
|
||||
for obj in [objInt, objAmp, objSlc1, objSlc2]:
|
||||
obj.finalizeImage()
|
||||
|
@ -305,15 +300,15 @@ def runFullBandInterferogram(self):
|
|||
|
||||
|
||||
###Compute coherence
|
||||
#cohname = os.path.join(self.insar.ifgDirname, self.insar.correlationFilename)
|
||||
#computeCoherence(masterSlc, slaveSlc, cohname+'.full')
|
||||
#multilook(cohname+'.full', outname=cohname, alks=azLooks, rlks=rgLooks)
|
||||
cohname = os.path.join(self.insar.ifgDirname, self.insar.correlationFilename)
|
||||
computeCoherence(masterSlc, slaveSlc, cohname+'.full')
|
||||
multilook(cohname+'.full', outname=cohname, alks=azLooks, rlks=rgLooks)
|
||||
|
||||
|
||||
###Multilook relevant geometry products
|
||||
#for fname in [self.insar.latFilename, self.insar.lonFilename, self.insar.losFilename]:
|
||||
# inname = os.path.join(self.insar.geometryDirname, fname)
|
||||
# multilook(inname + '.full', outname= inname, alks=azLooks, rlks=rgLooks)
|
||||
##Multilook relevant geometry products
|
||||
for fname in [self.insar.latFilename, self.insar.lonFilename, self.insar.losFilename]:
|
||||
inname = os.path.join(self.insar.geometryDirname, fname)
|
||||
multilook(inname + '.full', outname= inname, alks=azLooks, rlks=rgLooks)
|
||||
|
||||
def runInterferogram(self, igramSpectrum = "full"):
|
||||
|
||||
|
|
|
@ -14,7 +14,8 @@ import shelve
|
|||
|
||||
logger = logging.getLogger('isce.insar.runResampleSubbandSlc')
|
||||
|
||||
def resampleSlc(masterFrame, slaveFrame, imageSlc2, radarWavelength, coregDir,
|
||||
# Modified by V. Brancato 10.14.2019 added "self" as input parameter of resampleSLC
|
||||
def resampleSlc(self,masterFrame, slaveFrame, imageSlc2, radarWavelength, coregDir,
|
||||
azoffname, rgoffname, azpoly = None, rgpoly = None, misreg=False):
|
||||
logger.info("Resampling slave SLC")
|
||||
|
||||
|
@ -56,8 +57,15 @@ def resampleSlc(masterFrame, slaveFrame, imageSlc2, radarWavelength, coregDir,
|
|||
width = rngImg.getWidth()
|
||||
length = rngImg.getLength()
|
||||
|
||||
|
||||
# Modified by V. Brancato on 10.14.2019 (if Rubbersheeting in range is turned on, flatten the interferogram during cross-correlation)
|
||||
if not self.doRubbersheetingRange:
|
||||
print('Rubber sheeting in range is turned off, flattening the interferogram during resampling')
|
||||
flatten = True
|
||||
else:
|
||||
print('Rubber sheeting in range is turned on, flattening the interferogram during interferogram formation')
|
||||
flatten=False
|
||||
# end of Modification
|
||||
|
||||
rObj.flatten = flatten
|
||||
rObj.outputWidth = width
|
||||
rObj.outputLines = length
|
||||
|
@ -105,15 +113,25 @@ def runResampleSubbandSlc(self, misreg=False):
|
|||
masterFrame = self._insar.loadProduct( self._insar.masterSlcCropProduct)
|
||||
slaveFrame = self._insar.loadProduct( self._insar.slaveSlcCropProduct)
|
||||
|
||||
if self.doRubbersheeting:
|
||||
print('Using rubber sheeted offsets for resampling sub-bands')
|
||||
# Modified by V. Brancato 10.14.2019
|
||||
|
||||
if self.doRubbersheetingAzimuth:
|
||||
print('Using rubber in azimuth sheeted offsets for resampling sub-bands')
|
||||
azoffname = os.path.join( self.insar.offsetsDirname, self.insar.azimuthRubbersheetFilename)
|
||||
|
||||
else:
|
||||
print('Using refined offsets for resampling sub-bands')
|
||||
azoffname = os.path.join( self.insar.offsetsDirname, self.insar.azimuthOffsetFilename)
|
||||
|
||||
if self.doRubbersheetingRange:
|
||||
print('Using rubber in range sheeted offsets for resampling sub-bands')
|
||||
rgoffname = os.path.join( self.insar.offsetsDirname, self.insar.rangeRubbersheetFilename)
|
||||
else:
|
||||
print('Using refined offsets for resampling sub-bands')
|
||||
rgoffname = os.path.join( self.insar.offsetsDirname, self.insar.rangeOffsetFilename)
|
||||
# ****************** End of Modification
|
||||
|
||||
# rgoffname = os.path.join( self.insar.offsetsDirname, self.insar.rangeOffsetFilename)
|
||||
azpoly = self.insar.loadProduct( os.path.join(self.insar.misregDirname, self.insar.misregFilename) + '_az.xml')
|
||||
rgpoly = self.insar.loadProduct( os.path.join(self.insar.misregDirname, self.insar.misregFilename) + '_rg.xml')
|
||||
|
||||
|
@ -124,7 +142,7 @@ def runResampleSubbandSlc(self, misreg=False):
|
|||
wvlL = self.insar.lowBandRadarWavelength
|
||||
coregDir = os.path.join(self.insar.coregDirname, self.insar.lowBandSlcDirname)
|
||||
|
||||
lowbandCoregFilename = resampleSlc(masterFrame, slaveFrame, imageSlc2, wvlL, coregDir,
|
||||
lowbandCoregFilename = resampleSlc(self,masterFrame, slaveFrame, imageSlc2, wvlL, coregDir,
|
||||
azoffname, rgoffname, azpoly=azpoly, rgpoly=rgpoly,misreg=False)
|
||||
|
||||
imageSlc2 = os.path.join(self.insar.splitSpectrumDirname, self.insar.highBandSlcDirname,
|
||||
|
@ -132,7 +150,7 @@ def runResampleSubbandSlc(self, misreg=False):
|
|||
wvlH = self.insar.highBandRadarWavelength
|
||||
coregDir = os.path.join(self.insar.coregDirname, self.insar.highBandSlcDirname)
|
||||
|
||||
highbandCoregFilename = resampleSlc(masterFrame, slaveFrame, imageSlc2, wvlH, coregDir,
|
||||
highbandCoregFilename = resampleSlc(self,masterFrame, slaveFrame, imageSlc2, wvlH, coregDir,
|
||||
azoffname, rgoffname, azpoly=azpoly, rgpoly=rgpoly, misreg=False)
|
||||
|
||||
self.insar.lowBandSlc2 = lowbandCoregFilename
|
||||
|
|
Loading…
Reference in New Issue