44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
|
#!/usr/bin/env python3
|
||
|
|
||
|
import numpy as np
|
||
|
import isce
|
||
|
import pickle
|
||
|
import argparse
|
||
|
import datetime
|
||
|
|
||
|
def cmdLineParse():
|
||
|
|
||
|
parser =argparse.ArgumentParser(description='Fix SLC pickle file.')
|
||
|
parser.add_argument('-i', dest='infile', type=str, required=True,
|
||
|
help='Pickle file to fix')
|
||
|
parser.add_argument('-a', dest='azoffset', type=float, required=True,
|
||
|
help='Azimuth offset in pixels')
|
||
|
parser.add_argument('-r', dest='rgoffset', type=float, required=True,
|
||
|
help='Range offset in pixels')
|
||
|
|
||
|
return parser.parse_args()
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
|
||
|
inps = cmdLineParse()
|
||
|
|
||
|
with open(inps.infile, 'rb') as f:
|
||
|
data = pickle.load(f)
|
||
|
|
||
|
prf = data.getInstrument().getPulseRepetitionFrequency()
|
||
|
deltat = datetime.timedelta(seconds = inps.azoffset/prf)
|
||
|
|
||
|
data.sensingStart += deltat
|
||
|
data.sensingStop += deltat
|
||
|
data.sensingMid += deltat
|
||
|
|
||
|
|
||
|
dr = data.getInstrument().getRangePixelSize()
|
||
|
|
||
|
print(prf, dr)
|
||
|
data.startingRange += inps.rgoffset * dr
|
||
|
|
||
|
|
||
|
with open(inps.infile, 'wb') as f:
|
||
|
pickle.dump(data,f)
|