aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Garlick <pgarlick@tourbillion-technology.com>2020-07-10 12:45:10 +0100
committerPaul Garlick <pgarlick@tourbillion-technology.com>2020-07-10 12:45:10 +0100
commit3f85ee2f0e41d1f2e8771c7f3d7ee8ac12f09ba3 (patch)
tree62006ad6ec4acf0f4fef213c0bf8bccaed1df975
parent1f18c6f43b3c41537548e8c01b0a6fa58bd51f21 (diff)
downloadfullSWOF-utils-3f85ee2f0e41d1f2e8771c7f3d7ee8ac12f09ba3.tar.gz
python: slope.py: Use cell size in polyfit and plot functions.
* python/slope.py (plot_curve)[PX]: New argument.
-rwxr-xr-xpython/slope.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/python/slope.py b/python/slope.py
index 0bf99b3..cd1dea7 100755
--- a/python/slope.py
+++ b/python/slope.py
@@ -122,7 +122,11 @@ def detach_display():
fig.canvas.callbacks.disconnect(cid)
#print(xMarker)
-def plot_curve():
+def plot_curve(PX):
+ """
+ Fit straight line to channel elevation data. Pixel size PX is
+ used to convert pixel indices to co-ordinate values.
+ """
# sort markers by y value
#yx = list(zip(yMarker, xMarker))
#yx.sort()
@@ -156,13 +160,13 @@ def plot_curve():
# Add to list. Repeat.
# Fit with polyfit
- m, c = np.polyfit([499.75 - y*0.5 for y in ych], zch, 1)
+ m, c = np.polyfit([499.75 - y*PX for y in ych], zch, 1)
print('gradient =', m, 'intercept =', c)
fig, ax = plt.subplots()
- line1, = ax.plot([499.75 - y*0.5 for y in ych], zch)
- line2, = ax.plot([499.75 - y*0.5 for y in ych],
- [c + m*499.75 - m*y*0.5 for y in ych], '--')
+ line1, = ax.plot([499.75 - y*PX for y in ych], zch)
+ line2, = ax.plot([499.75 - y*PX for y in ych],
+ [c + m*499.75 - m*y*PX for y in ych], '--')
ax.set_xlabel('Distance / m')
ax.set_ylabel('Height / m')
ax.set_title('Channel profile')
@@ -206,7 +210,7 @@ while (True):
elif(input_str == "m"):
detach_display()
elif(input_str == "p"):
- plot_curve()
+ plot_curve(DY)
elif(input_str == "s"):
save_xyz()