commit
3f82b2cfe9
|
@ -430,11 +430,16 @@ def slcStack(inps, acquisitionDates, stackMasterDate, slaveDates, safe_dict, upd
|
||||||
#############################
|
#############################
|
||||||
i=0
|
i=0
|
||||||
|
|
||||||
|
if not updateStack:
|
||||||
|
i += 1
|
||||||
|
runObj = run()
|
||||||
|
runObj.configure(inps, 'run_' + str(i) + "_unpack_topo_master")
|
||||||
|
runObj.unpackStackMasterSLC(safe_dict)
|
||||||
|
runObj.finalize()
|
||||||
|
|
||||||
i+=1
|
i+=1
|
||||||
runObj = run()
|
runObj = run()
|
||||||
runObj.configure(inps, 'run_' + str(i) + "_unpack_slc_topo_master")
|
runObj.configure(inps, 'run_' + str(i) + "_unpack_slave_slc")
|
||||||
if not updateStack:
|
|
||||||
runObj.unpackStackMasterSLC(safe_dict)
|
|
||||||
runObj.unpackSlavesSLC(stackMasterDate, slaveDates, safe_dict)
|
runObj.unpackSlavesSLC(stackMasterDate, slaveDates, safe_dict)
|
||||||
runObj.finalize()
|
runObj.finalize()
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,8 @@ import sys
|
||||||
import s1a_isce_utils as ut
|
import s1a_isce_utils as ut
|
||||||
from isceobj.Planet.Planet import Planet
|
from isceobj.Planet.Planet import Planet
|
||||||
from zerodop.topozero import createTopozero
|
from zerodop.topozero import createTopozero
|
||||||
|
import multiprocessing as mp
|
||||||
|
|
||||||
|
|
||||||
def createParser():
|
def createParser():
|
||||||
parser = argparse.ArgumentParser( description='Generates lat/lon/h and los for each pixel')
|
parser = argparse.ArgumentParser( description='Generates lat/lon/h and los for each pixel')
|
||||||
|
@ -30,6 +32,49 @@ def cmdLineParse(iargs=None):
|
||||||
return parser.parse_args(args=iargs)
|
return parser.parse_args(args=iargs)
|
||||||
|
|
||||||
|
|
||||||
|
def call_topo(input):
|
||||||
|
|
||||||
|
(dirname, demImage, master, ind) = input
|
||||||
|
|
||||||
|
burst = master.bursts[ind]
|
||||||
|
latname = os.path.join(dirname, 'lat_%02d.rdr' % (ind + 1))
|
||||||
|
lonname = os.path.join(dirname, 'lon_%02d.rdr' % (ind + 1))
|
||||||
|
hgtname = os.path.join(dirname, 'hgt_%02d.rdr' % (ind + 1))
|
||||||
|
losname = os.path.join(dirname, 'los_%02d.rdr' % (ind + 1))
|
||||||
|
maskname = os.path.join(dirname, 'shadowMask_%02d.rdr' % (ind + 1))
|
||||||
|
incname = os.path.join(dirname, 'incLocal_%02d.rdr' % (ind + 1))
|
||||||
|
#####Run Topo
|
||||||
|
planet = Planet(pname='Earth')
|
||||||
|
topo = createTopozero()
|
||||||
|
topo.slantRangePixelSpacing = burst.rangePixelSize
|
||||||
|
topo.prf = 1.0 / burst.azimuthTimeInterval
|
||||||
|
topo.radarWavelength = burst.radarWavelength
|
||||||
|
topo.orbit = burst.orbit
|
||||||
|
topo.width = burst.numberOfSamples
|
||||||
|
topo.length = burst.numberOfLines
|
||||||
|
topo.wireInputPort(name='dem', object=demImage)
|
||||||
|
topo.wireInputPort(name='planet', object=planet)
|
||||||
|
topo.numberRangeLooks = 1
|
||||||
|
topo.numberAzimuthLooks = 1
|
||||||
|
topo.lookSide = -1
|
||||||
|
topo.sensingStart = burst.sensingStart
|
||||||
|
topo.rangeFirstSample = burst.startingRange
|
||||||
|
topo.demInterpolationMethod = 'BIQUINTIC'
|
||||||
|
topo.latFilename = latname
|
||||||
|
topo.lonFilename = lonname
|
||||||
|
topo.heightFilename = hgtname
|
||||||
|
topo.losFilename = losname
|
||||||
|
topo.maskFilename = maskname
|
||||||
|
topo.incFilename = incname
|
||||||
|
topo.topo()
|
||||||
|
|
||||||
|
bbox = [topo.minimumLatitude, topo.maximumLatitude, topo.minimumLongitude, topo.maximumLongitude]
|
||||||
|
|
||||||
|
topo = None
|
||||||
|
|
||||||
|
return bbox
|
||||||
|
|
||||||
|
|
||||||
def main(iargs=None):
|
def main(iargs=None):
|
||||||
|
|
||||||
inps = cmdLineParse(iargs)
|
inps = cmdLineParse(iargs)
|
||||||
|
@ -40,6 +85,8 @@ def main(iargs=None):
|
||||||
demImage.load(inps.dem + '.xml')
|
demImage.load(inps.dem + '.xml')
|
||||||
|
|
||||||
boxes = []
|
boxes = []
|
||||||
|
inputs = []
|
||||||
|
|
||||||
for swath in swathList:
|
for swath in swathList:
|
||||||
master = ut.loadProduct(os.path.join(inps.master , 'IW{0}.xml'.format(swath)))
|
master = ut.loadProduct(os.path.join(inps.master , 'IW{0}.xml'.format(swath)))
|
||||||
|
|
||||||
|
@ -51,50 +98,20 @@ def main(iargs=None):
|
||||||
else:
|
else:
|
||||||
os.makedirs(dirname)
|
os.makedirs(dirname)
|
||||||
|
|
||||||
|
|
||||||
###For each burst
|
|
||||||
for ind in range(master.numberOfBursts):
|
for ind in range(master.numberOfBursts):
|
||||||
burst = master.bursts[ind]
|
inputs.append((dirname, demImage, master, ind))
|
||||||
|
|
||||||
latname = os.path.join(dirname, 'lat_%02d.rdr'%(ind+1))
|
pool = mp.Pool(mp.cpu_count())
|
||||||
lonname = os.path.join(dirname, 'lon_%02d.rdr'%(ind+1))
|
results = pool.map(call_topo, inputs)
|
||||||
hgtname = os.path.join(dirname, 'hgt_%02d.rdr'%(ind+1))
|
pool.close()
|
||||||
losname = os.path.join(dirname, 'los_%02d.rdr'%(ind+1))
|
|
||||||
maskname = os.path.join(dirname, 'shadowMask_%02d.rdr'%(ind+1))
|
|
||||||
incname = os.path.join(dirname, 'incLocal_%02d.rdr'%(ind+1))
|
|
||||||
#####Run Topo
|
|
||||||
planet = Planet(pname='Earth')
|
|
||||||
topo = createTopozero()
|
|
||||||
topo.slantRangePixelSpacing = burst.rangePixelSize
|
|
||||||
topo.prf = 1.0/burst.azimuthTimeInterval
|
|
||||||
topo.radarWavelength = burst.radarWavelength
|
|
||||||
topo.orbit = burst.orbit
|
|
||||||
topo.width = burst.numberOfSamples
|
|
||||||
topo.length = burst.numberOfLines
|
|
||||||
topo.wireInputPort(name='dem', object=demImage)
|
|
||||||
topo.wireInputPort(name='planet', object=planet)
|
|
||||||
topo.numberRangeLooks = 1
|
|
||||||
topo.numberAzimuthLooks = 1
|
|
||||||
topo.lookSide = -1
|
|
||||||
topo.sensingStart = burst.sensingStart
|
|
||||||
topo.rangeFirstSample = burst.startingRange
|
|
||||||
topo.demInterpolationMethod='BIQUINTIC'
|
|
||||||
topo.latFilename = latname
|
|
||||||
topo.lonFilename = lonname
|
|
||||||
topo.heightFilename = hgtname
|
|
||||||
topo.losFilename = losname
|
|
||||||
topo.maskFilename = maskname
|
|
||||||
topo.incFilename = incname
|
|
||||||
topo.topo()
|
|
||||||
|
|
||||||
bbox = [topo.minimumLatitude, topo.maximumLatitude, topo.minimumLongitude, topo.maximumLongitude]
|
for bbox in results:
|
||||||
boxes.append(bbox)
|
boxes.append(bbox)
|
||||||
|
|
||||||
topo = None
|
|
||||||
|
|
||||||
boxes = np.array(boxes)
|
boxes = np.array(boxes)
|
||||||
bbox = [np.min(boxes[:,0]), np.max(boxes[:,1]), np.min(boxes[:,2]), np.max(boxes[:,3])]
|
bbox = [np.min(boxes[:,0]), np.max(boxes[:,1]), np.min(boxes[:,2]), np.max(boxes[:,3])]
|
||||||
print ('bbox : ',bbox)
|
print ('bbox : ',bbox)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue