Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 6 additions & 9 deletions applications/imageMath.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ def parseInputFile(varname, args):

if (inarg != inarg.lower()):
raise IOError('Input variable names should be lower case. \n' +
'Invalud variable name: %s'%varname)
'Invalid variable name: %s'%varname)

#####Create a simple parser
parser = IML.customArgumentParser(description='Parser for band math.',
Expand Down Expand Up @@ -270,15 +270,10 @@ def mergeBbox(inlist):

ref = np.array(inlist[0])

diff = np.zeros((len(inlist), 4))
for ind in range(1, len(inlist)):
cand = np.array(inlist[ind])
diff[ind,: ] = cand - ref

diff = np.max(np.abs(diff), axis=0)
diff = np.max(np.abs(np.array(inlist) - ref), axis=0)

if np.any(diff > 1.0e-5):
print('Bounding boxes dont match. Not adding bbox info.')
print("Bounding boxes don't match. Not adding bbox info.")
return None
else:
return ref
Expand All @@ -294,6 +289,7 @@ def main(args, files):
#######Determine number of input and output bands
bandList = []
iMath['equations'] = []
compiled_eqs = []
for ii,expr in enumerate(args.equation.split(';')):

#####Now parse the equation to get the file names used
Expand All @@ -304,6 +300,7 @@ def main(args, files):
logger.debug('Known variables: ' + str(known))

iMath['equations'].append(expr)
compiled_eqs.append(compile(expr, '<string>', 'eval'))
bandList = bandList + bands

bandList = IML.uniqueList(bandList)
Expand Down Expand Up @@ -428,7 +425,7 @@ def main(args, files):
dataDict[band] = bands[band][lineno,:]

####For each output band
for kk,expr in enumerate(iMath['equations']):
for kk,expr in enumerate(compiled_eqs):
res = eval(expr, dataDict)
outBands[kk][lineno,:] = res

Expand Down