From 6815ffe6b95fed4fcb813936064d819410d33114 Mon Sep 17 00:00:00 2001
From: Samo Penic <samo.penic@gmail.com>
Date: Tue, 13 Aug 2019 08:07:17 +0000
Subject: [PATCH] Merge conflicts fixed

---
 trisurf/analyses.py |   31 ++++++++++++++++++++++++-------
 1 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/trisurf/analyses.py b/trisurf/analyses.py
index 7b061f2..ae4dce7 100644
--- a/trisurf/analyses.py
+++ b/trisurf/analyses.py
@@ -1,6 +1,22 @@
 from . import trisurf
 
 
+def analysis(*args):
+	"""Decorator for adding the analysis functions to function lists"""
+	def analysis_decorator(analysis_function):
+		trisurf._analysis_list[analysis_name]=analysis_function
+		def wrapper(*args, **kwargs):
+			analysis_function(*args,**kwargs)
+		return wrapper
+	if len(args) == 1 and callable(args[0]): #no arguments
+		analysis_name=args[0].__name__
+		return analysis_decorator(args[0])
+	else:
+		analysis_name=args[0]
+		return analysis_decorator
+
+
+@analysis
 def demo(run, **kwargs):
 	host=kwargs.get('host', None)
 	print("Demo analysis")
@@ -14,12 +30,13 @@
 
 
 # can be wrapped to specify scalar_field)
-def plotrunningavginteractive(run, scalar_field='vertices_idx', **kwargs):
+@analysis('plotrunningavginteractive')
+def plotrunningavginteractive(run, scalar_field='hbar', ylabel="1/n sum_i=niter^n(hbar_i)", **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()
+	table=trisurf.Statistics(run.Dir.fullpath(),filename='poststat.csv').getTable()
 	def running_avg(col):
 		import numpy as np
 		avg=[]	
@@ -30,11 +47,11 @@
 		vtk.Renderer(kwargs.get('args', None),kwargs.get('host',None),run, timestep=n,scalar_field=scalar_field)
 
 	fig=plt.figure(1)
-	ra=running_avg(table['hbar'])
-	l=len(table['hbar'])
+	ra=running_avg(table[scalar_field])
+	l=len(table[scalar_field])
 	plt.plot(ra)
 	plt.title('Running average')
-	plt.ylabel('1/n sum_i=niter^n(hbar_i)')
+	plt.ylabel(ylabel)
 	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))
@@ -48,8 +65,8 @@
 # -------------------------------
 # these functions should be wrapped
 # -------------------------------
-
-def plotColumnFromPostProcess(run, filename='data_tspoststat.csv', column='hbar', **kwargs):
+@analysis('plotColumnFromPostProcess')
+def plotColumnFromPostProcess(run, filename='poststat.csv', column='hbar', **kwargs):
 	import matplotlib.pyplot as plt
 
 	def smooth(y, box_pts):

--
Gitblit v1.9.3