diff --git a/components/isceobj/StripmapProc/runInterferogram.py b/components/isceobj/StripmapProc/runInterferogram.py index b95fd30..71e3ddd 100644 --- a/components/isceobj/StripmapProc/runInterferogram.py +++ b/components/isceobj/StripmapProc/runInterferogram.py @@ -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.exp(cJ*fact*rng2) + intf = np.memmap(ifgFilename+'.full',dtype=np.complex64,mode='r+',shape=(length,width)) + + 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"): diff --git a/components/isceobj/StripmapProc/runResampleSubbandSlc.py b/components/isceobj/StripmapProc/runResampleSubbandSlc.py index e3f7ff7..2cd7a12 100644 --- a/components/isceobj/StripmapProc/runResampleSubbandSlc.py +++ b/components/isceobj/StripmapProc/runResampleSubbandSlc.py @@ -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() - - flatten = True +# 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) - rgoffname = os.path.join( self.insar.offsetsDirname, self.insar.rangeOffsetFilename) + 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