Python wrapper for running instances of trisurf-ng
Samo Penic
2017-09-17 a4f8eb21f85326596a491b39e0330882ee8017f0
trisurf/analyses.py
@@ -1,17 +1,22 @@
from . import trisurf
def analysis(analysis_name='unnamed_analysis'):
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
   return analysis_decorator
   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('demo')
@analysis
def demo(run, **kwargs):
   host=kwargs.get('host', None)
   print("Demo analysis")
@@ -31,7 +36,7 @@
   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=[]   
@@ -61,7 +66,7 @@
# these functions should be wrapped
# -------------------------------
@analysis('plotColumnFromPostProcess')
def plotColumnFromPostProcess(run, filename='data_tspoststat.csv', column='hbar', **kwargs):
def plotColumnFromPostProcess(run, filename='poststat.csv', column='hbar', **kwargs):
   import matplotlib.pyplot as plt
   def smooth(y, box_pts):