From 5b3c95a4fc6e3bf7335584526bdf9d82f2a7ce78 Mon Sep 17 00:00:00 2001 From: sfop Date: Fri, 17 Jun 2016 11:09:38 +0200 Subject: [PATCH] Closedown --- script/local.py | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/script/local.py b/script/local.py index e022b07..8e3f8b5 100755 --- a/script/local.py +++ b/script/local.py @@ -146,4 +146,44 @@ add_device(Sinusoid("bpm_q"), True) add_device(Sinusoid("center_x"), True) add_device(Sinusoid("center_y"), True) center_x.setPolling(100) -center_y.setPolling(100) \ No newline at end of file +center_y.setPolling(100) + + +#Convex hull plots +def clear_convex_hull_plot(title): + plots = get_plots(title = title) + if len(plots)>0: + plots[0].clear() + +def add_convex_hull_plot(title, x,y, name=None, clear = False): + plots = get_plots(title = title) + p = None + if len(plots)==0: + p = plot(None,name=name, title = title)[0] + p.getAxis(p.AxisId.X).setRange(-50,150) + p.getAxis(p.AxisId.Y).setRange(-50,150) + p.setLegendVisible(True) + else: + p = plots[0] + if clear: + p.clear() + p.addSeries(LinePlotSeries(name)) + s = p.getSeries(name) + s.setLinesVisible(False) + s.setPointSize(3) + s.setData(x, y) + + #Convex Hull + #In the first time the plot shows, it takes some time for the color to be assigned + while s.color is None: + time.sleep(0.001) + hull = LinePlotSeries(name + " Hull", s.color) + p.addSeries(hull) + #Bounding box + #x1,x2,y1,y2 = min(x), max(x), min(y), max(y) + #(hx,hy) = ([x1,x2, x2, x1, x1], [y1, y1, y2, y2, y1]) + (hx,hy) = convex_hull(x=x, y=y) + hx.append(hx[0]); hy.append(hy[0]) + hull.setLineWidth(2) + hull.setData(hx,hy) + hull.setColor(s.color)