2019-01-16 19:40:08 +00:00
|
|
|
#!/usr/bin/env python3
|
|
|
|
|
|
|
|
import numpy as np
|
|
|
|
import argparse
|
|
|
|
import os
|
|
|
|
import isce
|
|
|
|
import isceobj
|
|
|
|
from mroipac.baseline.Baseline import Baseline
|
|
|
|
from isceobj.Planet.Planet import Planet
|
|
|
|
import datetime
|
|
|
|
import shelve
|
|
|
|
|
|
|
|
def cmdLineParse():
|
|
|
|
'''
|
|
|
|
Command line parser.
|
|
|
|
'''
|
|
|
|
|
|
|
|
parser = argparse.ArgumentParser( description='Generate offset field between two Sentinel swaths')
|
2020-07-02 19:40:49 +00:00
|
|
|
parser.add_argument('-m', type=str, dest='reference', required=True,
|
|
|
|
help='Directory with the reference image')
|
|
|
|
parser.add_argument('-s', type=str, dest='secondary', required=True,
|
|
|
|
help='Directory with the secondary image')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
return parser.parse_args()
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
'''
|
|
|
|
Generate offset fields burst by burst.
|
|
|
|
'''
|
|
|
|
|
|
|
|
inps = cmdLineParse()
|
|
|
|
|
|
|
|
try:
|
2020-07-02 19:40:49 +00:00
|
|
|
mdb = shelve.open( os.path.join(inps.reference, 'data'), flag='r')
|
2019-01-16 19:40:08 +00:00
|
|
|
except:
|
2020-07-02 19:40:49 +00:00
|
|
|
mdb = shelve.open( os.path.join(inps.reference, 'raw'), flag='r')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
mFrame = mdb['frame']
|
|
|
|
|
|
|
|
try:
|
2020-07-02 19:40:49 +00:00
|
|
|
sdb = shelve.open( os.path.join(inps.secondary, 'data'), flag='r')
|
2019-01-16 19:40:08 +00:00
|
|
|
except:
|
2020-07-02 19:40:49 +00:00
|
|
|
sdb = shelve.open( os.path.join(inps.secondary, 'raw'), flag='r')
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
|
|
|
|
sFrame = sdb['frame']
|
|
|
|
|
|
|
|
|
|
|
|
bObj = Baseline()
|
|
|
|
bObj.configure()
|
2020-07-02 19:40:49 +00:00
|
|
|
bObj.wireInputPort(name='referenceFrame', object=mFrame)
|
|
|
|
bObj.wireInputPort(name='secondaryFrame', object=sFrame)
|
2019-01-16 19:40:08 +00:00
|
|
|
|
|
|
|
bObj.baseline()
|
|
|
|
|
|
|
|
print('Baseline at top/bottom: %f %f'%(bObj.pBaselineTop,bObj.pBaselineBottom))
|
|
|
|
|
|
|
|
mdb.close()
|
|
|
|
sdb.close()
|