From 3ccf5d1c706eecc15da8d17ca381706892cb9f76 Mon Sep 17 00:00:00 2001 From: Samo Penic <samo.penic@gmail.com> Date: Sat, 14 Jan 2017 11:59:28 +0000 Subject: [PATCH] Spawning process for interactive VTK viewer process --- nir_log | 18 +++++++++++++++--- 1 files changed, 15 insertions(+), 3 deletions(-) diff --git a/nir_log b/nir_log index 6e896f5..34fc24b 100644 --- a/nir_log +++ b/nir_log @@ -98,8 +98,11 @@ #if return False or no return statement, the analysis will continue with next running instance in the list. if return True, the analysis will stop after this run. return False -def plotrunningavg(run, **kwargs): +def plotrunningavginteractive(run, **kwargs): import matplotlib.pyplot as plt + from trisurf import VTKRendering as vtk + import math + from multiprocessing import Process table=trisurf.Statistics(run.Dir.fullpath(),filename='data_tspoststat.csv').getTable() def running_avg(col): import numpy as np @@ -107,15 +110,24 @@ for i in range(0,len(col)): avg.append(np.average(col[:-i])) return avg + def spawned_viewer(n): + vtk.Renderer(kwargs.get('args', None),kwargs.get('host',None),run, n) + + fig=plt.figure(1) ra=running_avg(table['hbar']) plt.plot(ra) plt.title('Running average') plt.ylabel('1/n sum_i=niter^n(hbar_i)') plt.xlabel('n') + def onclick(event): + print('button=%d, x=%d, y=%d, xdata=%f, ydata=%f' % (event.button, event.x, event.y, event.xdata, event.ydata)) + p=Process(target=spawned_viewer, args=(math.floor(event.xdata)-1,)) + p.start() + cid = fig.canvas.mpl_connect('button_press_event', onclick) plt.show() - + plt.close(1) #start manager with configured runs -tsmgr.start(Runs, analyses={'analyze1':analyze, 'plotrunningavg':plotrunningavg, 'plothbar':plothbar}) +tsmgr.start(Runs, analyses={'analyze1':analyze, 'plotrunningavg':plotrunningavginteractive, 'plothbar':plothbar}) #statistics.combine(Runs) #statistics.combine([Runs[1],Runs[2]]) -- Gitblit v1.9.3