コード例 #1
0
def runUnwrapIcu(infile, outfile):
    from mroipac.icu.Icu import Icu
    #Setup images
    #ampImage
   # ampImage = obj.insar.resampAmpImage.copy(access_mode='read')
   # width = self.ampImage.getWidth()

    img = isceobj.createImage()
    img.load(infile + '.xml')


    width      = img.getWidth()

    #intImage
    intImage = isceobj.createIntImage()
    intImage.initImage(infile, 'read', width)
    intImage.createImage()
   

    #unwImage
    unwImage = isceobj.Image.createImage()
    unwImage.setFilename(outfile)
    unwImage.setWidth(width)
    unwImage.imageType = 'unw'
    unwImage.bands = 2
    unwImage.scheme = 'BIL'
    unwImage.dataType = 'FLOAT'
    unwImage.setAccessMode('write')
    unwImage.createImage()
    
    #unwrap with icu
    icuObj = Icu()
    icuObj.filteringFlag = False      
    icuObj.useAmplitudeFlag = False
    icuObj.singlePatch = True
    icuObj.initCorrThreshold = 0.1
    icuObj.icu(intImage=intImage, unwImage = unwImage)

    #ampImage.finalizeImage()
    intImage.finalizeImage()
    unwImage.finalizeImage()
    unwImage.renderHdr()
コード例 #2
0
def runUnwrap(self, igramSpectrum="full"):
    '''Specific connector from an insarApp object to a Snaphu object.'''

    if igramSpectrum == "full":
        ifgDirname = self.insar.ifgDirname

    elif igramSpectrum == "low":
        if not self.doDispersive:
            print(
                'Estimating dispersive phase not requested ... skipping sub-band interferogram unwrapping'
            )
            return
        ifgDirname = os.path.join(self.insar.ifgDirname,
                                  self.insar.lowBandSlcDirname)

    elif igramSpectrum == "high":
        if not self.doDispersive:
            print(
                'Estimating dispersive phase not requested ... skipping sub-band interferogram unwrapping'
            )
            return
        ifgDirname = os.path.join(self.insar.ifgDirname,
                                  self.insar.highBandSlcDirname)

    wrapName = os.path.join(ifgDirname, 'filt_' + self.insar.ifgFilename)

    if '.flat' in wrapName:
        unwrapName = wrapName.replace('.flat', '.unw')
    elif '.int' in wrapName:
        unwrapName = wrapName.replace('.int', '.unw')
    else:
        unwrapName = wrapName + '.unw'

    img1 = isceobj.createImage()
    img1.load(wrapName + '.xml')
    width = img1.getWidth()

    # Get amp image name
    originalWrapName = os.path.join(ifgDirname, self.insar.ifgFilename)
    if '.flat' in originalWrapName:
        resampAmpImage = originalWrapName.replace('.flat', '.amp')
    elif '.int' in originalWrapName:
        resampAmpImage = originalWrapName.replace('.int', '.amp')
    else:
        resampAmpImage = originalWrapName + '.amp'

    ampImage = isceobj.createAmpImage()
    ampImage.setWidth(width)
    ampImage.setFilename(resampAmpImage)
    ampImage.setAccessMode('read')
    ampImage.createImage()
    #width = ampImage.getWidth()

    #intImage
    intImage = isceobj.createIntImage()
    intImage.initImage(wrapName, 'read', width)
    intImage.createImage()

    #unwImage
    unwImage = isceobj.Image.createUnwImage()
    unwImage.setFilename(unwrapName)
    unwImage.setWidth(width)
    unwImage.imageType = 'unw'
    unwImage.bands = 2
    unwImage.scheme = 'BIL'
    unwImage.dataType = 'FLOAT'
    unwImage.setAccessMode('write')
    unwImage.createImage()

    icuObj = Icu(name='insarapp_icu')
    icuObj.configure()
    icuObj.filteringFlag = False
    #icuObj.useAmplitudeFlag = False
    icuObj.singlePatch = True
    icuObj.initCorrThreshold = 0.1

    icuObj.icu(intImage=intImage, ampImage=ampImage, unwImage=unwImage)
    #At least one can query for the name used
    self.insar.connectedComponentsFilename = icuObj.conncompFilename
    ampImage.finalizeImage()
    intImage.finalizeImage()
    unwImage.finalizeImage()
    unwImage.renderHdr()