69 lines
1.5 KiB
Python
69 lines
1.5 KiB
Python
#
|
|
# Author: Piyush Agram
|
|
# Copyright 2016
|
|
#
|
|
|
|
import logging
|
|
import isceobj
|
|
import mroipac
|
|
import os
|
|
import numpy as np
|
|
from isceobj.Util.decorators import use_api
|
|
|
|
logger = logging.getLogger('isce.grdsar.looks')
|
|
|
|
|
|
|
|
def takeLooks(inimg, alks, rlks):
|
|
'''
|
|
Take looks.
|
|
'''
|
|
|
|
from mroipac.looks.Looks import Looks
|
|
|
|
img = isceobj.createImage()
|
|
img.load(inimg + '.xml')
|
|
img.setAccessMode('READ')
|
|
|
|
spl = os.path.splitext(inimg)
|
|
ext = '.{0}alks_{1}rlks'.format(alks, rlks)
|
|
outfile = spl[0] + ext + spl[1]
|
|
|
|
|
|
lkObj = Looks()
|
|
lkObj.setDownLooks(alks)
|
|
lkObj.setAcrossLooks(rlks)
|
|
lkObj.setInputImage(img)
|
|
lkObj.setOutputFilename(outfile)
|
|
lkObj.looks()
|
|
|
|
return outfile
|
|
|
|
|
|
def runLooks(self):
|
|
'''
|
|
Make sure that a DEM is available for processing the given data.
|
|
'''
|
|
|
|
refPol = self._grd.polarizations[0]
|
|
reference = self._grd.loadProduct( os.path.join(self._grd.outputFolder, 'beta_{0}.xml'.format(refPol)))
|
|
|
|
|
|
azlooks, rglooks = self._grd.getLooks( self.posting, reference.groundRangePixelSize, reference.azimuthPixelSize, self.numberAzimuthLooks, self.numberRangeLooks)
|
|
|
|
|
|
if (azlooks == 1) and (rglooks == 1):
|
|
return
|
|
|
|
slantRange = False
|
|
for pol in self._grd.polarizations:
|
|
inname = os.path.join( self._grd.outputFolder, 'beta_{0}.img'.format(pol) )
|
|
takeLooks(inname, azlooks, rglooks)
|
|
|
|
if not slantRange:
|
|
inname = reference.slantRangeImage.filename
|
|
takeLooks(inname, azlooks, rglooks)
|
|
slantRange = True
|
|
|
|
return
|